[
  {
    "path": ".gitignore",
    "content": "\n.idea/\n.vscode/\nassets/css/style.css.map\nassets/css/style.css.map\n"
  },
  {
    "path": "404.php",
    "content": "<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['page'] = '404';\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container container-404 main-content\">\n        <h1>404</h1>\n        <h2 role=\"alert\" class=\"mb-5\"><?php echo $GLOBALS['t']['page404']['thePageYouAreLookingForDoesNotExist']; ?></h2>\n        <div class=\"search-box row\">\n            <div class=\"col-lg-6 col-md-8 col-sm-10 col-12 offset-lg-3 offset-md-2 offset-sm-1\">\n                <form action=\"<?php $this->options->siteUrl(); ?>\" method=\"post\" role=\"search\">\n                    <div class=\"input-group\">\n                        <input type=\"search\" class=\"form-control form-control-md\" placeholder=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" aria-label=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" aria-describedby=\"button-addon2\" required=\"required\" name=\"s\">\n                        <div class=\"input-group-append\">\n                            <button type=\"submit\" class=\"search-btn btn btn-md\" aria-label=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" title=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\">\n                                <span class=\"icon-search\"></span>\n                            </button>\n                        </div>\n                    </div>\n                </form>\n            </div>\n        </div>\n        <div class=\"text-center\">\n            <a href=\"<?php $this->options->siteUrl(); ?>\" class=\"btn to-home-link\"><?php echo $GLOBALS['t']['page404']['goBackToHomepage']; ?></a>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2019 changbin1997\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "![MWordStar主题在各种设备的截图](screenshot/home-page.jpeg)\n\n这是一套简洁的 [Typecho](https://typecho.org/) 双栏博客主题，也是 [我的博客](https://www.misterma.com/) 之前使用的主题。\n\n我现在使用的主题是 [Facile](https://github.com/changbin1997/Facile) ，有兴趣的话也可以访问 [我的博客](https://www.misterma.com/) 或 [Github](https://github.com/changbin1997/Facile) 查看。\n\n主题在线演示地址：[https://changbin1997.github.io/MWordStar/web/](https://changbin1997.github.io/MWordStar/web/)\n\n主题演示站的页面都是静态页面，不能发评论和点赞。因为演示站不会随着主题一起更新，所以你在演示站看到的效果可能和最新版本的主题也会有些不一样。\n\n主题下载地址：[https://github.com/changbin1997/MWordStar/releases](https://github.com/changbin1997/MWordStar/releases)\n\n主题使用说明：[https://mwordstar.misterma.com/](https://mwordstar.misterma.com/)\n\n目前主题没有相关的交流群，在使用过程中遇到问题可以直接到 [我的博客](https://www.misterma.com/archives/812/) 留言，也可以到主题 Github 的 [issues](https://github.com/changbin1997/MWordStar/issues) 反馈，我的博客和 Github issues 都有回复邮件通知。\n\n下面是主题首页截图：\n\n![MWordStar主题首页截图1](screenshot/home-page.png)\n\n主题元素包含圆角和直角两种风格，您可以根据喜好在主题外观设置中切换，下面是直角风格的首页截图：\n\n![MWordStar直角风格首页截图](screenshot/right-angle.png)\n\n小头图模式：\n\n![MWordStar小头图模式截图](screenshot/small.png)\n\n也可以给文章设置单独的头图样式：\n\n![MWordStar大头图和小头图搭配使用的截图](screenshot/large-and-small.png)\n\n深色模式：\n\n![MWordStar深色模式截图](screenshot/dark-mode.png)\n\n主题目前包含 6 种配色：\n\n![MWordStar 6种不同配色的截图](screenshot/all-color.png)\n\n## 特点和功能\n\n* 响应式设计\n* 无障碍适配（Accessibility）\n* 6 种不同风格的配色\n* 两种不同风格的元素\n* 多套自定义页面模板\n* 代码高亮\n* 丰富的设置选项\n* 良好的 SEO 优化\n* 详细的图表统计\n* 自带文章浏览量统计和点赞功能\n* 丰富的侧边栏组件\n* 评论区自带 Emoji 表情面板\n* 支持自动根据文章中的标题生成章节目录\n* 支持图片懒加载\n* 文章支持分页显示\n* 文章列表支持多种排版组合\n* 支持 PJAX 无刷新跳转\n* 支持多语言\n* 长期维护\n* 详细的 [使用说明](https://mwordstar.misterma.com/)（必看）\n\n## 主题介绍\n\n### 外观设计\n\n因为我个人比较喜欢两栏布局，所以这个主题也使用了两栏布局的设计。\n\n### 主题依赖\n\n主题主要用到了一下几个库和框架：\n\n* [Bootstrap](https://getbootstrap.com/)  外观和布局\n* [jQuery](https://jquery.com/)  Bootstrap 依赖\n* [jquery-qrcode](https://github.com/jeromeetienne/jquery-qrcode) 一个生成二维码的 jQuery 插件\n* [highlight.js](https://highlightjs.org/)  代码高亮\n* [IcoMoon](https://icomoon.io/)  字体图标\n* [ECharts](https://github.com/apache/echarts)  生成和展示统计图表\n* [jquery-pjax](https://github.com/defunkt/jquery-pjax) 用于页面无刷新跳转\n\n其中 IcoMoon 的字体图标是可定制的，所以只包含了主题中出现的图标，字体图标的文件体积也很小。ECharts 也只包含饼图和日历图，而且只会在统计页面加载。\n\n主题的静态文件没有使用任何 CDN 地址，所有文件都放在主题的 `assets` 目录中。主题的生成目录、点赞、快速分享 之类的功能都是自己手动编写的，所以用到的 JS 库也比较少。\n\n使用 Webpack 打包的版本前台只需要加载一个 CSS 和 一个 JS 文件，所有 JS 库都打包到了 JS 中，所有 CSS 和字体图标都打包到了 CSS 中。因为用到的库比较少，而且字体图标和部分组件都是按需引入的，所以打包后的 CSS 和 JS 也比较小。\n\n如果您没有二次开发需求的话，建议下载 Webpack 打包的版本，也就是后缀包含 `bundle` 的 zip 文件。前台的 JavaScript 使用了 ES6 语法，IE 系列浏览器和一些较老的浏览器可能无法正常运行，Webpack 打包的版本使用 Babel 转换过代码，可以在 IE 和较老的浏览器上运行。\n\n### 主题安装\n\n把主题上传到 Typecho 的 `usr/themes/` 目录，然后解压，您也可以先解压在上传。\n\n解压后需要保证 `themes` 目录下 有一个 `MWordStar` 目录。\n\n登录 Typecho 的后台管理，进入 `控制台` -> `外观`，如果看到 **MWordStar** 就点击 `启用`。\n\n### 代码高亮\n\n代码高亮目前包含三套主题配色，分别是 Stack Overflow（浅色）、Github（深色）、Sunburst（高对比度）。主题支持 30 多种语言的代码高亮，详细的语言支持列表和说明可以查看 [使用说明](https://mwordstar.misterma.com/docs/doc13) 。\n\n### 友情链接\n\n友情链接分为 `全站友情链接`、`首页友情链接`、`内页友情链接`。`全站友情链接` 会在每个页面的侧边栏显示，`首页友情链接` 会在首页的侧边栏显示，`内页友情链接` 只会在 友情链接 的页面显示。\n\n如需查看友情链接的设置说明可以访问：[使用说明](https://www.misterma.com/archives/819/) 。\n\n### 文章头图\n\n文章头图可以在 首页、文章页、侧边栏 显示，您可以根据需求在主题外观设置中设置。文章头图来源支持自动获取文章的第一张图片和手动输入图片 URL。\n\n### 侧边栏\n\n下面是目前可以显示在侧边栏的组件：\n\n* 博客信息\n* 搜索\n* 最新文章\n* 最新评论\n* 文章分类\n* 标签云\n* 日历归档\n* 按月份的文章归档\n* 登录入口和 RSS\n* 友情链接\n* 文章章节目录\n* 自定义HTML\n* 语言选择\n\n侧边栏的每个组件您都可以选择开启或关闭，您还可以自定义侧边栏的组件排序顺序。\n\n### 无障碍（Accessibility）\n\n上网对于大多数人来说是一件再简单不过的事，但是对于一些身体有缺陷的残障人士来说却是一件非常困难的事。\n\n目前国内的很多网站都只注重外观，忽略了残障人士的可访问性。但是想要做好网站的用户体验，[无障碍](https://www.misterma.com/archives/264/) 适配肯定是少不了的。\n\n主题针对屏幕阅读器做了大量优化，并 在 [NVDA](http://www.nvda-project.org/) 和 [VoiceOver](https://www.apple.com/cn/accessibility/iphone/vision/) 这两款屏幕阅读器上做过测试，无论是 PC 还是移动设备都能完美朗读。主题能准确传达需要朗读的内容和信息，对于视障人群来说，使用标准的屏幕阅读器基本可以无障碍操作。\n\n主题可完美支持键盘访问，颜色对比度也符合标准。\n\n小提示：如果您是屏幕阅读器用户，为了您的浏览体验，不建议使用 IE 浏览器。\n\n### Emoji 表情\n\n主题评论区包含一个 Emoji 表情面板，您可以在后台启用或禁用。Emoji 表情面板包含 1466 个表情，这些表情都是按照分类动态加载的，您不用担心性能问题。\n\nEmoji 表情面板也进行了无障碍适配，可支持键盘访问和屏幕阅读器朗读。\n\n下面是 Emoji 表情面板的截图：\n\n![emoji面板截图](screenshot/emoji.jpeg)\n\n### 统计页\n\n主题包含一个统计页模板，您可以在后台创建页面，页面的自定义模板选择 `网站数据`，标题可以随便写，创建完成后就可以在顶部导航栏访问了。\n\n统计页包含基本的数据统计、分类文章占比图、文章更新日历图、评论动态日历图、阅读量排名前 5 的文章、评论量排名前 5 的文章。\n\n基本数据统计如下：\n\n![MWordStar 基本统计截图](screenshot/statistics.jpeg)\n\n分类占比统计图如下：\n\n![MWordStar 分类统计图](screenshot/category-distribution.png)\n\n下面是评论动态日历图：\n\n![MWordStar 评论动态日历图](screenshot/comment-activity.png)\n\n文章动态日历图和评论动态的日历图是差不多的，屏幕尺寸不同显示的月份数量也不同。\n\n下面是文章评论排名表格：\n\n![MWordStar 文章评论排名表格](screenshot/comment-statistics.jpeg)\n\n文章阅读量排名表格和评论量排名的表格也是差不多的。\n\n统计页面效果可以参考 [https://www.misterma.com/data.html](https://www.misterma.com/data.html) ，也可以直接访问 MWordStar 的静态演示站。\n\n### 兼容性\n\n主题使用了少量的 CSS3，浏览器需要达到 IE10 才能完美兼容，IE8 和 9 也能使用，但是有些页面的显示 例如代码高亮和时间线显示可能会出现稍微偏移的情况。\n\n### 插件适配\n\n因为本人很少使用插件，所以目前适配的插件比较少。\n\n下面是已适配的插件：\n\n* [Sticky](https://plugins.typecho.me/plugins/sticky.html) 文章置顶插件\n\n已适配的插件不需要到 PHP 文件中添加插件代码，没有适配的插件可能需要按照插件说明到 PHP 文件中添加相应的插件代码。\n\n## 其它\n\n主题 Github：[https://github.com/changbin1997/MWordStar](https://github.com/changbin1997/MWordStar)\n\n主题使用 [MIT License](https://github.com/changbin1997/MWordStar/blob/master/LICENSE) 开源。\n\n## 打赏支持\n\n如果感觉主题用着还可以的话，也可以扫描下方的二维码打赏，金额随意：\n\n![支付宝和微信的收款码](screenshot/qr-code.jpeg)\n\n非常感谢 ❤️\n\n下面是 [MWordStar](https://github.com/changbin1997/MWordStar) 和 [Facile](https://github.com/changbin1997/Facile) 两个主题的打赏记录：\n\n| 打赏者 | 金额（人民币） | 时间                |\n| ------ | -------------- | ------------------- |\n| *伟    | 1.00           | 2022 年 8 月 12 日  |\n| S*r    | 1.00           | 2022 年 11 月 17 日 |\n| *玥    | 10.00          | 2022 年 11 月 27 日 |\n| 0*7    | 1.00           | 2022 年 12 月 17 日 |\n| *U     | 20.00          | 2023 年 1 月 18 日  |\n| *义    | 16.80          | 2023 年 3 月 29 日  |\n| Y*a    | 10.00          | 2023 年 4 月 4 日   |\n| *行    | 8.88           | 2023 年 5 月 8 日   |\n| *华    | 8.88           | 2024 年 10 月 11 日 |\n| *王    | 6.66           | 2024 年 12 月 26 日 |\n"
  },
  {
    "path": "archive.php",
    "content": "<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['page'] = 'archive';\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container main-content\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->archiveTitle(' &raquo; ','',''); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"col-md-12 col-lg-8 col-sm-12 archives-list content-area\">\n                <div id=\"main\" class=\"archives\">\n                    <header class=\"page-header mwordstar-block\">\n                        <h1 class=\"archive-title\">\n                            <?php $this->archiveTitle(array(\n                                'category' => $GLOBALS['t']['archive']['postsUnderTheCategory'],\n                                'search' => $GLOBALS['t']['archive']['postsContainingTheKeyword'],\n                                'tag' => $GLOBALS['t']['archive']['postsTagged'],\n                                'author' => $GLOBALS['t']['archive']['postsByAuthor']\n                            ), '', ''); ?>\n                        </h1>\n                        <span><?php echo $this->getDescription(); ?></span>\n                    </header>\n                    <?php if ($this->have()): ?>\n                        <?php $this->need('components/post-list.php'); ?>\n                    <?php else: ?>\n                        <article class=\"post no-post mwordstar-block\">\n                            <h4 class=\"post-title\" role=\"alert\"><?php printf($GLOBALS['t']['archive']['noPostsFoundContaining'], '<b>' . $this->archiveTitle . '</b>') ?></h4 >\n                            <p class=\"ml-4\"><?php echo $GLOBALS['t']['archive']['youCanTryTheFollowing']; ?></p>\n                            <ol class=\"ml-1 mb-4\">\n                                <li><?php echo $GLOBALS['t']['archive']['trySearchingWithDifferentKeywords']; ?></li>\n                                <li><?php echo $GLOBALS['t']['archive']['browsePostsByCategoryInTheSectionToTheRightOrBelow']; ?></li>\n                                <li><?php echo $GLOBALS['t']['archive']['browsePostsByTagsInTheTagCloudSectionToTheRightOrBelow']; ?></li>\n                            </ol>\n                        </article>\n                    <?php endif; ?>\n                </div>\n                <nav aria-label=\"<?php echo $GLOBALS['t']['pagination']['pagination']; ?>\" class=\"pagination-nav\">\n                    <?php bootstrap4Pagination($this, $GLOBALS['t']['pagination']['previousPage'], $GLOBALS['t']['pagination']['nextPage']); ?>\n                </nav>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>"
  },
  {
    "path": "assets/css/bootstrap.css",
    "content": "/*!\n * Bootstrap v4.6.2 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors\n * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #6c757d;\n  --gray-dark: #343a40;\n  --primary: #007bff;\n  --secondary: #6c757d;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #dc3545;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n  outline: 0 !important;\n}\n\n@-webkit-keyframes spinner-border {\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes spinner-border {\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n.spinner-border {\n  display: inline-block;\n  width: 2rem;\n  height: 2rem;\n  vertical-align: -0.125em;\n  border: 0.25em solid currentcolor;\n  border-right-color: transparent;\n  border-radius: 50%;\n  -webkit-animation: .75s linear infinite spinner-border;\n  animation: .75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n  width: 1rem;\n  height: 1rem;\n  border-width: 0.2em;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  -webkit-text-decoration: underline dotted;\n  text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n  -webkit-text-decoration-skip-ink: none;\n  text-decoration-skip-ink: none;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -.25em;\n}\n\nsup {\n  top: -.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  -ms-overflow-style: scrollbar;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #6c757d;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n  text-align: -webkit-match-parent;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: 0.5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n  outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n[role=\"button\"] {\n  cursor: pointer;\n}\n\nselect {\n  word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n  cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n  cursor: pointer;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  line-height: 1.2;\n}\n\nh1, .h1 {\n  font-size: 2.5rem;\n}\n\nh2, .h2 {\n  font-size: 2rem;\n}\n\nh3, .h3 {\n  font-size: 1.75rem;\n}\n\nh4, .h4 {\n  font-size: 1.5rem;\n}\n\nh5, .h5 {\n  font-size: 1.25rem;\n}\n\nh6, .h6 {\n  font-size: 1rem;\n}\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300;\n}\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 0.875em;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline-item {\n  display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n  margin-right: 0.5rem;\n}\n\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem;\n}\n\n.blockquote-footer {\n  display: block;\n  font-size: 0.875em;\n  color: #6c757d;\n}\n\n.blockquote-footer::before {\n  content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n  max-width: 100%;\n  height: auto;\n}\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: #fff;\n  border: 1px solid #dee2e6;\n  border-radius: 0.25rem;\n  max-width: 100%;\n  height: auto;\n}\n\n.figure {\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: 90%;\n  color: #6c757d;\n}\n\ncode {\n  font-size: 87.5%;\n  color: #e83e8c;\n  word-wrap: break-word;\n}\n\na > code {\n  color: inherit;\n}\n\nkbd {\n  padding: 0.2rem 0.4rem;\n  font-size: 87.5%;\n  color: #fff;\n  background-color: #212529;\n  border-radius: 0.2rem;\n}\n\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: 700;\n}\n\npre {\n  display: block;\n  font-size: 87.5%;\n  color: #212529;\n}\n\npre code {\n  font-size: inherit;\n  color: inherit;\n  word-break: normal;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container, .container-sm {\n    max-width: 540px;\n  }\n}\n\n@media (min-width: 768px) {\n  .container, .container-sm, .container-md {\n    max-width: 720px;\n  }\n}\n\n@media (min-width: 992px) {\n  .container, .container-sm, .container-md, .container-lg {\n    max-width: 960px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .container, .container-sm, .container-md, .container-lg, .container-xl {\n    max-width: 1140px;\n  }\n}\n\n.row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col {\n  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  max-width: 100%;\n}\n\n.row-cols-1 > * {\n  -ms-flex: 0 0 100%;\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.row-cols-2 > * {\n  -ms-flex: 0 0 50%;\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.row-cols-3 > * {\n  -ms-flex: 0 0 33.333333%;\n  flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n  -ms-flex: 0 0 25%;\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.row-cols-5 > * {\n  -ms-flex: 0 0 20%;\n  flex: 0 0 20%;\n  max-width: 20%;\n}\n\n.row-cols-6 > * {\n  -ms-flex: 0 0 16.666667%;\n  flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-auto {\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: auto;\n  max-width: 100%;\n}\n\n.col-1 {\n  -ms-flex: 0 0 8.333333%;\n  flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  -ms-flex: 0 0 16.666667%;\n  flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  -ms-flex: 0 0 25%;\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  -ms-flex: 0 0 33.333333%;\n  flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  -ms-flex: 0 0 41.666667%;\n  flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  -ms-flex: 0 0 50%;\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  -ms-flex: 0 0 58.333333%;\n  flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  -ms-flex: 0 0 66.666667%;\n  flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  -ms-flex: 0 0 75%;\n  flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  -ms-flex: 0 0 83.333333%;\n  flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  -ms-flex: 0 0 91.666667%;\n  flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  -ms-flex: 0 0 100%;\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  -ms-flex-order: -1;\n  order: -1;\n}\n\n.order-last {\n  -ms-flex-order: 13;\n  order: 13;\n}\n\n.order-0 {\n  -ms-flex-order: 0;\n  order: 0;\n}\n\n.order-1 {\n  -ms-flex-order: 1;\n  order: 1;\n}\n\n.order-2 {\n  -ms-flex-order: 2;\n  order: 2;\n}\n\n.order-3 {\n  -ms-flex-order: 3;\n  order: 3;\n}\n\n.order-4 {\n  -ms-flex-order: 4;\n  order: 4;\n}\n\n.order-5 {\n  -ms-flex-order: 5;\n  order: 5;\n}\n\n.order-6 {\n  -ms-flex-order: 6;\n  order: 6;\n}\n\n.order-7 {\n  -ms-flex-order: 7;\n  order: 7;\n}\n\n.order-8 {\n  -ms-flex-order: 8;\n  order: 8;\n}\n\n.order-9 {\n  -ms-flex-order: 9;\n  order: 9;\n}\n\n.order-10 {\n  -ms-flex-order: 10;\n  order: 10;\n}\n\n.order-11 {\n  -ms-flex-order: 11;\n  order: 11;\n}\n\n.order-12 {\n  -ms-flex-order: 12;\n  order: 12;\n}\n\n.offset-1 {\n  margin-left: 8.333333%;\n}\n\n.offset-2 {\n  margin-left: 16.666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.333333%;\n}\n\n.offset-5 {\n  margin-left: 41.666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.333333%;\n}\n\n.offset-8 {\n  margin-left: 66.666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.333333%;\n}\n\n.offset-11 {\n  margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n  .col-sm {\n    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .row-cols-sm-1 > * {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .row-cols-sm-2 > * {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .row-cols-sm-3 > * {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .row-cols-sm-4 > * {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .row-cols-sm-5 > * {\n    -ms-flex: 0 0 20%;\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n  .row-cols-sm-6 > * {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-sm-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-sm-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-sm-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-sm-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-sm-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-sm-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-sm-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-sm-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-sm-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-sm-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-sm-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-sm-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-sm-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-sm-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-sm-12 {\n    -ms-flex-order: 12;\n    order: 12;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 768px) {\n  .col-md {\n    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .row-cols-md-1 > * {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .row-cols-md-2 > * {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .row-cols-md-3 > * {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .row-cols-md-4 > * {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .row-cols-md-5 > * {\n    -ms-flex: 0 0 20%;\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n  .row-cols-md-6 > * {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-md-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-md-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-md-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-md-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-md-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-md-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-md-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-md-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-md-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-md-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-md-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-md-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-md-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-md-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-md-12 {\n    -ms-flex-order: 12;\n    order: 12;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 992px) {\n  .col-lg {\n    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .row-cols-lg-1 > * {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .row-cols-lg-2 > * {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .row-cols-lg-3 > * {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .row-cols-lg-4 > * {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .row-cols-lg-5 > * {\n    -ms-flex: 0 0 20%;\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n  .row-cols-lg-6 > * {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-lg-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-lg-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-lg-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-lg-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-lg-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-lg-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-lg-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-lg-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-lg-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-lg-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-lg-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-lg-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-lg-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-lg-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-lg-12 {\n    -ms-flex-order: 12;\n    order: 12;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 1200px) {\n  .col-xl {\n    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .row-cols-xl-1 > * {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .row-cols-xl-2 > * {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .row-cols-xl-3 > * {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .row-cols-xl-4 > * {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .row-cols-xl-5 > * {\n    -ms-flex: 0 0 20%;\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n  .row-cols-xl-6 > * {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-xl-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-xl-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-xl-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-xl-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-xl-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-xl-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-xl-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-xl-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-xl-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-xl-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-xl-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-xl-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-xl-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-xl-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-xl-12 {\n    -ms-flex-order: 12;\n    order: 12;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n.table {\n  width: 100%;\n  margin-bottom: 1rem;\n  color: #212529;\n}\n\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n  border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n  padding: 0.3rem;\n}\n\n.table-bordered {\n  border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n  border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n  border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n  border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n  color: #212529;\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n  background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n  border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n  background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n  background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n  background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n  border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n  background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n  background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n  background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n  border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n  background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n  background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n  background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n  border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n  background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n  background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n  background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n  border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n  background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n  background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n  background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n  border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n  background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n  background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n  background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n  border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n  background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n  background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n  background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n  border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n  background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n  background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #454d55;\n}\n\n.table .thead-light th {\n  color: #495057;\n  background-color: #e9ecef;\n  border-color: #dee2e6;\n}\n\n.table-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n  border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n  border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n  color: #fff;\n  background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n  .table-responsive-sm {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-sm > .table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 767.98px) {\n  .table-responsive-md {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-md > .table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 991.98px) {\n  .table-responsive-lg {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-lg > .table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 1199.98px) {\n  .table-responsive-xl {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-xl > .table-bordered {\n    border: 0;\n  }\n}\n\n.table-responsive {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n  border: 0;\n}\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .form-control {\n    transition: none;\n  }\n}\n\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n\n.form-control:focus {\n  color: #495057;\n  background-color: #fff;\n  border-color: #80bdff;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n\n.form-control::placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n  background-color: #e9ecef;\n  opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n}\n\nselect.form-control:-moz-focusring {\n  color: transparent;\n  text-shadow: 0 0 0 #495057;\n}\n\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\n}\n\n.col-form-label {\n  padding-top: calc(0.375rem + 1px);\n  padding-bottom: calc(0.375rem + 1px);\n  margin-bottom: 0;\n  font-size: inherit;\n  line-height: 1.5;\n}\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + 1px);\n  padding-bottom: calc(0.5rem + 1px);\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + 1px);\n  padding-bottom: calc(0.25rem + 1px);\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.form-control-plaintext {\n  display: block;\n  width: 100%;\n  padding: 0.375rem 0;\n  margin-bottom: 0;\n  font-size: 1rem;\n  line-height: 1.5;\n  color: #212529;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.form-control-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.form-control-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n  height: auto;\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\n}\n\n.form-row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n  padding-right: 5px;\n  padding-left: 5px;\n}\n\n.form-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n  color: #6c757d;\n}\n\n.form-check-label {\n  margin-bottom: 0;\n}\n\n.form-check-inline {\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -ms-flex-align: center;\n  align-items: center;\n  padding-left: 0;\n  margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n  position: static;\n  margin-top: 0;\n  margin-right: 0.3125rem;\n  margin-left: 0;\n}\n\n.valid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 0.875em;\n  color: #28a745;\n}\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: .1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(40, 167, 69, 0.9);\n  border-radius: 0.25rem;\n}\n\n.form-row > .col > .valid-tooltip,\n.form-row > [class*=\"col-\"] > .valid-tooltip {\n  left: 5px;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n  border-color: #28a745;\n  padding-right: calc(1.5em + 0.75rem) !important;\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n  background-repeat: no-repeat;\n  background-position: right calc(0.375em + 0.1875rem) center;\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated select.form-control:valid, select.form-control.is-valid {\n  padding-right: 3rem !important;\n  background-position: right 1.5rem center;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n  border-color: #28a745;\n  padding-right: calc(0.75em + 2.3125rem) !important;\n  background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n  color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n  color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n  border-color: #34ce57;\n  background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 0.875em;\n  color: #dc3545;\n}\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: .1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(220, 53, 69, 0.9);\n  border-radius: 0.25rem;\n}\n\n.form-row > .col > .invalid-tooltip,\n.form-row > [class*=\"col-\"] > .invalid-tooltip {\n  left: 5px;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n  border-color: #dc3545;\n  padding-right: calc(1.5em + 0.75rem) !important;\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n  background-repeat: no-repeat;\n  background-position: right calc(0.375em + 0.1875rem) center;\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated select.form-control:invalid, select.form-control.is-invalid {\n  padding-right: 3rem !important;\n  background-position: right 1.5rem center;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n  border-color: #dc3545;\n  padding-right: calc(0.75em + 2.3125rem) !important;\n  background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n  color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n  color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n  border-color: #e4606d;\n  background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-flow: row wrap;\n  flex-flow: row wrap;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.form-inline .form-check {\n  width: 100%;\n}\n\n@media (min-width: 576px) {\n  .form-inline label {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex-align: center;\n    align-items: center;\n    -ms-flex-pack: center;\n    justify-content: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-group {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    -ms-flex-flow: row wrap;\n    flex-flow: row wrap;\n    -ms-flex-align: center;\n    align-items: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-plaintext {\n    display: inline-block;\n  }\n  .form-inline .input-group,\n  .form-inline .custom-select {\n    width: auto;\n  }\n  .form-inline .form-check {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex-align: center;\n    align-items: center;\n    -ms-flex-pack: center;\n    justify-content: center;\n    width: auto;\n    padding-left: 0;\n  }\n  .form-inline .form-check-input {\n    position: relative;\n    -ms-flex-negative: 0;\n    flex-shrink: 0;\n    margin-top: 0;\n    margin-right: 0.25rem;\n    margin-left: 0;\n  }\n  .form-inline .custom-control {\n    -ms-flex-align: center;\n    align-items: center;\n    -ms-flex-pack: center;\n    justify-content: center;\n  }\n  .form-inline .custom-control-label {\n    margin-bottom: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  background-color: transparent;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .btn {\n    transition: none;\n  }\n}\n\n.btn:hover {\n  color: #212529;\n  text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n  opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n  cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n  pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-block + .btn-block {\n  margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n\n.fade {\n  transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n\n.collapsing.width {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.width {\n    transition: none;\n  }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n  position: relative;\n}\n\n.dropdown-toggle {\n  white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0;\n  border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n\n@media (min-width: 576px) {\n  .dropdown-menu-sm-left {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-sm-right {\n    right: 0;\n    left: auto;\n  }\n}\n\n@media (min-width: 768px) {\n  .dropdown-menu-md-left {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-md-right {\n    right: 0;\n    left: auto;\n  }\n}\n\n@media (min-width: 992px) {\n  .dropdown-menu-lg-left {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-lg-right {\n    right: 0;\n    left: auto;\n  }\n}\n\n@media (min-width: 1200px) {\n  .dropdown-menu-xl-left {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-xl-right {\n    right: 0;\n    left: auto;\n  }\n}\n\n.dropup .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-top: 0;\n  margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n  top: 0;\n  right: auto;\n  left: 100%;\n  margin-top: 0;\n  margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid transparent;\n  border-right: 0;\n  border-bottom: 0.3em solid transparent;\n  border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n  vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n  top: 0;\n  right: 100%;\n  left: auto;\n  margin-top: 0;\n  margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n  display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n  display: inline-block;\n  margin-right: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid transparent;\n  border-right: 0.3em solid;\n  border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n  vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n  right: auto;\n  bottom: auto;\n}\n\n.dropdown-divider {\n  height: 0;\n  margin: 0.5rem 0;\n  overflow: hidden;\n  border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: 0.25rem 1.5rem;\n  clear: both;\n  font-weight: 400;\n  color: #212529;\n  text-align: inherit;\n  white-space: nowrap;\n  background-color: transparent;\n  border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n  color: #16181b;\n  text-decoration: none;\n  background-color: #e9ecef;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n  color: #fff;\n  text-decoration: none;\n  background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n  color: #adb5bd;\n  pointer-events: none;\n  background-color: transparent;\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n.dropdown-header {\n  display: block;\n  padding: 0.5rem 1.5rem;\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: #6c757d;\n  white-space: nowrap;\n}\n\n.dropdown-item-text {\n  display: block;\n  padding: 0.25rem 1.5rem;\n  color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n  z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n  z-index: 1;\n}\n\n.btn-toolbar {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n  width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n  margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n  margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n  margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n  -ms-flex-direction: column;\n  flex-direction: column;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n  width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n  margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n  margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n\n.input-group {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n  position: relative;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  width: 1%;\n  min-width: 0;\n  margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n  margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n  z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n  z-index: 4;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.input-group:not(.has-validation) > .form-control:not(:last-child),\n.input-group:not(.has-validation) > .custom-select:not(:last-child),\n.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,\n.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group.has-validation > .form-control:nth-last-child(n + 3),\n.input-group.has-validation > .custom-select:nth-last-child(n + 3),\n.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,\n.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n  position: relative;\n  z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n  z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n  margin-left: -1px;\n}\n\n.input-group-prepend {\n  margin-right: -1px;\n}\n\n.input-group-append {\n  margin-left: -1px;\n}\n\n.input-group-text {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n  align-items: center;\n  padding: 0.375rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  text-align: center;\n  white-space: nowrap;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n  height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n  height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n  padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.custom-control {\n  position: relative;\n  z-index: 1;\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n  -webkit-print-color-adjust: exact;\n  color-adjust: exact;\n  print-color-adjust: exact;\n}\n\n.custom-control-inline {\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  left: 0;\n  z-index: -1;\n  width: 1rem;\n  height: 1.25rem;\n  opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n  color: #fff;\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n  color: #fff;\n  background-color: #b3d7ff;\n  border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n  color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n  background-color: #e9ecef;\n}\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top;\n}\n\n.custom-control-label::before {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  content: \"\";\n  background-color: #fff;\n  border: 1px solid #adb5bd;\n}\n\n.custom-control-label::after {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  content: \"\";\n  background: 50% / 50% 50% no-repeat;\n}\n\n.custom-checkbox .custom-control-label::before {\n  border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n  border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n  padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n  left: -2.25rem;\n  width: 1.75rem;\n  pointer-events: all;\n  border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n  top: calc(0.25rem + 2px);\n  left: calc(-2.25rem + 2px);\n  width: calc(1rem - 4px);\n  height: calc(1rem - 4px);\n  background-color: #adb5bd;\n  border-radius: 0.5rem;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-switch .custom-control-label::after {\n    transition: none;\n  }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n  background-color: #fff;\n  -webkit-transform: translateX(0.75rem);\n  transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  vertical-align: middle;\n  background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n}\n\n.custom-select:focus {\n  border-color: #80bdff;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n  height: auto;\n  padding-right: 0.75rem;\n  background-image: none;\n}\n\n.custom-select:disabled {\n  color: #6c757d;\n  background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n  display: none;\n}\n\n.custom-select:-moz-focusring {\n  color: transparent;\n  text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding-top: 0.25rem;\n  padding-bottom: 0.25rem;\n  padding-left: 0.5rem;\n  font-size: 0.875rem;\n}\n\n.custom-select-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  padding-left: 1rem;\n  font-size: 1.25rem;\n}\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin: 0;\n  overflow: hidden;\n  opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n  border-color: #80bdff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n  background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n  content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n  content: attr(data-browse);\n}\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  overflow: hidden;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  display: block;\n  height: calc(1.5em + 0.75rem);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  content: \"Browse\";\n  background-color: #e9ecef;\n  border-left: inherit;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n  width: 100%;\n  height: 1.4rem;\n  padding: 0;\n  background-color: transparent;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n}\n\n.custom-range:focus {\n  outline: 0;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n  border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n  width: 1rem;\n  height: 1rem;\n  margin-top: -0.25rem;\n  background-color: #007bff;\n  border: 0;\n  border-radius: 1rem;\n  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  -webkit-appearance: none;\n  appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-range::-webkit-slider-thumb {\n    -webkit-transition: none;\n    transition: none;\n  }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n  width: 100%;\n  height: 0.5rem;\n  color: transparent;\n  cursor: pointer;\n  background-color: #dee2e6;\n  border-color: transparent;\n  border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n  width: 1rem;\n  height: 1rem;\n  background-color: #007bff;\n  border: 0;\n  border-radius: 1rem;\n  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  -moz-appearance: none;\n  appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-range::-moz-range-thumb {\n    -moz-transition: none;\n    transition: none;\n  }\n}\n\n.custom-range::-moz-range-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n  width: 100%;\n  height: 0.5rem;\n  color: transparent;\n  cursor: pointer;\n  background-color: #dee2e6;\n  border-color: transparent;\n  border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n  width: 1rem;\n  height: 1rem;\n  margin-top: 0;\n  margin-right: 0.2rem;\n  margin-left: 0.2rem;\n  background-color: #007bff;\n  border: 0;\n  border-radius: 1rem;\n  -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-range::-ms-thumb {\n    -ms-transition: none;\n    transition: none;\n  }\n}\n\n.custom-range::-ms-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n  width: 100%;\n  height: 0.5rem;\n  color: transparent;\n  cursor: pointer;\n  background-color: transparent;\n  border-color: transparent;\n  border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n  margin-right: 15px;\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-control-label::before,\n  .custom-file-label,\n  .custom-select {\n    transition: none;\n  }\n}\n\n.nav {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n  text-decoration: none;\n}\n\n.nav-link.disabled {\n  color: #6c757d;\n  pointer-events: none;\n  cursor: default;\n}\n\n.nav-tabs {\n  border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n  margin-bottom: -1px;\n  background-color: transparent;\n  border: 1px solid transparent;\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n  isolation: isolate;\n  border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n  color: #6c757d;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n  color: #495057;\n  background-color: #fff;\n  border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n  background: none;\n  border: 0;\n  border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  text-align: center;\n}\n\n.tab-content > .tab-pane {\n  display: none;\n}\n\n.tab-content > .active {\n  display: block;\n}\n\n.navbar {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n}\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n  text-decoration: none;\n}\n\n.navbar-nav {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.navbar-nav .nav-link {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n  position: static;\n  float: none;\n}\n\n.navbar-text {\n  display: inline-block;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n  -ms-flex-preferred-size: 100%;\n  flex-basis: 100%;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background-color: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n  text-decoration: none;\n}\n\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: \"\";\n  background: 50% / 100% 100% no-repeat;\n}\n\n.navbar-nav-scroll {\n  max-height: 75vh;\n  overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-sm .navbar-nav {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-sm .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-sm .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand-sm .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n    flex-basis: auto;\n  }\n  .navbar-expand-sm .navbar-toggler {\n    display: none;\n  }\n}\n\n@media (max-width: 767.98px) {\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-md .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-md .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand-md .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n    flex-basis: auto;\n  }\n  .navbar-expand-md .navbar-toggler {\n    display: none;\n  }\n}\n\n@media (max-width: 991.98px) {\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-lg .navbar-nav {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-lg .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-lg .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand-lg .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n    flex-basis: auto;\n  }\n  .navbar-expand-lg .navbar-toggler {\n    display: none;\n  }\n}\n\n@media (max-width: 1199.98px) {\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-xl .navbar-nav {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-xl .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-xl .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand-xl .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n    flex-basis: auto;\n  }\n  .navbar-expand-xl .navbar-toggler {\n    display: none;\n  }\n}\n\n.navbar-expand {\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n  position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n  padding-right: 0.5rem;\n  padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n  -ms-flex-wrap: nowrap;\n  flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-nav-scroll {\n  overflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n  display: -ms-flexbox !important;\n  display: flex !important;\n  -ms-flex-preferred-size: auto;\n  flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n  display: none;\n}\n\n.accordion {\n  overflow-anchor: none;\n}\n\n.breadcrumb {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  padding: 0.75rem 1rem;\n  margin-bottom: 1rem;\n  list-style: none;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n  padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n  float: left;\n  padding-right: 0.5rem;\n  color: #6c757d;\n  content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: none;\n}\n\n.breadcrumb-item.active {\n  color: #6c757d;\n}\n\n.pagination {\n  display: -ms-flexbox;\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\n  color: #007bff;\n  background-color: #fff;\n  border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n  z-index: 2;\n  color: #0056b3;\n  text-decoration: none;\n  background-color: #e9ecef;\n  border-color: #dee2e6;\n}\n\n.page-link:focus {\n  z-index: 3;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\n  border-top-left-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n  z-index: 3;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n  color: #6c757d;\n  pointer-events: none;\n  cursor: auto;\n  background-color: #fff;\n  border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n  padding: 0.75rem 1.5rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n  border-top-left-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n  border-top-right-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n  border-top-left-radius: 0.2rem;\n  border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n  border-top-right-radius: 0.2rem;\n  border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .badge {\n    transition: none;\n  }\n}\n\na.badge:hover, a.badge:focus {\n  text-decoration: none;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n  color: #fff;\n  background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n  color: #fff;\n  background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n  color: #fff;\n  background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n  color: #fff;\n  background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n  color: #212529;\n  background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n  color: #fff;\n  background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n  color: #212529;\n  background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n  color: #fff;\n  background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.alert-heading {\n  color: inherit;\n}\n\n.alert-link {\n  font-weight: 700;\n}\n\n.alert-dismissible {\n  padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  padding: 0.75rem 1.25rem;\n  color: inherit;\n}\n\n.alert-primary {\n  color: #004085;\n  background-color: #cce5ff;\n  border-color: #b8daff;\n}\n\n.alert-primary hr {\n  border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n  color: #002752;\n}\n\n.alert-secondary {\n  color: #383d41;\n  background-color: #e2e3e5;\n  border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n  border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n  color: #202326;\n}\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb;\n}\n\n.alert-success hr {\n  border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n  color: #0b2e13;\n}\n\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb;\n}\n\n.alert-info hr {\n  border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n  color: #062c33;\n}\n\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba;\n}\n\n.alert-warning hr {\n  border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n  color: #533f03;\n}\n\n.alert-danger {\n  color: #721c24;\n  background-color: #f8d7da;\n  border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n  border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n  color: #491217;\n}\n\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe;\n}\n\n.alert-light hr {\n  border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n  color: #686868;\n}\n\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n  border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n.media {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: start;\n  align-items: flex-start;\n}\n\n.media-body {\n  -ms-flex: 1;\n  flex: 1;\n}\n\n.list-group {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n  width: 100%;\n  color: #495057;\n  text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n  z-index: 1;\n  color: #495057;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n  color: #212529;\n  background-color: #e9ecef;\n}\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 0.75rem 1.25rem;\n  background-color: #fff;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n  border-top-left-radius: inherit;\n  border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n  border-bottom-right-radius: inherit;\n  border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n  color: #6c757d;\n  pointer-events: none;\n  background-color: #fff;\n}\n\n.list-group-item.active {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n  border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n  margin-top: -1px;\n  border-top-width: 1px;\n}\n\n.list-group-horizontal {\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n  border-bottom-left-radius: 0.25rem;\n  border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n  border-top-right-radius: 0.25rem;\n  border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n  margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n  border-top-width: 1px;\n  border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n  margin-left: -1px;\n  border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n  .list-group-horizontal-sm {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-sm > .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-sm > .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-sm > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-sm > .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n\n@media (min-width: 768px) {\n  .list-group-horizontal-md {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-md > .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-md > .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-md > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-md > .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n\n@media (min-width: 992px) {\n  .list-group-horizontal-lg {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-lg > .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-lg > .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-lg > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-lg > .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .list-group-horizontal-xl {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-xl > .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-xl > .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-xl > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-xl > .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n\n.list-group-flush {\n  border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n  border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n  border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n  color: #004085;\n  background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n  color: #004085;\n  background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n  color: #fff;\n  background-color: #004085;\n  border-color: #004085;\n}\n\n.list-group-item-secondary {\n  color: #383d41;\n  background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n  color: #383d41;\n  background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n  color: #fff;\n  background-color: #383d41;\n  border-color: #383d41;\n}\n\n.list-group-item-success {\n  color: #155724;\n  background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n  color: #155724;\n  background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n  color: #fff;\n  background-color: #155724;\n  border-color: #155724;\n}\n\n.list-group-item-info {\n  color: #0c5460;\n  background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n  color: #0c5460;\n  background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n  color: #fff;\n  background-color: #0c5460;\n  border-color: #0c5460;\n}\n\n.list-group-item-warning {\n  color: #856404;\n  background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n  color: #856404;\n  background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n  color: #fff;\n  background-color: #856404;\n  border-color: #856404;\n}\n\n.list-group-item-danger {\n  color: #721c24;\n  background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n  color: #721c24;\n  background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n  color: #fff;\n  background-color: #721c24;\n  border-color: #721c24;\n}\n\n.list-group-item-light {\n  color: #818182;\n  background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n  color: #818182;\n  background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n  color: #fff;\n  background-color: #818182;\n  border-color: #818182;\n}\n\n.list-group-item-dark {\n  color: #1b1e21;\n  background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n  color: #1b1e21;\n  background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n  color: #fff;\n  background-color: #1b1e21;\n  border-color: #1b1e21;\n}\n\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: .5;\n}\n\n.close:hover {\n  color: #000;\n  text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n  opacity: .75;\n}\n\nbutton.close {\n  padding: 0;\n  background-color: transparent;\n  border: 0;\n}\n\na.close.disabled {\n  pointer-events: none;\n}\n\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  opacity: 0;\n}\n\n.tooltip.show {\n  opacity: 0.9;\n}\n\n.tooltip .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n  position: absolute;\n  content: \"\";\n  border-color: transparent;\n  border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n  padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n  top: 0;\n  border-width: 0.4rem 0.4rem 0;\n  border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n  padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n  right: 0;\n  border-width: 0.4rem 0.4rem 0.4rem 0;\n  border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n  padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n  bottom: 0;\n  border-width: 0 0.4rem 0.4rem;\n  border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n  padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n  left: 0;\n  border-width: 0.4rem 0 0.4rem 0.4rem;\n  border-left-color: #000;\n}\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 0.25rem 0.5rem;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 0.25rem;\n}\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n}\n\n.popover .arrow {\n  position: absolute;\n  display: block;\n  width: 1rem;\n  height: 0.5rem;\n  margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n  position: absolute;\n  display: block;\n  content: \"\";\n  border-color: transparent;\n  border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n  margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n  bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n  bottom: 0;\n  border-width: 0.5rem 0.5rem 0;\n  border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n  bottom: 1px;\n  border-width: 0.5rem 0.5rem 0;\n  border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n  margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n  left: calc(-0.5rem - 1px);\n  width: 0.5rem;\n  height: 1rem;\n  margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n  left: 0;\n  border-width: 0.5rem 0.5rem 0.5rem 0;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n  left: 1px;\n  border-width: 0.5rem 0.5rem 0.5rem 0;\n  border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n  margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n  top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n  top: 0;\n  border-width: 0 0.5rem 0.5rem 0.5rem;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n  top: 1px;\n  border-width: 0 0.5rem 0.5rem 0.5rem;\n  border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  display: block;\n  width: 1rem;\n  margin-left: -0.5rem;\n  content: \"\";\n  border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n  margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n  right: calc(-0.5rem - 1px);\n  width: 0.5rem;\n  height: 1rem;\n  margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n  right: 0;\n  border-width: 0.5rem 0 0.5rem 0.5rem;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n  right: 1px;\n  border-width: 0.5rem 0 0.5rem 0.5rem;\n  border-left-color: #fff;\n}\n\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n  display: none;\n}\n\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529;\n}\n\n.carousel {\n  position: relative;\n}\n\n.carousel.pointer-event {\n  -ms-touch-action: pan-y;\n  touch-action: pan-y;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-inner::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  float: left;\n  width: 100%;\n  margin-right: -100%;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  transition: -webkit-transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .carousel-item {\n    transition: none;\n  }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n  -webkit-transform: translateX(100%);\n  transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n  -webkit-transform: translateX(-100%);\n  transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n  opacity: 0;\n  transition-property: opacity;\n  -webkit-transform: none;\n  transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n  z-index: 1;\n  opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n  z-index: 0;\n  opacity: 0;\n  transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .carousel-fade .active.carousel-item-left,\n  .carousel-fade .active.carousel-item-right {\n    transition: none;\n  }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  z-index: 1;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  width: 15%;\n  padding: 0;\n  color: #fff;\n  text-align: center;\n  background: none;\n  border: 0;\n  opacity: 0.5;\n  transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .carousel-control-prev,\n  .carousel-control-next {\n    transition: none;\n  }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  opacity: 0.9;\n}\n\n.carousel-control-prev {\n  left: 0;\n}\n\n.carousel-control-next {\n  right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  background: 50% / 100% 100% no-repeat;\n}\n\n.carousel-control-prev-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 15;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-pack: center;\n  justify-content: center;\n  padding-left: 0;\n  margin-right: 15%;\n  margin-left: 15%;\n  list-style: none;\n}\n\n.carousel-indicators li {\n  box-sizing: content-box;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  width: 30px;\n  height: 3px;\n  margin-right: 3px;\n  margin-left: 3px;\n  text-indent: -999px;\n  cursor: pointer;\n  background-color: #fff;\n  background-clip: padding-box;\n  border-top: 10px solid transparent;\n  border-bottom: 10px solid transparent;\n  opacity: .5;\n  transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .carousel-indicators li {\n    transition: none;\n  }\n}\n\n.carousel-indicators .active {\n  opacity: 1;\n}\n\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n}\n\n.align-baseline {\n  vertical-align: baseline !important;\n}\n\n.align-top {\n  vertical-align: top !important;\n}\n\n.align-middle {\n  vertical-align: middle !important;\n}\n\n.align-bottom {\n  vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n  vertical-align: text-top !important;\n}\n\n.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-left-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  border-color: #007bff !important;\n}\n\n.border-secondary {\n  border-color: #6c757d !important;\n}\n\n.border-success {\n  border-color: #28a745 !important;\n}\n\n.border-info {\n  border-color: #17a2b8 !important;\n}\n\n.border-warning {\n  border-color: #ffc107 !important;\n}\n\n.border-danger {\n  border-color: #dc3545 !important;\n}\n\n.border-light {\n  border-color: #f8f9fa !important;\n}\n\n.border-dark {\n  border-color: #343a40 !important;\n}\n\n.border-white {\n  border-color: #fff !important;\n}\n\n.rounded-sm {\n  border-radius: 0.2rem !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n  border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-pill {\n  border-radius: 50rem !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.d-none {\n  display: none !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: -ms-flexbox !important;\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n  .d-sm-none {\n    display: none !important;\n  }\n  .d-sm-inline {\n    display: inline !important;\n  }\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n  .d-sm-block {\n    display: block !important;\n  }\n  .d-sm-table {\n    display: table !important;\n  }\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n  .d-sm-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important;\n  }\n  .d-md-inline {\n    display: inline !important;\n  }\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n  .d-md-table {\n    display: table !important;\n  }\n  .d-md-table-row {\n    display: table-row !important;\n  }\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n  .d-md-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .d-lg-none {\n    display: none !important;\n  }\n  .d-lg-inline {\n    display: inline !important;\n  }\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n  .d-lg-block {\n    display: block !important;\n  }\n  .d-lg-table {\n    display: table !important;\n  }\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n  .d-lg-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .d-xl-none {\n    display: none !important;\n  }\n  .d-xl-inline {\n    display: inline !important;\n  }\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xl-block {\n    display: block !important;\n  }\n  .d-xl-table {\n    display: table !important;\n  }\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xl-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n@media print {\n  .d-print-none {\n    display: none !important;\n  }\n  .d-print-inline {\n    display: inline !important;\n  }\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n  .d-print-block {\n    display: block !important;\n  }\n  .d-print-table {\n    display: table !important;\n  }\n  .d-print-table-row {\n    display: table-row !important;\n  }\n  .d-print-table-cell {\n    display: table-cell !important;\n  }\n  .d-print-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-print-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\n}\n\n.embed-responsive::before {\n  display: block;\n  content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n\n.embed-responsive-21by9::before {\n  padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n  padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n  padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n  padding-top: 100%;\n}\n\n.flex-row {\n  -ms-flex-direction: row !important;\n  flex-direction: row !important;\n}\n\n.flex-column {\n  -ms-flex-direction: column !important;\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  -ms-flex-direction: row-reverse !important;\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  -ms-flex-direction: column-reverse !important;\n  flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  -ms-flex-wrap: wrap !important;\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  -ms-flex-wrap: nowrap !important;\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  -ms-flex-wrap: wrap-reverse !important;\n  flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n  -ms-flex: 1 1 auto !important;\n  flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n  -ms-flex-positive: 0 !important;\n  flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n  -ms-flex-positive: 1 !important;\n  flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n  -ms-flex-negative: 0 !important;\n  flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n  -ms-flex-negative: 1 !important;\n  flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n  -ms-flex-pack: start !important;\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  -ms-flex-pack: end !important;\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  -ms-flex-pack: center !important;\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  -ms-flex-pack: justify !important;\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  -ms-flex-pack: distribute !important;\n  justify-content: space-around !important;\n}\n\n.align-items-start {\n  -ms-flex-align: start !important;\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  -ms-flex-align: end !important;\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  -ms-flex-align: center !important;\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  -ms-flex-align: baseline !important;\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  -ms-flex-align: stretch !important;\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  -ms-flex-line-pack: start !important;\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  -ms-flex-line-pack: end !important;\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  -ms-flex-line-pack: center !important;\n  align-content: center !important;\n}\n\n.align-content-between {\n  -ms-flex-line-pack: justify !important;\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  -ms-flex-line-pack: distribute !important;\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  -ms-flex-line-pack: stretch !important;\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  -ms-flex-item-align: auto !important;\n  align-self: auto !important;\n}\n\n.align-self-start {\n  -ms-flex-item-align: start !important;\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  -ms-flex-item-align: end !important;\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  -ms-flex-item-align: center !important;\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  -ms-flex-item-align: baseline !important;\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  -ms-flex-item-align: stretch !important;\n  align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-sm-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-sm-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-sm-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-sm-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-sm-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-sm-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-md-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-md-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-md-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-md-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-md-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-md-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-lg-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-lg-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-lg-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-lg-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-lg-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-lg-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-xl-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-xl-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-xl-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-xl-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-xl-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-xl-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.float-none {\n  float: none !important;\n}\n\n@media (min-width: 576px) {\n  .float-sm-left {\n    float: left !important;\n  }\n  .float-sm-right {\n    float: right !important;\n  }\n  .float-sm-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .float-md-left {\n    float: left !important;\n  }\n  .float-md-right {\n    float: right !important;\n  }\n  .float-md-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .float-lg-left {\n    float: left !important;\n  }\n  .float-lg-right {\n    float: right !important;\n  }\n  .float-lg-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .float-xl-left {\n    float: left !important;\n  }\n  .float-xl-right {\n    float: right !important;\n  }\n  .float-xl-none {\n    float: none !important;\n  }\n}\n\n.user-select-all {\n  -webkit-user-select: all !important;\n  -moz-user-select: all !important;\n  user-select: all !important;\n}\n\n.user-select-auto {\n  -webkit-user-select: auto !important;\n  -moz-user-select: auto !important;\n  -ms-user-select: auto !important;\n  user-select: auto !important;\n}\n\n.user-select-none {\n  -webkit-user-select: none !important;\n  -moz-user-select: none !important;\n  -ms-user-select: none !important;\n  user-select: none !important;\n}\n\n.overflow-auto {\n  overflow: auto !important;\n}\n\n.overflow-hidden {\n  overflow: hidden !important;\n}\n\n.position-static {\n  position: static !important;\n}\n\n.position-relative {\n  position: relative !important;\n}\n\n.position-absolute {\n  position: absolute !important;\n}\n\n.position-fixed {\n  position: fixed !important;\n}\n\n.position-sticky {\n  position: -webkit-sticky !important;\n  position: sticky !important;\n}\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n  .sticky-top {\n    position: -webkit-sticky;\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n}\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n}\n\n.shadow-sm {\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n  box-shadow: none !important;\n}\n\n.w-25 {\n  width: 25% !important;\n}\n\n.w-50 {\n  width: 50% !important;\n}\n\n.w-75 {\n  width: 75% !important;\n}\n\n.w-100 {\n  width: 100% !important;\n}\n\n.w-auto {\n  width: auto !important;\n}\n\n.h-25 {\n  height: 25% !important;\n}\n\n.h-50 {\n  height: 50% !important;\n}\n\n.h-75 {\n  height: 75% !important;\n}\n\n.h-100 {\n  height: 100% !important;\n}\n\n.h-auto {\n  height: auto !important;\n}\n\n.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.min-vw-100 {\n  min-width: 100vw !important;\n}\n\n.min-vh-100 {\n  min-height: 100vh !important;\n}\n\n.vw-100 {\n  width: 100vw !important;\n}\n\n.vh-100 {\n  height: 100vh !important;\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-n1 {\n  margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n  margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n  margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important;\n}\n\n.m-n4 {\n  margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n  margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-sm-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-sm-n3 {\n    margin: -1rem !important;\n  }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-sm-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-sm-n5 {\n    margin: -3rem !important;\n  }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-md-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-md-n3 {\n    margin: -1rem !important;\n  }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-md-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-md-n5 {\n    margin: -3rem !important;\n  }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-lg-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-lg-n3 {\n    margin: -1rem !important;\n  }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-lg-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-lg-n5 {\n    margin: -3rem !important;\n  }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-xl-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-xl-n3 {\n    margin: -1rem !important;\n  }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-xl-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-xl-n5 {\n    margin: -3rem !important;\n  }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n\n.stretched-link::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1;\n  pointer-events: auto;\n  content: \"\";\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n  text-align: justify !important;\n}\n\n.text-wrap {\n  white-space: normal !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n  .text-sm-right {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n  .text-md-right {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n  .text-lg-right {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n  .text-xl-right {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.font-weight-light {\n  font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n  font-weight: lighter !important;\n}\n\n.font-weight-normal {\n  font-weight: 400 !important;\n}\n\n.font-weight-bold {\n  font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n  font-weight: bolder !important;\n}\n\n.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n  color: #0056b3 !important;\n}\n\n.text-secondary {\n  color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #494f54 !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n  color: #19692c !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n  color: #0f6674 !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n  color: #ba8b00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n  color: #a71d2a !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n  color: #cbd3da !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n  color: #121416 !important;\n}\n\n.text-body {\n  color: #212529 !important;\n}\n\n.text-muted {\n  color: #6c757d !important;\n}\n\n.text-black-50 {\n  color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n  color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.text-decoration-none {\n  text-decoration: none !important;\n}\n\n.text-break {\n  word-break: break-word !important;\n  word-wrap: break-word !important;\n}\n\n.text-reset {\n  color: inherit !important;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a:not(.btn) {\n    text-decoration: underline;\n  }\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n  pre {\n    white-space: pre-wrap !important;\n  }\n  pre,\n  blockquote {\n    border: 1px solid #adb5bd;\n    page-break-inside: avoid;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  @page {\n    size: a3;\n  }\n  body {\n    min-width: 992px !important;\n  }\n  .container {\n    min-width: 992px !important;\n  }\n  .navbar {\n    display: none;\n  }\n  .badge {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6 !important;\n  }\n  .table-dark {\n    color: inherit;\n  }\n  .table-dark th,\n  .table-dark td,\n  .table-dark thead th,\n  .table-dark tbody + tbody {\n    border-color: #dee2e6;\n  }\n  .table .thead-dark th {\n    color: inherit;\n    border-color: #dee2e6;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */"
  },
  {
    "path": "assets/css/dark-color.scss",
    "content": "$body-bg-color: #121212;\n$dark-bg-color: #1E1E1E;\n$dark-bg-color2: #2D2D2D;\n$dark-text-color: rgba(255, 255, 255, 0.87);\n$dark-text-color2: rgba(255, 255, 255, 0.6);\n$dark-text-color3: rgba(255, 255, 255, 0.38);\n$dark-border-color: rgba(255, 255, 255, 0.2);\n$dark-border-color2: rgba(255, 255, 255, 0.1);\n\n// 普通按钮配色\n@mixin btn-primary {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n  &:hover {\n    color: #fff;\n    background-color: #0069d9;\n    border-color: #0062cc;\n  }\n  &:focus {\n    color: #fff;\n    background-color: #0069d9;\n    border-color: #0062cc;\n    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n  }\n  &:disabled {\n    color: #fff;\n    background-color: #007bff;\n    border-color: #007bff;\n  }\n}\n\n// 透明按钮配色\n@mixin btn-outline-light {\n  color: #f8f9fa;\n  border-color: #f8f9fa;\n  &:hover {\n    color: #212529;\n    background-color: #f8f9fa;\n    border-color: #f8f9fa;\n  }\n  &:focus {\n    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n  }\n  &:disabled {\n    color: #f8f9fa;\n    background-color: transparent;\n  }\n}\n\n$text-primary: #007bff;\n\n// 链接配色\n@mixin dark-link {\n  color: $dark-text-color;\n  &:hover {\n    color: $dark-text-color2;\n  }\n}\n\n// 文章内容配色\n@mixin post-content {\n  // 段落\n  p {\n    color: $dark-text-color !important;\n  }\n  // 标题\n  h1,h2,h3,h4,h5,h6 {\n    color: $dark-text-color;\n  }\n  // 列表项\n  li {\n    color: $dark-text-color;\n  }\n  // 行内代码\n  p > code,td code,li code,h1 code,h2 code,h3 code,h4 code,th code {\n    background-color: #000000 !important;\n    color: $dark-text-color !important;\n  }\n  // 引用\n  blockquote {\n    border-color: $dark-text-color2;\n    color: $dark-text-color2;\n  }\n  // 表格\n  table {\n    border-color: #495057;\n    td,th {\n      color: $dark-text-color;\n      border-color: #495057;\n    }\n    tbody tr:nth-child(odd) {\n      background-color: $dark-bg-color2;\n    }\n    tbody tr:hover {\n      background-color: $dark-bg-color2;\n    }\n  }\n  // 分隔线\n  hr {\n    background-color: $dark-text-color2;\n    color: $dark-text-color2;\n  }\n  // 代码块\n  pre {\n    code {\n      @include dark-horizontal-scrollbar;\n    }\n  }\n  // 响应式表格滚动条\n  .table-responsive {\n    @include dark-horizontal-scrollbar;\n  }\n}\n\n// 横向滚动条配色\n@mixin dark-horizontal-scrollbar {\n  // Firefox\n  scrollbar-color: #777777 #222222;\n  // IE11\n  scrollbar-face-color: #777777;\n  scrollbar-track-color: #222222;\n  &::-webkit-scrollbar-track {\n    background: #222222;\n  }\n  &::-webkit-scrollbar-thumb {\n    background-color: #777777;\n    border: 3px solid #222222;\n  }\n  &::-webkit-scrollbar-thumb:hover {\n    background-color: #999999;\n  }\n}\n\n@mixin dark-color {\n  background-color: $body-bg-color;\n\n  // 默认边框颜色\n  .border,.border-top,.border-bottom,.border-left,.border-right {\n    border-color: $dark-border-color !important;\n  }\n\n  // 区块默认配色\n  .mwordstar-block {\n    border-color: $dark-border-color2 !important;\n    background-color: $dark-bg-color;\n  }\n\n  // 顶部导航区\n  header .navbar {\n    background-color: #1F1F1F;\n    border-bottom: 0.5px solid $dark-border-color2;\n    .navbar-brand {\n      color: #fff;\n    }\n    .navbar-brand:hover,.navbar-brand:focus {\n      color: #fff;\n    }\n    .navbar-nav .nav-link {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus {\n      color: rgba(255, 255, 255, 0.75);\n    }\n    .navbar-nav .nav-link.disabled {\n      color: rgba(255, 255, 255, 0.25);\n    }\n    .navbar-nav .show > .nav-link,\n    .navbar-nav .active > .nav-link,\n    .navbar-nav .nav-link.show,\n    .navbar-nav .nav-link.active {\n      color: #fff;\n    }\n    .navbar-toggler {\n      color: rgba(255, 255, 255, 0.5);\n      border-color: rgba(255, 255, 255, 0.1);\n    }\n    .navbar-toggler-icon {\n      background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n    }\n    .navbar-text {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-text a {\n      color: #fff;\n    }\n    .navbar-text a:hover,.navbar-text a:focus {\n      color: #fff;\n    }\n\n    // 搜索区域\n    .search-form {\n      input {\n        background-color: $body-bg-color;\n        border: none;\n        color: $dark-text-color;\n      }\n      button {\n        background-color: rgba(255, 255, 255, 0.08);\n        color: $dark-text-color;\n        border: none;\n      }\n    }\n\n    .dropdown-menu {\n      background: $dark-bg-color2;\n      a {\n        color: $dark-text-color;\n      }\n    }\n  }\n\n  // 首页没有文章时的提示信息配色\n  .home .no-post-message {\n    .post-title {\n      color: $dark-text-color;\n    }\n  }\n\n  // 文章列表配色\n  .article-list .post,.archives-list .archives .post {\n    background-color: $dark-bg-color;\n    border-color: $dark-border-color2;\n    // 标题\n    .entry-title a {\n      color: $dark-text-color !important;\n    }\n    // 摘要内容\n    .entry-summary p {\n      color: $dark-text-color;\n    }\n    // 全文显示的内容\n    .post-content {\n      @include post-content;\n    }\n    // 文章信息\n    .article-info {\n      i,span {\n        color: $dark-text-color2;\n      }\n      a {\n        @include dark-link;\n      }\n    }\n  }\n\n  // 分页导航区配色\n  .pagination-nav ul,.post-pagination ol {\n    li a {\n      color: $dark-text-color;\n      background-color: $dark-bg-color;\n      border: none;\n    }\n    li:not(.active) a:hover {\n      background-color: $dark-bg-color2;\n    }\n  }\n\n  // 侧边栏配色\n  .sidebar {\n    // 通用列表链接、最新评论链接、博客信息区域链接、日历链接配色\n    section ul > li > a,.latest-comment a,.user-name,.calendar a {\n      @include dark-link;\n    }\n    // 基本配色\n    section {\n      h4 {\n        color: $dark-text-color;\n        border-color: $dark-text-color2;\n      }\n      .message {\n        color: $dark-text-color;\n      }\n    }\n    // 博客信息\n    .personal-information {\n      .introduction {\n        color: $dark-text-color;\n      }\n      .info {\n        color: $dark-text-color;\n      }\n    }\n    // 日历配色\n    .calendar table {\n      border-color: #495057;\n      th,td {\n        color: $dark-text-color;\n        border-color: #495057;\n      }\n      .active {\n        background-color: #353535;\n      }\n    }\n    // 评论配色\n    .latest-comment {\n      .comment-content {\n        color: $dark-text-color;\n      }\n    }\n    // 标签云配色\n    .tag-cloud a {\n      border: 1px solid $dark-text-color;\n      color: $dark-text-color;\n      &:hover {\n        background-color: $dark-text-color;\n        color: $dark-bg-color;\n      }\n      &:focus {\n        background-color: $dark-text-color;\n        color: $dark-bg-color;\n      }\n    }\n    // 列表徽章配色\n    li .badge {\n      background-color: $dark-text-color2;\n    }\n    // 搜索配色\n    .search {\n      input {\n        background-color: $body-bg-color;\n        color: $dark-text-color;\n        border-color: $text-primary;\n      }\n      button {\n        @include btn-primary;\n      }\n    }\n    // 自定义HTML的默认文字配色\n    .customize-html {\n      color: $dark-text-color;\n    }\n    // 语言切换组件的文字配色\n    .language-select {\n      label {\n        color: $dark-text-color;\n      }\n    }\n  }\n\n  // 面包屑导航配色\n  .breadcrumb-nav {\n    .breadcrumb-item {\n      color: $dark-text-color;\n    }\n  }\n\n  // 文章页配色\n  .content-area {\n    // 标题\n    .entry-title a {\n      color: $dark-text-color !important;\n    }\n    // 文章信息区域\n    .article-info .info {\n      span,i {\n        color: $dark-text-color;\n      }\n      a {\n        @include dark-link;\n      }\n    }\n    // 文章失效警示信息\n    .warning-info {\n      background-color: $dark-bg-color2;\n      color: $dark-text-color;\n    }\n    // 文章内容区域\n    .post-content {\n      @include post-content;\n      .load-img {\n        background-color: #373737;\n      }\n    }\n    // 修改时间和版权信息\n    #copyright-info span {\n      color: $dark-text-color2;\n    }\n    // 分享和点赞区域\n    .agree-and-share {\n      button {\n        @include btn-outline-light;\n      }\n    }\n    // 上一篇文章和下一篇文章的导航区域\n    .post-navigation {\n      div {\n        color: $dark-text-color;\n      }\n    }\n    // 文章二维码区域\n    #qr-link p {\n      color: $dark-text-color;\n    }\n  }\n\n  // 评论区配色\n  #comments {\n    h2 {\n      color: $dark-text-color;\n    }\n    // 发表评论区\n    #comment-form {\n      label {\n        color: $dark-text-color;\n      }\n      input,textarea {\n        background-color: $body-bg-color;\n        color: $dark-text-color;\n      }\n      // 打开表情面板按钮\n      #show-emoji-btn {\n        @include btn-outline-light;\n      }\n      // 表情面板\n      #emoji-panel {\n        background-color: $dark-bg-color2;\n        // 表情选择区域\n        #emoji-classification {\n          button[aria-checked=\"true\"] {\n            background-color: $text-primary;\n          }\n        }\n        #emoji-title {\n          color: $dark-text-color;\n        }\n      }\n      // 提交评论按钮\n      .submit {\n        @include btn-primary;\n      }\n      // 已登录的评论者信息\n      .comment-user {\n        color: $dark-text-color;\n      }\n    }\n    // 评论列表区\n    ol .comment-body {\n      border-color: $dark-border-color !important;\n    }\n    .comment-box {\n      // 评论者昵称\n      .comment-info {\n        .author {\n          color: $dark-text-color;\n        }\n        .comment-time {\n          color: $dark-text-color2 !important;\n        }\n      }\n      // 回复链接\n      .comment-reply a {\n        border: 1px solid $dark-text-color;\n        color: $dark-text-color;\n        background: none !important;\n        &:hover {\n          background-color: $dark-text-color !important;\n          color: $dark-bg-color;\n        }\n      }\n      // 评论内容区的配色\n      .comment-content {\n        @include post-content;\n      }\n      // 回复表单配色\n      .respond {\n        background-color: $dark-bg-color2 !important;\n      }\n    }\n    // 评论分页导航区\n    .pagination-nav .pagination a {\n      border: 1px solid $dark-border-color;\n    }\n  }\n\n  // 页脚的功能按钮配色\n  #footer-btn-box button {\n    @include btn-primary;\n  }\n\n  // 移动设备专用目录\n  #directory-mobile {\n    background: $dark-bg-color2;\n    .title-bar {\n      h5,button {\n        color: $dark-text-color;\n      }\n    }\n    .directory-list a {\n      @include dark-link;\n    }\n  }\n\n  // 底部信息\n  footer .container {\n    span {\n      color: $dark-text-color2;\n    }\n    a {\n      color: $text-primary;\n    }\n  }\n\n  // 分类、标签、搜索、归档页的配色\n  .archives-list {\n    .page-header {\n      h1,span {\n        color: $dark-text-color;\n      }\n    }\n    .no-post {\n      h4,li,p {\n        color: $dark-text-color;\n      }\n    }\n  }\n\n  // 友情链接页面配色\n  .link-page .link-box {\n    background-color: #121212;\n    .link {\n      background-color: $dark-bg-color;\n    }\n  }\n\n  // 独立归档页配色\n  .archives .archives-item h2 {\n    background-color: $dark-bg-color;\n  }\n  \n  // 数据统计页配色\n  .data-page {\n    .statistics-card {\n      background-color: $dark-bg-color2;\n    }\n  }\n\n  // 404页\n  .container-404 {\n    h1, h2, h5 {\n      color: $dark-text-color;\n    }\n    .search-btn, .to-home-link {\n      @include btn-primary;\n    }\n  }\n\n  // 目录高亮\n  .directory-active {\n    color: $text-primary !important;\n  }\n}\n\n.dark-color {\n  @include dark-color;\n}"
  },
  {
    "path": "assets/css/icon.css",
    "content": "@font-face {\n  font-family: 'icomoon';\n  src:  url('../fonts/icomoon.eot?gkm6ku');\n  src:  url('../fonts/icomoon.eot?gkm6ku#iefix') format('embedded-opentype'),\n    url('../fonts/icomoon.ttf?gkm6ku') format('truetype'),\n    url('../fonts/icomoon.woff?gkm6ku') format('woff'),\n    url('../fonts/icomoon.svg?gkm6ku#icomoon') format('svg');\n  font-weight: normal;\n  font-style: normal;\n  font-display: block;\n}\n\n[class^=\"icon-\"], [class*=\" icon-\"] {\n  /* use !important to prevent issues with browser extensions that change fonts */\n  font-family: 'icomoon' !important;\n  speak: never;\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n\n  /* Better Font Rendering =========== */\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n.icon-qzone-logo:before {\n  content: \"\\e900\";\n}\n.icon-languages:before {\n  content: \"\\e901\";\n}\n.icon-list-ol:before {\n  content: \"\\e902\";\n}\n.icon-thumbs-up:before {\n  content: \"\\e903\";\n}\n.icon-sun:before {\n  content: \"\\e904\";\n}\n.icon-moon:before {\n  content: \"\\e905\";\n}\n.icon-coffee:before {\n  content: \"\\e906\";\n}\n.icon-chevron-left:before {\n  content: \"\\e907\";\n}\n.icon-chevron-right:before {\n  content: \"\\e908\";\n}\n.icon-pencil:before {\n  content: \"\\e909\";\n}\n.icon-copy:before {\n  content: \"\\e92c\";\n}\n.icon-folder-open:before {\n  content: \"\\e930\";\n}\n.icon-price-tags:before {\n  content: \"\\e936\";\n}\n.icon-calendar:before {\n  content: \"\\e953\";\n}\n.icon-undo:before {\n  content: \"\\e965\";\n}\n.icon-redo:before {\n  content: \"\\e966\";\n}\n.icon-bubbles2:before {\n  content: \"\\e96d\";\n}\n.icon-user:before {\n  content: \"\\e971\";\n}\n.icon-search:before {\n  content: \"\\e986\";\n}\n.icon-zoom-in:before {\n  content: \"\\e987\";\n}\n.icon-zoom-out:before {\n  content: \"\\e988\";\n}\n.icon-sphere:before {\n  content: \"\\e9c9\";\n}\n.icon-link:before {\n  content: \"\\e9cb\";\n}\n.icon-eye:before {\n  content: \"\\e9ce\";\n}\n.icon-cancel-circle:before {\n  content: \"\\ea0d\";\n}\n.icon-arrow-up:before {\n  content: \"\\ea32\";\n}\n.icon-share2:before {\n  content: \"\\ea82\";\n}\n.icon-twitter:before {\n  content: \"\\ea96\";\n}\n.icon-sina-weibo:before {\n  content: \"\\ea9a\";\n}\n"
  },
  {
    "path": "assets/css/info-color.scss",
    "content": "// 常用按钮配色\n@mixin btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n  &:hover {\n    color: #fff;\n    background-color: #138496;\n    border-color: #117a8b;\n  }\n  &:focus {\n    color: #fff;\n    background-color: #138496;\n    border-color: #117a8b;\n    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n  }\n  &:disabled {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8;\n  }\n}\n// 常用按钮透明版\n@mixin btn-outline-info {\n  color: #17a2b8;\n  border-color: #17a2b8;\n  &:hover {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8;\n  }\n  &:focus {\n    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n  }\n  &:disabled {\n    color: #17a2b8;\n    background-color: transparent;\n  }\n}\n// 链接配色\n@mixin link-info {\n  color: #17a2b8;\n  &:hover {\n    color: #0f6674;\n  }\n}\n// 文字配色\n$text-info: #17a2b8;\n\n.info-color {\n  // 顶部导航栏配色\n  header .navbar {\n    background-color: $text-info !important;\n    .navbar-brand {\n      color: #fff;\n    }\n    .navbar-brand:hover,.navbar-brand:focus {\n      color: #fff;\n    }\n    .navbar-nav .nav-link {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus {\n      color: rgba(255, 255, 255, 0.75);\n    }\n    .navbar-nav .nav-link.disabled {\n      color: rgba(255, 255, 255, 0.25);\n    }\n    .navbar-nav .show > .nav-link,\n    .navbar-nav .active > .nav-link,\n    .navbar-nav .nav-link.show,\n    .navbar-nav .nav-link.active {\n      color: #fff;\n    }\n    .navbar-toggler {\n      color: rgba(255, 255, 255, 0.5);\n      border-color: rgba(255, 255, 255, 0.1);\n    }\n    .navbar-toggler-icon {\n      background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n    }\n    .navbar-text {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-text a {\n      color: #fff;\n    }\n    .navbar-text a:hover,.navbar-text a:focus {\n      color: #fff;\n    }\n  }\n\n  // 文章列表配色\n  .article-list .post, .archives-list .post {\n    .article-info {\n      i,span {\n        color: $text-info;\n      }\n      a {\n        @include link-info;\n      }\n    }\n  }\n\n  // 分页导航区配色\n  .pagination-nav ul,.post-pagination ol {\n    li a {\n      color: $text-info;\n    }\n    .active a {\n      color: #ffffff;\n      background-color: $text-info;\n      border: none;\n    }\n  }\n\n  // 侧边栏配色\n  .sidebar {\n    // 通用列表链接、最新评论链接、博客信息区域链接、日历链接配色\n    section ul > li > a,.latest-comment a,.user-name,.calendar a {\n      @include link-info;\n    }\n    // 列表的徽章配色\n    section ul li .badge {\n      background-color: $text-info;\n      color: #ffffff;\n    }\n    // 标签云配色\n    .tag-cloud a {\n      border: 1px solid $text-info;\n      color: $text-info;\n      &:hover {\n        background-color: $text-info;\n        color: #ffffff;\n      }\n      &:focus {\n        background-color: $text-info;\n        color: #ffffff;\n      }\n    }\n    // 搜索组件配色\n    .search {\n      button {\n        @include btn-info;\n      }\n    }\n  }\n\n  // 面包屑导航配色\n  .breadcrumb-nav a {\n    @include link-info;\n  }\n\n  // 文章页配色\n  .content-area {\n    // 文章信息区域\n    .article-info .info {\n      span,i {\n        color: $text-info;\n      }\n      a {\n        @include link-info;\n      }\n    }\n    // 文章内容区域\n    .post-content {\n      // 链接\n      a {\n        @include link-info;\n      }\n    }\n    // 分享和点赞区域\n    .agree-and-share {\n      button {\n        @include btn-outline-info;\n      }\n    }\n    // 上一篇文章和下一篇文章的导航区域\n    .post-navigation a {\n      @include link-info;\n    }\n  }\n\n  // 评论区配色\n  #comments {\n    // 发表评论区\n    #comment-form {\n      // 打开表情面板按钮\n      #show-emoji-btn {\n        @include btn-outline-info;\n      }\n      // 表情面板\n      #emoji-classification {\n        button[aria-checked=\"true\"] {\n          background-color: $text-info;\n        }\n      }\n      // 当前登录用户链接\n      .comment-user a {\n        @include link-info;\n      }\n      // 提交评论按钮\n      .submit {\n        @include btn-info;\n      }\n    }\n    // 评论列表区\n    .comment-box {\n      // 评论者昵称\n      .comment-info {\n        .author a {\n          @include link-info;\n        }\n      }\n      // 回复链接\n      .comment-reply a {\n        border: 1px solid $text-info;\n        color: $text-info;\n        &:hover {\n          background-color: $text-info;\n          color: #ffffff;\n        }\n      }\n      // 评论内容区的链接\n      .comment-content a {\n        @include link-info;\n      }\n    }\n  }\n\n  // 页脚的功能按钮\n  #footer-btn-box button {\n    color: $text-info;\n  }\n\n  // 独立页面 - 分类目录\n  .category-page .category-list {\n    .icon {\n      color: $text-info;\n    }\n  }\n\n  // 移动设备专用目录\n  #directory-mobile .directory-list a {\n    @include link-info;\n  }\n\n  // 数据统计页配色\n  .data-page {\n    .statistics-card {\n      background-color: #B3D8FF;\n    }\n  }\n\n  // 404页面配色\n  .container-404 {\n    .to-home-link, .search-btn {\n      @include btn-info;\n    }\n  }\n\n  // 目录高亮\n  .directory-active {\n    color: #0f6674 !important;\n  }\n}"
  },
  {
    "path": "assets/css/light-color.scss",
    "content": "// 常用按钮配色\n@mixin btn-secondary {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n  &:hover {\n    color: #fff;\n    background-color: #5a6268;\n    border-color: #545b62;\n  }\n  &:focus {\n    color: #fff;\n    background-color: #5a6268;\n    border-color: #545b62;\n    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n  }\n  &:disabled {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d;\n  }\n}\n// 常用按钮透明版\n@mixin btn-outline-secondary {\n  color: #6c757d;\n  border-color: #6c757d;\n  &:hover {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d;\n  }\n  &:focus {\n    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n  }\n  &:disabled {\n    color: #6c757d;\n    background-color: transparent;\n  }\n}\n// 链接配色\n@mixin link-secondary {\n  color: #6c757d;\n  &:hover {\n    color: #494f54;\n  }\n}\n// 文字配色\n$text-secondary: #6c757d;\n\n.light-color1 {\n  // 顶部导航栏配色\n  header .navbar {\n    background-color: #343a40;\n    .navbar-brand {\n      color: #fff;\n    }\n    .navbar-brand:hover,.navbar-brand:focus {\n      color: #fff;\n    }\n    .navbar-nav .nav-link {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus {\n      color: rgba(255, 255, 255, 0.75);\n    }\n    .navbar-nav .nav-link.disabled {\n      color: rgba(255, 255, 255, 0.25);\n    }\n    .navbar-nav .show > .nav-link,\n    .navbar-nav .active > .nav-link,\n    .navbar-nav .nav-link.show,\n    .navbar-nav .nav-link.active {\n      color: #fff;\n    }\n    .navbar-toggler {\n      color: rgba(255, 255, 255, 0.5);\n      border-color: rgba(255, 255, 255, 0.1);\n    }\n    .navbar-toggler-icon {\n      background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n    }\n    .navbar-text {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-text a {\n      color: #fff;\n    }\n    .navbar-text a:hover,.navbar-text a:focus {\n      color: #fff;\n    }\n  }\n}\n\n.light-color2 {\n  // 顶部导航栏配色\n  header .navbar {\n    background-color: #fff !important;\n    .navbar-brand {\n      color: rgba(0, 0, 0, 0.9);\n    }\n    .navbar-brand:hover,.navbar-brand:focus {\n      color: rgba(0, 0, 0, 0.9);\n    }\n    .navbar-nav .nav-link {\n      color: rgba(0, 0, 0, 0.5);\n    }\n    .navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus {\n      color: rgba(0, 0, 0, 0.7);\n    }\n    .navbar-nav .nav-link.disabled {\n      color: rgba(0, 0, 0, 0.3);\n    }\n    .navbar-nav .show > .nav-link,\n    .navbar-nav .active > .nav-link,\n    .navbar-nav .nav-link.show,\n    .navbar-nav .nav-link.active {\n      color: rgba(0, 0, 0, 0.9);\n    }\n    .navbar-toggler {\n      color: rgba(0, 0, 0, 0.5);\n      border-color: rgba(0, 0, 0, 0.1);\n    }\n    .navbar-toggler-icon {\n      background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n    }\n    .navbar-text {\n      color: rgba(0, 0, 0, 0.5);\n    }\n    .navbar-text a {\n      color: rgba(0, 0, 0, 0.9);\n    }\n    .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n      color: rgba(0, 0, 0, 0.9);\n    }\n    // 切换配色的按钮\n    #change-color-btn {\n      background-color: #E5E6EB;\n      color: rgba(0, 0, 0, 0.5);\n    }\n    // 切换配色的提示配色\n    #change-color-text {\n      color: #212529;\n    }\n  }\n}\n\n.light-color1,.light-color2 {\n  // 文章列表配色\n  .article-list .post, .archives-list .post {\n    .article-info {\n      i,span {\n        color: $text-secondary;\n      }\n      a {\n        @include link-secondary;\n      }\n    }\n  }\n\n  // 分页导航区配色\n  .pagination-nav ul,.post-pagination ol {\n    li a {\n      color: $text-secondary;\n    }\n    .active a {\n      color: #ffffff;\n      background-color: $text-secondary;\n      border: none;\n    }\n  }\n\n  // 侧边栏配色\n  .sidebar {\n    // 通用列表链接、最新评论链接、博客信息区域链接、日历链接配色\n    section ul > li > a,.latest-comment a,.user-name,.calendar a {\n      @include link-secondary;\n    }\n    // 列表的徽章配色\n    section ul li .badge {\n      background-color: $text-secondary;\n      color: #ffffff;\n    }\n    // 标签云配色\n    .tag-cloud a {\n      border: 1px solid $text-secondary;\n      color: $text-secondary;\n      &:hover {\n        background-color: $text-secondary;\n        color: #ffffff;\n      }\n      &:focus {\n        background-color: $text-secondary;\n        color: #ffffff;\n      }\n    }\n    // 搜索组件配色\n    .search {\n      button {\n        @include btn-secondary;\n      }\n    }\n  }\n\n  // 面包屑导航配色\n  .breadcrumb-nav a {\n    @include link-secondary;\n  }\n\n  // 文章页配色\n  .content-area {\n    // 文章信息区域\n    .article-info .info {\n      span,i {\n        color: $text-secondary;\n      }\n      a {\n        @include link-secondary;\n      }\n    }\n    // 文章内容区域\n    .post-content {\n      // 链接\n      a {\n        @include link-secondary;\n      }\n    }\n    // 分享和点赞区域\n    .agree-and-share {\n      button {\n        @include btn-outline-secondary;\n      }\n    }\n    // 上一篇文章和下一篇文章的导航区域\n    .post-navigation a {\n      @include link-secondary;\n    }\n  }\n\n  // 评论区配色\n  #comments {\n    // 发表评论区\n    #comment-form {\n      // 打开表情面板按钮\n      #show-emoji-btn {\n        @include btn-outline-secondary;\n      }\n      // 表情面板\n      #emoji-classification {\n        button[aria-checked=\"true\"] {\n          background-color: $text-secondary;\n        }\n      }\n      // 当前登录用户链接\n      .comment-user a {\n        @include link-secondary;\n      }\n      // 提交评论按钮\n      .submit {\n        @include btn-secondary;\n      }\n    }\n    // 评论列表区\n    .comment-box {\n      // 评论者昵称\n      .comment-info {\n        .author a {\n          @include link-secondary;\n        }\n      }\n      // 回复链接\n      .comment-reply a {\n        border: 1px solid $text-secondary;\n        color: $text-secondary;\n        &:hover {\n          background-color: $text-secondary;\n          color: #ffffff;\n        }\n      }\n      // 评论内容区的链接\n      .comment-content a {\n        @include link-secondary;\n      }\n    }\n  }\n\n  // 页脚的功能按钮\n  #footer-btn-box button {\n    color: $text-secondary;\n  }\n\n  // 独立页面 - 分类目录\n  .category-page .category-list {\n    .icon {\n      color: #6C757D;\n    }\n  }\n\n  // 移动设备专用目录\n  #directory-mobile .directory-list a {\n    @include link-secondary;\n  }\n\n  // 数据统计页配色\n  .data-page {\n    .statistics-card {\n      background-color: #B3D8FF;\n    }\n  }\n\n  // 404页面配色\n  .container-404 {\n    .to-home-link, .search-btn {\n      @include btn-secondary;\n    }\n  }\n\n  // 目录高亮\n  .directory-active {\n    color: #444444 !important;\n  }\n}"
  },
  {
    "path": "assets/css/options-panel.css",
    "content": "/*选项目录*/\n#options-list {\n  position: fixed;\n  right: 0;\n  top: 150px;\n  background: #F6F6F3;\n  padding: 16px;\n  width: 120px;\n}\n#options-list h3 {\n  margin: 0;\n}\n#options-list ul {\n  padding: 0;\n  margin-left: 20px;\n}\n#options-list ul a {\n  font-size: 15px;\n}\n\n@media screen and (max-width: 767px) {\n  #options-list {\n    display: none;\n  }\n}\n\n/*主题配色预览图*/\n#preview-img {\n  width: 500px;\n  height: 313px;\n  background-color: #E7EAED;\n  background-image: url(data:image/png;base64,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);\n}\n\n/*禁止页面滚动*/\n.no-scroll {\n  overflow: hidden;\n}\n\n/*友情链接编辑器*/\n#link-editor-box {\n  width: 100%;\n  height: 100%;\n  position: fixed;\n  top: 0;\n  left: 0;\n  background: rgba(0, 0, 0, 0.7);\n  z-index: 1000;\n}\n#link-editor-box #link-editor {\n  width: 900px;\n  height: 500px;\n  background: #F6F6F3;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.19);\n}\n/*小屏幕设备的编辑器*/\n@media screen and (max-width: 899px)  {\n  #link-editor-box #link-editor {\n    width: 100%;\n    height: 100%;\n  }\n}\n\n#link-editor-box #link-editor-title {\n  width: 100%;\n  height: 36px;\n  line-height: 36px;\n  text-align: center;\n  color: #FFFFFF;\n  background: #000000;\n  margin: 0;\n}\n#link-editor-box #link-list {\n  height: 414px;\n  width: 100%;\n  overflow-y: auto;\n}\n/*编辑器的表格*/\n#link-editor-box table {\n  width: 100%;\n  border-collapse: collapse;\n  font-family: 'Arial', sans-serif;\n  word-break: break-word;\n}\n#link-editor-box table th {\n  background-color: #447B99;\n  color: white;\n  text-align: left;\n  padding: 12px;\n}\n#link-editor-box table td {\n  padding: 12px;\n  border-bottom: 1px solid #ddd;\n  min-width: 60px;\n  word-wrap: break-word;\n}\n#link-editor-box table td input {\n  width: 100%;\n}\n#link-editor-box table tr:nth-child(odd) {\n  background-color: #f2f2f2;\n}\n#link-editor-box table tr:nth-child(even) {\n  background-color: #ffffff;\n}\n#link-editor-box table tr:hover {\n  background-color: #ddd;\n}\n/*编辑器的底部按钮区域*/\n#link-editor-box .dialog-actions {\n  height: 50px;\n  border-top: 1px solid #ddd;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0 16px;\n}\n#link-editor-box .dialog-actions .close-btn {\n  margin-right: 8px;\n}"
  },
  {
    "path": "assets/css/primary-color.scss",
    "content": "// 常用按钮配色\n@mixin btn-primary {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n  &:hover {\n    color: #fff;\n    background-color: #0069d9;\n    border-color: #0062cc;\n  }\n  &:focus {\n    color: #fff;\n    background-color: #0069d9;\n    border-color: #0062cc;\n    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n  }\n  &:disabled {\n    color: #fff;\n    background-color: #007bff;\n    border-color: #007bff;\n  }\n}\n// 常用按钮透明版\n@mixin btn-outline-primary {\n  color: #007bff;\n  border-color: #007bff;\n  &:hover {\n    color: #fff;\n    background-color: #007bff;\n    border-color: #007bff;\n  }\n  &:focus {\n    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n  }\n  &:disabled {\n    color: #007bff;\n    background-color: transparent;\n  }\n}\n// 链接配色\n@mixin link-primary {\n  color: #007bff;\n  &:hover {\n    color: #0056b3;\n  }\n}\n// 文字配色\n$text-primary: #007bff;\n\n.primary-color {\n  // 顶部导航栏配色\n  header .navbar {\n    background-color: $text-primary !important;\n    .navbar-brand {\n      color: #fff;\n    }\n    .navbar-brand:hover,.navbar-brand:focus {\n      color: #fff;\n    }\n    .navbar-nav .nav-link {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus {\n      color: rgba(255, 255, 255, 0.75);\n    }\n    .navbar-nav .nav-link.disabled {\n      color: rgba(255, 255, 255, 0.25);\n    }\n    .navbar-nav .show > .nav-link,\n    .navbar-nav .active > .nav-link,\n    .navbar-nav .nav-link.show,\n    .navbar-nav .nav-link.active {\n      color: #fff;\n    }\n    .navbar-toggler {\n      color: rgba(255, 255, 255, 0.5);\n      border-color: rgba(255, 255, 255, 0.1);\n    }\n    .navbar-toggler-icon {\n      background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n    }\n    .navbar-text {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-text a {\n      color: #fff;\n    }\n    .navbar-text a:hover,.navbar-text a:focus {\n      color: #fff;\n    }\n  }\n\n  // 文章列表配色\n  .article-list .post, .archives-list .post {\n    .article-info {\n      i,span {\n        color: $text-primary;\n      }\n      a {\n        @include link-primary;\n      }\n    }\n  }\n\n  // 分页导航区配色\n  .pagination-nav ul,.post-pagination ol {\n    li a {\n      color: $text-primary;\n    }\n    .active a {\n      color: #ffffff;\n      background-color: $text-primary;\n      border: none;\n    }\n  }\n\n  // 侧边栏配色\n  .sidebar {\n    // 通用列表链接、最新评论链接、博客信息区域链接、日历链接配色\n    section ul > li > a,.latest-comment a,.user-name,.calendar a {\n      @include link-primary;\n    }\n    // 列表的徽章配色\n    section ul li .badge {\n      background-color: $text-primary;\n      color: #ffffff;\n    }\n    // 标签云配色\n    .tag-cloud a {\n      border: 1px solid $text-primary;\n      color: $text-primary;\n      &:hover {\n        background-color: $text-primary;\n        color: #ffffff;\n      }\n      &:focus {\n        background-color: $text-primary;\n        color: #ffffff;\n      }\n    }\n    // 搜索组件配色\n    .search {\n      button {\n        @include btn-primary;\n      }\n    }\n  }\n\n  // 面包屑导航配色\n  .breadcrumb-nav a {\n    @include link-primary;\n  }\n\n  // 文章页配色\n  .content-area {\n    // 文章信息区域\n    .article-info .info {\n      span,i {\n        color: $text-primary;\n      }\n      a {\n        @include link-primary;\n      }\n    }\n    // 文章内容区域\n    .post-content {\n      // 链接\n      a {\n        @include link-primary;\n      }\n    }\n    // 分享和点赞区域\n    .agree-and-share {\n      button {\n        @include btn-outline-primary;\n      }\n    }\n    // 上一篇文章和下一篇文章的导航区域\n    .post-navigation a {\n      @include link-primary;\n    }\n  }\n\n  // 评论区配色\n  #comments {\n    // 发表评论区\n    #comment-form {\n      // 打开表情面板按钮\n      #show-emoji-btn {\n        @include btn-outline-primary;\n      }\n      // 表情面板\n      #emoji-classification {\n        button[aria-checked=\"true\"] {\n          background-color: $text-primary;\n        }\n      }\n      // 当前登录用户链接\n      .comment-user a {\n        @include link-primary;\n      }\n      // 提交评论按钮\n      .submit {\n        @include btn-primary;\n      }\n    }\n    // 评论列表区\n    .comment-box {\n      // 评论者昵称\n      .comment-info {\n        .author a {\n          @include link-primary;\n        }\n      }\n      // 回复链接\n      .comment-reply a {\n        border: 1px solid $text-primary;\n        color: $text-primary;\n        &:hover {\n          background-color: $text-primary;\n          color: #ffffff;\n        }\n      }\n      // 评论内容区的链接\n      .comment-content a {\n        @include link-primary;\n      }\n    }\n  }\n\n  // 页脚的功能按钮\n  #footer-btn-box button {\n    color: $text-primary;\n  }\n\n  // 独立页面 - 分类目录\n  .category-page .category-list {\n    .icon {\n      color: $text-primary;\n    }\n  }\n\n  // 移动设备专用目录\n  #directory-mobile .directory-list a {\n    @include link-primary;\n  }\n\n  // 数据统计页配色\n  .data-page {\n    .statistics-card {\n      background-color: #B3D8FF;\n    }\n  }\n\n  // 404页面配色\n  .container-404 {\n    .to-home-link, .search-btn {\n      @include btn-primary;\n    }\n  }\n\n  // 目录高亮\n  .directory-active {\n    color: #0056b3 !important;\n  }\n}"
  },
  {
    "path": "assets/css/style.css",
    "content": "@charset \"UTF-8\";\n/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n.stackoverflow-light {\n  /*!\n    Theme: StackOverflow Light\n    Description: Light theme as used on stackoverflow.com\n    Author: stackoverflow.com\n    Maintainer: @Hirse\n    Website: https://github.com/StackExchange/Stacks\n    License: MIT\n    Updated: 2021-05-15\n\n    Updated for @stackoverflow/stacks v0.64.0\n    Code Blocks: /blob/v0.64.0/lib/css/components/_stacks-code-blocks.less\n    Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less\n  */\n}\n.stackoverflow-light pre {\n  background: #F6F6F6;\n}\n.stackoverflow-light pre .line-box {\n  background: #EFF2F3;\n}\n.stackoverflow-light pre .line-box div {\n  color: #777777;\n}\n.stackoverflow-light pre code.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 1em;\n}\n.stackoverflow-light code.hljs {\n  padding: 3px 5px;\n}\n.stackoverflow-light .hljs {\n  color: #2f3337;\n  background: #f6f6f6;\n}\n.stackoverflow-light .hljs-subst {\n  color: #2f3337;\n}\n.stackoverflow-light .hljs-comment {\n  color: #656e77;\n}\n.stackoverflow-light .hljs-attr, .stackoverflow-light .hljs-doctag, .stackoverflow-light .hljs-keyword, .stackoverflow-light .hljs-meta .hljs-keyword, .stackoverflow-light .hljs-section, .stackoverflow-light .hljs-selector-tag {\n  color: #015692;\n}\n.stackoverflow-light .hljs-attribute {\n  color: #803378;\n}\n.stackoverflow-light .hljs-name, .stackoverflow-light .hljs-number, .stackoverflow-light .hljs-quote, .stackoverflow-light .hljs-selector-id, .stackoverflow-light .hljs-template-tag, .stackoverflow-light .hljs-type {\n  color: #b75501;\n}\n.stackoverflow-light .hljs-selector-class {\n  color: #015692;\n}\n.stackoverflow-light .hljs-link, .stackoverflow-light .hljs-regexp, .stackoverflow-light .hljs-selector-attr, .stackoverflow-light .hljs-string, .stackoverflow-light .hljs-symbol, .stackoverflow-light .hljs-template-variable, .stackoverflow-light .hljs-variable {\n  color: #54790d;\n}\n.stackoverflow-light .hljs-meta, .stackoverflow-light .hljs-selector-pseudo {\n  color: #015692;\n}\n.stackoverflow-light .hljs-built_in, .stackoverflow-light .hljs-literal, .stackoverflow-light .hljs-title {\n  color: #b75501;\n}\n.stackoverflow-light .hljs-bullet, .stackoverflow-light .hljs-code {\n  color: #535a60;\n}\n.stackoverflow-light .hljs-meta .hljs-string {\n  color: #54790d;\n}\n.stackoverflow-light .hljs-deletion {\n  color: #c02d2e;\n}\n.stackoverflow-light .hljs-addition {\n  color: #2f6f44;\n}\n.stackoverflow-light .hljs-emphasis {\n  font-style: italic;\n}\n.stackoverflow-light .hljs-strong {\n  font-weight: 700;\n}\n\n.github-dark {\n  /*!\n    Theme: GitHub Dark\n    Description: Dark theme as seen on github.com\n    Author: github.com\n    Maintainer: @Hirse\n    Updated: 2021-05-15\n\n    Outdated base version: https://github.com/primer/github-syntax-dark\n    Current colors taken from GitHub's CSS\n  */\n}\n.github-dark pre {\n  background: #0D1116;\n}\n.github-dark pre .line-box {\n  background: #151B23;\n}\n.github-dark pre .line-box div {\n  color: #9B9B9B;\n}\n.github-dark pre code.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 1em;\n}\n.github-dark code.hljs {\n  padding: 3px 5px;\n}\n.github-dark .hljs {\n  color: #c9d1d9;\n  background: #0d1117;\n}\n.github-dark .hljs-doctag, .github-dark .hljs-keyword, .github-dark .hljs-meta .hljs-keyword, .github-dark .hljs-template-tag, .github-dark .hljs-template-variable, .github-dark .hljs-type, .github-dark .hljs-variable.language_ {\n  color: #ff7b72;\n}\n.github-dark .hljs-title, .github-dark .hljs-title.class_, .github-dark .hljs-title.class_.inherited__, .github-dark .hljs-title.function_ {\n  color: #d2a8ff;\n}\n.github-dark .hljs-attr, .github-dark .hljs-attribute, .github-dark .hljs-literal, .github-dark .hljs-meta, .github-dark .hljs-number, .github-dark .hljs-operator, .github-dark .hljs-selector-attr, .github-dark .hljs-selector-class, .github-dark .hljs-selector-id, .github-dark .hljs-variable {\n  color: #79c0ff;\n}\n.github-dark .hljs-meta .hljs-string, .github-dark .hljs-regexp, .github-dark .hljs-string {\n  color: #a5d6ff;\n}\n.github-dark .hljs-built_in, .github-dark .hljs-symbol {\n  color: #ffa657;\n}\n.github-dark .hljs-code, .github-dark .hljs-comment, .github-dark .hljs-formula {\n  color: #8b949e;\n}\n.github-dark .hljs-name, .github-dark .hljs-quote, .github-dark .hljs-selector-pseudo, .github-dark .hljs-selector-tag {\n  color: #7ee787;\n}\n.github-dark .hljs-subst {\n  color: #c9d1d9;\n}\n.github-dark .hljs-section {\n  color: #1f6feb;\n  font-weight: 700;\n}\n.github-dark .hljs-bullet {\n  color: #f2cc60;\n}\n.github-dark .hljs-emphasis {\n  color: #c9d1d9;\n  font-style: italic;\n}\n.github-dark .hljs-strong {\n  color: #c9d1d9;\n  font-weight: 700;\n}\n.github-dark .hljs-addition {\n  color: #aff5b4;\n  background-color: #033a16;\n}\n.github-dark .hljs-deletion {\n  color: #ffdcd7;\n  background-color: #67060c;\n}\n\n.sunburst pre {\n  background: #000000;\n}\n.sunburst pre .line-box {\n  background: #131314;\n}\n.sunburst pre .line-box div {\n  color: #AEAEAE;\n}\n.sunburst pre code.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 1em;\n}\n.sunburst code.hljs {\n  padding: 3px 5px;\n}\n.sunburst .hljs {\n  background: #000;\n  color: #f8f8f8;\n}\n.sunburst .hljs-comment, .sunburst .hljs-quote {\n  color: #aeaeae;\n  font-style: italic;\n}\n.sunburst .hljs-keyword, .sunburst .hljs-selector-tag, .sunburst .hljs-type {\n  color: #e28964;\n}\n.sunburst .hljs-string {\n  color: #65b042;\n}\n.sunburst .hljs-subst {\n  color: #daefa3;\n}\n.sunburst .hljs-link, .sunburst .hljs-regexp {\n  color: #e9c062;\n}\n.sunburst .hljs-name, .sunburst .hljs-section, .sunburst .hljs-tag, .sunburst .hljs-title {\n  color: #89bdff;\n}\n.sunburst .hljs-class .hljs-title, .sunburst .hljs-doctag, .sunburst .hljs-title.class_ {\n  text-decoration: underline;\n}\n.sunburst .hljs-bullet, .sunburst .hljs-number, .sunburst .hljs-symbol {\n  color: #3387cc;\n}\n.sunburst .hljs-params, .sunburst .hljs-template-variable, .sunburst .hljs-variable {\n  color: #3e87e3;\n}\n.sunburst .hljs-attribute {\n  color: #cda869;\n}\n.sunburst .hljs-meta {\n  color: #8996a8;\n}\n.sunburst .hljs-formula {\n  background-color: #0e2231;\n  color: #f8f8f8;\n  font-style: italic;\n}\n.sunburst .hljs-addition {\n  background-color: #253b22;\n  color: #f8f8f8;\n}\n.sunburst .hljs-deletion {\n  background-color: #420e09;\n  color: #f8f8f8;\n}\n.sunburst .hljs-selector-class {\n  color: #9b703f;\n}\n.sunburst .hljs-selector-id {\n  color: #8b98ab;\n}\n.sunburst .hljs-emphasis {\n  font-style: italic;\n}\n.sunburst .hljs-strong {\n  font-weight: 700;\n}\n\n.enable-highlight pre {\n  position: relative;\n}\n.enable-highlight pre:hover .copy-code-btn {\n  display: block;\n}\n.enable-highlight pre .line-box {\n  width: 40px;\n  position: absolute;\n  top: 0;\n  left: 0;\n  padding-top: 12px;\n  padding-bottom: 12px;\n}\n.enable-highlight pre .line-box div {\n  line-height: 22.5px;\n  height: 22.5px;\n  padding-right: 9px;\n  font-size: 14px;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.enable-highlight pre code {\n  font-size: 15px;\n  scrollbar-width: thin;\n  scrollbar-color: #666666 #f0f0f0;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  scrollbar-face-color: #666666;\n  scrollbar-track-color: #f0f0f0;\n  scrollbar-arrow-color: #666666;\n  scrollbar-shadow-color: #f0f0f0;\n}\n.enable-highlight pre code::-webkit-scrollbar {\n  width: 12px;\n  height: 12px;\n}\n.enable-highlight pre code::-webkit-scrollbar-track {\n  background: #f0f0f0;\n  border-radius: 8px;\n}\n.enable-highlight pre code::-webkit-scrollbar-thumb {\n  background-color: #666666;\n  border-radius: 8px;\n  border: 3px solid #f0f0f0;\n}\n.enable-highlight pre code::-webkit-scrollbar-thumb:hover {\n  background-color: #444444;\n}\n.enable-highlight pre .copy-code-btn {\n  border-color: #BBBBBB;\n  color: #BBBBBB;\n}\n.enable-highlight pre .copy-code-btn:hover {\n  background-color: #BBBBBB;\n  color: #FFFFFF;\n}\n\n.line-num-show pre code {\n  padding: 12px 10px 12px 54px !important;\n}\n\n.line-num-hide pre code {\n  padding: 12px 16px !important;\n}\n\n.mwordstar-block {\n  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.1);\n  border-radius: 4px;\n  border: 1px solid #dedede !important;\n  background-color: #FFFFFF;\n}\n\nbody[data-rounded=rightAngle] .mwordstar-block {\n  border-radius: 0;\n}\nbody[data-rounded=rightAngle] header .navbar .search-form input, body[data-rounded=rightAngle] header .navbar .search-form button {\n  border-radius: 0;\n}\nbody[data-rounded=rightAngle] .pagination-nav li > a {\n  border-radius: 0 !important;\n}\nbody[data-rounded=rightAngle] .tag-cloud .tag-link {\n  border-radius: 0;\n}\nbody[data-rounded=rightAngle] .sidebar .search input, body[data-rounded=rightAngle] .sidebar .search button {\n  border-radius: 0;\n}\nbody[data-rounded=rightAngle] .post-page .agree-and-share button {\n  border-radius: 0;\n}\nbody[data-rounded=rightAngle] #comments #comment-form input, body[data-rounded=rightAngle] #comments #comment-form textarea, body[data-rounded=rightAngle] #comments #comment-form button {\n  border-radius: 0;\n}\nbody[data-rounded=rightAngle] #comments #emoji-panel {\n  border-radius: 0 !important;\n}\nbody[data-rounded=rightAngle] #comments .comment-reply a {\n  border-radius: 0 !important;\n}\nbody[data-rounded=rightAngle] .container-404 .search-box input, body[data-rounded=rightAngle] .container-404 .search-box button {\n  border-radius: 0;\n}\nbody[data-rounded=rightAngle] .container-404 .to-home-link {\n  border-radius: 0;\n}\n\n.stop-scrolling {\n  height: 100%;\n  overflow: hidden;\n}\n\n.avatar {\n  background: #E0E0E0;\n}\n\n.copy-code-btn {\n  position: absolute;\n  top: 8px;\n  right: 8px;\n  display: none;\n}\n\n.breadcrumb {\n  background: none;\n}\n\n#directory-box {\n  background: #F8F9FA;\n  display: inline-block;\n}\n#directory-box ul {\n  list-style: none;\n}\n#directory-box ul .directory-num {\n  color: #444444;\n}\n#directory-box > ul {\n  padding-left: 0;\n}\n#directory-box > ul ul {\n  padding-left: 32px;\n}\n\n#max-img-box {\n  width: 100%;\n  height: 100%;\n  position: fixed;\n  top: 0;\n  left: 0;\n  background: rgba(0, 0, 0, 0.8);\n  display: none;\n  z-index: 2000;\n}\n#max-img-box .loading-animation {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  z-index: 2002;\n  transform: translate(-50%, -50%);\n}\n#max-img-box #img-counter {\n  text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n  color: #FFFFFF;\n  font-size: 16px;\n  position: absolute;\n  top: 10px;\n  z-index: 2002;\n  margin-left: 50%;\n  transform: translateX(-50%);\n  line-height: 38px;\n}\n#max-img-box .btn-bar {\n  position: absolute;\n  right: 10px;\n  top: 10px;\n  z-index: 2002;\n}\n#max-img-box .btn-bar button {\n  color: #FFFFFF;\n  text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n  font-size: 16px;\n}\n#max-img-box .btn-bar button:hover {\n  color: #F7E6D2;\n}\n#max-img-box .previous-image, #max-img-box .next-image {\n  padding: 2px 14px;\n  font-size: 40px;\n  position: absolute;\n  z-index: 2002;\n  top: 50%;\n  transform: translateY(-50%);\n  color: #FFFFFF;\n  text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n}\n#max-img-box .previous-image:hover, #max-img-box .next-image:hover {\n  text-decoration: none;\n}\n#max-img-box .previous-image {\n  left: 20px;\n}\n#max-img-box .next-image {\n  right: 20px;\n}\n#max-img-box #img-alt {\n  text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n  color: #FFFFFF;\n  font-size: 16px;\n  position: absolute;\n  bottom: 30px;\n  z-index: 2002;\n  margin-left: 50%;\n  transform: translateX(-50%);\n  width: 90%;\n  text-align: center;\n}\n#max-img-box .change-img-animation {\n  animation: fadeIn 0.25s ease-in-out;\n  transition: width 0.25s, height 0.25s, left 0.25s, top 0.25s;\n}\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n\n#max-img {\n  position: absolute;\n  z-index: 2001;\n}\n\n.pingback, .text-avatar {\n  background: #488CB8;\n  text-align: center;\n  font-size: 14px;\n  color: #ffffff;\n  font-weight: 700;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n#footer-btn-box {\n  width: 40px;\n  position: fixed;\n  right: 20px;\n  bottom: 20px;\n}\n#footer-btn-box button {\n  width: 40px;\n  height: 40px;\n  background: #ffffff;\n  border: 1px solid #d3d3d3;\n  opacity: 0.7;\n  margin-top: 20px;\n}\n\n#directory-mobile {\n  position: fixed;\n  right: 60px;\n  bottom: 80px;\n  flex-direction: column;\n  display: flex;\n  max-height: 70%;\n  width: 300px;\n  background: #FFFFFF;\n  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.1);\n  opacity: 0;\n}\n#directory-mobile .directory-list {\n  height: 100%;\n  overflow-y: auto;\n}\n#directory-mobile .directory-list ul {\n  list-style: none;\n  padding-left: 0;\n}\n#directory-mobile .directory-list ul ul {\n  padding-left: 15px;\n}\n#directory-mobile .directory-list a {\n  font-size: 14px;\n}\n#directory-mobile .title-bar {\n  height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0 10px;\n}\n#directory-mobile .title-bar i {\n  font-size: 15px;\n}\n\nbody {\n  background: #e4e4e4;\n}\n\na {\n  transition: 0.3s;\n}\n\nheader {\n  width: 100%;\n  z-index: 999;\n}\nheader .navbar {\n  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.1);\n}\nheader .navbar .search-form input:focus {\n  box-shadow: none;\n}\nheader .navbar .search-form button {\n  background: #f8f8f8;\n  border: 1px solid #d3d3d3;\n}\nheader .navbar .search-form button:hover {\n  background: #f0f0f0;\n}\nheader .navbar .search-form button:focus {\n  background: #f0f0f0;\n}\n\n#progress-bar {\n  width: 100%;\n  height: 3px;\n  position: fixed;\n  top: 0;\n  left: 0;\n  background: #E0E0E0;\n  z-index: 2000;\n}\n#progress-bar #progress {\n  height: 100%;\n  width: 0;\n}\n\n.container .article-list {\n  margin-top: 15px;\n}\n.container .article-list .post {\n  margin-bottom: 30px;\n  overflow: hidden;\n}\n.container .article-list .post .header-img {\n  width: 100%;\n}\n.container .article-list .post .header-img .fixed {\n  display: block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  background-size: cover;\n  background-position: center;\n}\n.container .article-list .post .header-img .fixed:after {\n  content: \"\";\n  padding-bottom: 37.5%;\n  display: block;\n}\n.container .article-list .post .header-img img {\n  width: 100%;\n}\n.container .article-list .post .entry-header {\n  overflow: hidden;\n}\n.container .article-list .post .entry-header .entry-title {\n  font-size: 28px;\n  font-weight: 700;\n  padding: 20px 20px 12px 20px;\n}\n.container .article-list .post .entry-header .entry-title a {\n  color: #222222;\n}\n.container .article-list .post .entry-header .entry-title {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.container .article-list .post .entry-summary {\n  padding: 20px;\n}\n.container .article-list .post .entry-summary p {\n  font-size: 15px;\n  line-height: 25px;\n}\n.container .article-list .post .post-content {\n  font-size: 15px;\n  word-break: break-all;\n}\n.container .article-list .post .post-content ul,\n.container .article-list .post .post-content ol,\n.container .article-list .post .post-content img,\n.container .article-list .post .post-content pre,\n.container .article-list .post .post-content blockquote,\n.container .article-list .post .post-content h1,\n.container .article-list .post .post-content h2,\n.container .article-list .post .post-content h3,\n.container .article-list .post .post-content h4,\n.container .article-list .post .post-content h5,\n.container .article-list .post .post-content p {\n  margin: 0 0 20px 0;\n}\n.container .article-list .post .post-content img {\n  max-width: 100%;\n  cursor: zoom-in;\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n.container .article-list .post .post-content h1,\n.container .article-list .post .post-content h2,\n.container .article-list .post .post-content h3,\n.container .article-list .post .post-content h4,\n.container .article-list .post .post-content h5,\n.container .article-list .post .post-content h6 {\n  font-weight: 700;\n  color: #444444;\n}\n.container .article-list .post .post-content h1 > code,\n.container .article-list .post .post-content h2 > code,\n.container .article-list .post .post-content h3 > code,\n.container .article-list .post .post-content h4 > code,\n.container .article-list .post .post-content h5 > code,\n.container .article-list .post .post-content h6 > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n.container .article-list .post .post-content h1 {\n  font-size: 30px;\n  margin: 50px 0 20px 0;\n}\n.container .article-list .post .post-content h2 {\n  font-size: 25px;\n}\n.container .article-list .post .post-content h3 {\n  font-size: 20px;\n}\n.container .article-list .post .post-content h4 {\n  font-size: 15px;\n}\n.container .article-list .post .post-content h5 {\n  font-size: 12.45px;\n}\n.container .article-list .post .post-content h6 {\n  font-size: 12px;\n}\n.container .article-list .post .post-content blockquote {\n  border-left: 4px solid #1a1a1a;\n  padding-left: 22.5px;\n  font-size: 17px;\n  color: #686868;\n  font-style: italic;\n}\n.container .article-list .post .post-content table td {\n  min-width: 90px;\n}\n.container .article-list .post .post-content .table-responsive {\n  margin-bottom: 20px;\n}\n.container .article-list .post .post-content .table-responsive table {\n  margin-bottom: 0;\n}\n.container .article-list .post .post-content p {\n  color: #444444;\n  line-height: 25px;\n}\n.container .article-list .post .post-content li {\n  color: #444444;\n  padding: 2px 0;\n}\n.container .article-list .post .post-content p > code,\n.container .article-list .post .post-content li > code,\n.container .article-list .post .post-content th > code,\n.container .article-list .post .post-content td > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n.container .article-list .post .post-content video {\n  width: 100%;\n}\n.container .article-list .post .post-content .table-responsive {\n  scrollbar-width: thin;\n  scrollbar-color: #666666 #f0f0f0;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  scrollbar-face-color: #666666;\n  scrollbar-track-color: #f0f0f0;\n  scrollbar-arrow-color: #666666;\n  scrollbar-shadow-color: #f0f0f0;\n}\n.container .article-list .post .post-content .table-responsive::-webkit-scrollbar {\n  width: 12px;\n  height: 12px;\n}\n.container .article-list .post .post-content .table-responsive::-webkit-scrollbar-track {\n  background: #f0f0f0;\n  border-radius: 8px;\n}\n.container .article-list .post .post-content .table-responsive::-webkit-scrollbar-thumb {\n  background-color: #666666;\n  border-radius: 8px;\n  border: 3px solid #f0f0f0;\n}\n.container .article-list .post .post-content .table-responsive::-webkit-scrollbar-thumb:hover {\n  background-color: #444444;\n}\n.container .article-list .post .article-info {\n  padding: 10px 25px;\n}\n.container .article-list .post .article-info .info {\n  float: left;\n  margin-right: 20px;\n  height: 29px;\n}\n.container .article-list .post .article-info a,\n.container .article-list .post .article-info span {\n  font-size: 12px;\n  line-height: 29px;\n}\n.container .article-list .post .article-info a:hover {\n  color: #76839b;\n}\n.container .article-list .post .article-info .icon {\n  margin-right: 4px;\n  font-size: 12px;\n  line-height: 29px;\n}\n.container .article-list .post .article-info .tags a,\n.container .article-list .post .article-info .category a {\n  margin-right: 3px;\n}\n.container .article-list .post .entry-summary[data-header-image-type=mini] .mini-header-image a {\n  display: block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  background-size: cover;\n  background-position: center;\n  background-color: #E0E0E0;\n}\n.container .article-list .post .entry-summary[data-header-image-type=mini] .mini-header-image a:after {\n  content: \"\";\n  padding-bottom: 66.66%;\n  display: block;\n}\n.container .article-list .post .entry-summary[data-header-image-type=mini] .content-box p {\n  max-height: 120px;\n  overflow-y: hidden;\n  margin-bottom: 0;\n}\n\n.main-content {\n  margin-top: 15px;\n}\n\n.home .no-post-message {\n  padding: 20px;\n}\n\n.sidebar section {\n  margin-left: 20px;\n  margin-bottom: 30px;\n}\n.sidebar section h4 {\n  line-height: 22px;\n  padding: 12px 2px;\n  font-size: 16px;\n  border-bottom: 2px solid #6c757d;\n  margin: 0 18px 10px 18px;\n  font-weight: 700;\n}\n.sidebar section ul {\n  list-style: none;\n  padding: 0 18px 18px 18px;\n}\n.sidebar section ul li {\n  padding: 8px 0;\n  font-size: 13px;\n}\n.sidebar section ul li a {\n  font-size: 14px;\n  font-weight: 500;\n}\n.sidebar section ul li .avatar {\n  border-radius: 50%;\n}\n.sidebar section .message {\n  padding: 0 18px 18px 18px;\n}\n.sidebar section .personal-information {\n  padding: 0 18px 18px 18px;\n}\n.sidebar section .personal-information .user {\n  width: 100%;\n}\n.sidebar section .personal-information .user .avatar {\n  width: 72px;\n  height: 72px;\n  display: block;\n  margin: 0 auto;\n  transition: 0.4s;\n  border-radius: 50%;\n}\n.sidebar section .personal-information .user .text-avatar {\n  width: 72px;\n  height: 72px;\n  line-height: 72px;\n  border-radius: 50%;\n  font-size: 24px;\n}\n.sidebar section .personal-information .user .user-name {\n  display: block;\n  font-size: 16px;\n}\n.sidebar section .personal-information .user .user-name,\n.sidebar section .personal-information .user .introduction {\n  margin: 0;\n  text-align: center;\n  line-height: 20px;\n}\n.sidebar section .personal-information .user .introduction {\n  font-size: 14px;\n}\n.sidebar section .personal-information .website {\n  padding-top: 18px;\n  margin-top: 18px;\n}\n.sidebar section .personal-information .website .info {\n  width: 33.33%;\n  text-align: center;\n  font-size: 14px;\n}\n.sidebar section .personal-information .website .info .quantity {\n  font-size: 20px;\n  margin: 0;\n}\n.sidebar section .tag-list {\n  padding: 0 18px 18px 18px;\n}\n.sidebar section .tag-list .tag-link {\n  margin: 0 4px 4px 0;\n  font-size: 12px;\n  border-radius: 4px;\n  font-weight: 500;\n}\n.sidebar .calendar table {\n  width: 100%;\n}\n.sidebar .calendar table td a {\n  font-size: 16px;\n}\n.sidebar .calendar table .active {\n  background: #F2F2F2;\n}\n.sidebar .calendar nav a {\n  font-size: 14px;\n}\n.sidebar .latest-articles li a {\n  transition: 0.4s;\n}\n.sidebar .latest-articles li a .article-img {\n  display: none;\n  transition: 0.4s;\n}\n.sidebar .latest-articles li a p {\n  margin: 0;\n}\n.sidebar .latest-articles .latest-articles-active {\n  overflow: hidden;\n  position: relative;\n  display: block;\n  width: 100%;\n}\n.sidebar .latest-articles .latest-articles-active .article-img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  background-size: cover;\n  background-position: center;\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n.sidebar .latest-articles .latest-articles-active p {\n  width: 100%;\n  position: absolute;\n  bottom: 0;\n  background: rgba(0, 0, 0, 0.6);\n  color: #ffffff;\n  padding: 7px;\n}\n.sidebar .latest-articles .latest-articles-active img {\n  display: inline;\n  width: 100%;\n}\n.sidebar .latest-articles .latest-articles-active:after {\n  content: \"\";\n  display: block;\n  padding-bottom: 44%;\n}\n.sidebar .category li {\n  padding-left: 24px;\n}\n.sidebar .category .indentation-0 {\n  padding-left: 0;\n}\n.sidebar .latest-comment .media-body,\n.sidebar .latest-comment .comment-content {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.sidebar .latest-comment .avatar {\n  width: 40px;\n  height: 40px;\n}\n.sidebar .latest-comment .pingback, .sidebar .latest-comment .text-avatar {\n  line-height: 40px;\n}\n.sidebar .directory {\n  padding: 0 18px;\n}\n.sidebar .directory > .article-directory {\n  overflow-y: auto;\n  padding: 0;\n}\n.sidebar .directory > .article-directory::-webkit-scrollbar {\n  width: 6px;\n  background: #F1F1F1;\n}\n.sidebar .directory > .article-directory::-webkit-scrollbar-thumb {\n  background: #A8A8A8;\n}\n.sidebar .directory > .article-directory .article-directory {\n  margin-bottom: 0 !important;\n  padding-bottom: 0;\n}\n.sidebar .customize-html {\n  font-size: 14px;\n  padding: 0 18px 18px 18px;\n  word-break: break-all;\n}\n.sidebar .customize-html img {\n  max-width: 100%;\n}\n.sidebar .reference-line {\n  margin-left: 20px;\n}\n\n.directory-active {\n  font-weight: 600 !important;\n}\n\n.pagination-nav {\n  width: 100%;\n  text-align: center;\n  margin-bottom: 30px;\n}\n.pagination-nav li {\n  border-radius: unset;\n}\n.pagination-nav li a {\n  border-radius: unset;\n}\n\nfooter .container {\n  padding: 20px 20px;\n  text-align: center;\n}\nfooter .container a,\nfooter .container span {\n  margin: 0 5px;\n  color: #525252;\n  font-size: 15px;\n}\n\n.article-page, .archive, .page {\n  margin-top: 15px;\n}\n.article-page main, .archive main, .page main {\n  margin-bottom: 30px;\n}\n.article-page main .entry-header .entry-title, .archive main .entry-header .entry-title, .page main .entry-header .entry-title {\n  font-size: 28px;\n  font-weight: 700;\n  padding: 20px 20px 12px 20px;\n}\n.article-page main .entry-header .entry-title a, .archive main .entry-header .entry-title a, .page main .entry-header .entry-title a {\n  color: #222222;\n}\n.article-page main .header-img, .archive main .header-img, .page main .header-img {\n  width: 100%;\n}\n.article-page main .header-img .fixed, .archive main .header-img .fixed, .page main .header-img .fixed {\n  display: block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  background-size: cover;\n  background-position: center;\n}\n.article-page main .header-img .fixed:after, .archive main .header-img .fixed:after, .page main .header-img .fixed:after {\n  content: \"\";\n  padding-bottom: 37.5%;\n  display: block;\n}\n.article-page main .header-img img, .archive main .header-img img, .page main .header-img img {\n  width: 100%;\n}\n.article-page main .header-img .fixed:after, .archive main .header-img .fixed:after, .page main .header-img .fixed:after {\n  content: \"\";\n  display: block;\n  padding-bottom: 44%;\n}\n.article-page main .article-info, .archive main .article-info, .page main .article-info {\n  padding: 10px 25px;\n}\n.article-page main .article-info .info, .archive main .article-info .info, .page main .article-info .info {\n  float: left;\n  margin-right: 20px;\n  height: 29px;\n}\n.article-page main .article-info a, .archive main .article-info a, .page main .article-info a,\n.article-page main .article-info span,\n.archive main .article-info span,\n.page main .article-info span {\n  font-size: 12px;\n  line-height: 29px;\n}\n.article-page main .article-info a:hover, .archive main .article-info a:hover, .page main .article-info a:hover {\n  color: #76839b;\n}\n.article-page main .article-info .icon, .archive main .article-info .icon, .page main .article-info .icon {\n  margin-right: 4px;\n  font-size: 12px;\n  line-height: 29px;\n}\n.article-page main .article-info .tags a, .archive main .article-info .tags a, .page main .article-info .tags a,\n.article-page main .article-info .category a,\n.archive main .article-info .category a,\n.page main .article-info .category a {\n  margin-right: 3px;\n}\n.article-page main article, .archive main article, .page main article {\n  padding: 20px;\n}\n.article-page main article .warning-info, .archive main article .warning-info, .page main article .warning-info {\n  background-color: #E5E6EB;\n}\n.article-page main article .post-content, .archive main article .post-content, .page main article .post-content {\n  margin-top: 10px;\n  width: 100%;\n  font-size: 15px;\n  word-break: break-all;\n}\n.article-page main article .post-content ul, .archive main article .post-content ul, .page main article .post-content ul,\n.article-page main article .post-content ol,\n.archive main article .post-content ol,\n.page main article .post-content ol,\n.article-page main article .post-content img,\n.archive main article .post-content img,\n.page main article .post-content img,\n.article-page main article .post-content pre,\n.archive main article .post-content pre,\n.page main article .post-content pre,\n.article-page main article .post-content blockquote,\n.archive main article .post-content blockquote,\n.page main article .post-content blockquote,\n.article-page main article .post-content h1,\n.archive main article .post-content h1,\n.page main article .post-content h1,\n.article-page main article .post-content h2,\n.archive main article .post-content h2,\n.page main article .post-content h2,\n.article-page main article .post-content h3,\n.archive main article .post-content h3,\n.page main article .post-content h3,\n.article-page main article .post-content h4,\n.archive main article .post-content h4,\n.page main article .post-content h4,\n.article-page main article .post-content h5,\n.archive main article .post-content h5,\n.page main article .post-content h5,\n.article-page main article .post-content p,\n.archive main article .post-content p,\n.page main article .post-content p {\n  margin: 0 0 20px 0;\n}\n.article-page main article .post-content img, .archive main article .post-content img, .page main article .post-content img {\n  max-width: 100%;\n  cursor: zoom-in;\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n.article-page main article .post-content h1, .archive main article .post-content h1, .page main article .post-content h1,\n.article-page main article .post-content h2,\n.archive main article .post-content h2,\n.page main article .post-content h2,\n.article-page main article .post-content h3,\n.archive main article .post-content h3,\n.page main article .post-content h3,\n.article-page main article .post-content h4,\n.archive main article .post-content h4,\n.page main article .post-content h4,\n.article-page main article .post-content h5,\n.archive main article .post-content h5,\n.page main article .post-content h5,\n.article-page main article .post-content h6,\n.archive main article .post-content h6,\n.page main article .post-content h6 {\n  font-weight: 700;\n  color: #444444;\n}\n.article-page main article .post-content h1 > code, .archive main article .post-content h1 > code, .page main article .post-content h1 > code,\n.article-page main article .post-content h2 > code,\n.archive main article .post-content h2 > code,\n.page main article .post-content h2 > code,\n.article-page main article .post-content h3 > code,\n.archive main article .post-content h3 > code,\n.page main article .post-content h3 > code,\n.article-page main article .post-content h4 > code,\n.archive main article .post-content h4 > code,\n.page main article .post-content h4 > code,\n.article-page main article .post-content h5 > code,\n.archive main article .post-content h5 > code,\n.page main article .post-content h5 > code,\n.article-page main article .post-content h6 > code,\n.archive main article .post-content h6 > code,\n.page main article .post-content h6 > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n.article-page main article .post-content h1, .archive main article .post-content h1, .page main article .post-content h1 {\n  font-size: 30px;\n  margin: 50px 0 20px 0;\n}\n.article-page main article .post-content h2, .archive main article .post-content h2, .page main article .post-content h2 {\n  font-size: 25px;\n}\n.article-page main article .post-content h3, .archive main article .post-content h3, .page main article .post-content h3 {\n  font-size: 20px;\n}\n.article-page main article .post-content h4, .archive main article .post-content h4, .page main article .post-content h4 {\n  font-size: 15px;\n}\n.article-page main article .post-content h5, .archive main article .post-content h5, .page main article .post-content h5 {\n  font-size: 12.45px;\n}\n.article-page main article .post-content h6, .archive main article .post-content h6, .page main article .post-content h6 {\n  font-size: 12px;\n}\n.article-page main article .post-content blockquote, .archive main article .post-content blockquote, .page main article .post-content blockquote {\n  border-left: 4px solid #1a1a1a;\n  padding-left: 22.5px;\n  font-size: 17px;\n  color: #686868;\n  font-style: italic;\n}\n.article-page main article .post-content table td, .archive main article .post-content table td, .page main article .post-content table td {\n  min-width: 90px;\n}\n.article-page main article .post-content .table-responsive, .archive main article .post-content .table-responsive, .page main article .post-content .table-responsive {\n  margin-bottom: 20px;\n}\n.article-page main article .post-content .table-responsive table, .archive main article .post-content .table-responsive table, .page main article .post-content .table-responsive table {\n  margin-bottom: 0;\n}\n.article-page main article .post-content p, .archive main article .post-content p, .page main article .post-content p {\n  color: #444444;\n  line-height: 25px;\n}\n.article-page main article .post-content li, .archive main article .post-content li, .page main article .post-content li {\n  color: #444444;\n  padding: 2px 0;\n}\n.article-page main article .post-content p > code, .archive main article .post-content p > code, .page main article .post-content p > code,\n.article-page main article .post-content li > code,\n.archive main article .post-content li > code,\n.page main article .post-content li > code,\n.article-page main article .post-content th > code,\n.archive main article .post-content th > code,\n.page main article .post-content th > code,\n.article-page main article .post-content td > code,\n.archive main article .post-content td > code,\n.page main article .post-content td > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n.article-page main article .post-content video, .archive main article .post-content video, .page main article .post-content video {\n  width: 100%;\n}\n.article-page main article .post-content .table-responsive, .archive main article .post-content .table-responsive, .page main article .post-content .table-responsive {\n  scrollbar-width: thin;\n  scrollbar-color: #666666 #f0f0f0;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  scrollbar-face-color: #666666;\n  scrollbar-track-color: #f0f0f0;\n  scrollbar-arrow-color: #666666;\n  scrollbar-shadow-color: #f0f0f0;\n}\n.article-page main article .post-content .table-responsive::-webkit-scrollbar, .archive main article .post-content .table-responsive::-webkit-scrollbar, .page main article .post-content .table-responsive::-webkit-scrollbar {\n  width: 12px;\n  height: 12px;\n}\n.article-page main article .post-content .table-responsive::-webkit-scrollbar-track, .archive main article .post-content .table-responsive::-webkit-scrollbar-track, .page main article .post-content .table-responsive::-webkit-scrollbar-track {\n  background: #f0f0f0;\n  border-radius: 8px;\n}\n.article-page main article .post-content .table-responsive::-webkit-scrollbar-thumb, .archive main article .post-content .table-responsive::-webkit-scrollbar-thumb, .page main article .post-content .table-responsive::-webkit-scrollbar-thumb {\n  background-color: #666666;\n  border-radius: 8px;\n  border: 3px solid #f0f0f0;\n}\n.article-page main article .post-content .table-responsive::-webkit-scrollbar-thumb:hover, .archive main article .post-content .table-responsive::-webkit-scrollbar-thumb:hover, .page main article .post-content .table-responsive::-webkit-scrollbar-thumb:hover {\n  background-color: #444444;\n}\n.article-page main article .post-content .load-img, .archive main article .post-content .load-img, .page main article .post-content .load-img {\n  width: 100%;\n  display: block;\n  background-color: #F0F0F0;\n}\n.article-page main article .post-content .protected p, .archive main article .post-content .protected p, .page main article .post-content .protected p {\n  text-align: center;\n}\n.article-page .post-navigation, .archive .post-navigation, .page .post-navigation {\n  overflow-x: hidden;\n}\n.article-page .post-navigation > div, .archive .post-navigation > div, .page .post-navigation > div {\n  padding: 20px;\n}\n.article-page .post-navigation > div .previous, .archive .post-navigation > div .previous, .page .post-navigation > div .previous,\n.article-page .post-navigation > div .next,\n.archive .post-navigation > div .next,\n.page .post-navigation > div .next,\n.article-page .post-navigation > div .next-box,\n.archive .post-navigation > div .next-box,\n.page .post-navigation > div .next-box {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.article-page #qr-link .link-box, .archive #qr-link .link-box, .page #qr-link .link-box {\n  margin: 0 auto;\n  width: 96px;\n  display: flex;\n  justify-content: space-between;\n}\n.article-page #qr-link .link-box a, .archive #qr-link .link-box a, .page #qr-link .link-box a {\n  font-size: 20px;\n}\n.article-page #qr-link .link-box a:hover, .archive #qr-link .link-box a:hover, .page #qr-link .link-box a:hover {\n  text-decoration: none;\n}\n.article-page #reward-qr .qr, .archive #reward-qr .qr, .page #reward-qr .qr {\n  padding: 0 20px;\n}\n.article-page #reward-qr .qr img, .archive #reward-qr .qr img, .page #reward-qr .qr img {\n  max-width: 100%;\n}\n.article-page .agree-and-share > div button:last-child, .archive .agree-and-share > div button:last-child, .page .agree-and-share > div button:last-child {\n  margin-right: 0 !important;\n}\n\n#share-box #qrcode img {\n  margin: 0 auto;\n}\n\n#agree-p {\n  font-weight: 700;\n  font-size: 18px;\n  color: red;\n  position: absolute;\n}\n\n#emoji-panel {\n  width: 400px;\n  height: 300px;\n  position: absolute;\n  z-index: 100;\n  display: none;\n  background-color: #ffffff;\n}\n#emoji-panel #emoji-classification {\n  overflow-x: auto;\n}\n#emoji-panel #emoji-classification button {\n  font-size: 16px;\n}\n#emoji-panel #emoji-classification button:hover {\n  background: #E4E4E4;\n}\n#emoji-panel #emoji-list {\n  max-height: 217px;\n  overflow-y: auto;\n}\n#emoji-panel #emoji-list .emoji {\n  float: left;\n  font-size: 16px;\n  margin: 0;\n  cursor: pointer;\n}\n#emoji-panel #emoji-list .emoji:hover {\n  background: #E4E4E4;\n}\n#emoji-panel #emoji-list .emoji:focus {\n  background: #E4E4E4;\n}\n\n#comments h2 {\n  font-size: 25px;\n  font-weight: 700;\n  margin-bottom: 30px;\n}\n#comments .comments-off {\n  padding: 0 20px;\n}\n#comments .comments-lists {\n  padding: 40px 20px 0 20px;\n}\n#comments .comments-lists .comment-list {\n  list-style: none;\n  padding: 0;\n}\n#comments .comments-lists .comment-list .comment-body {\n  border-top: 1px solid #ebf2fc;\n  padding: 20px 0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-box {\n  width: 100%;\n}\n#comments .comments-lists .comment-list .comment-body .comment-author {\n  width: 100%;\n}\n#comments .comments-lists .comment-list .comment-body .avatar {\n  width: 42px;\n  height: 42px;\n  margin-right: 10px;\n  float: left;\n  border-radius: 50%;\n}\n#comments .comments-lists .comment-list .comment-body .pingback, #comments .comments-lists .comment-list .comment-body .text-avatar {\n  line-height: 42px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-info a {\n  line-height: 22px;\n  font-size: 15px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-info .comment-time {\n  color: #686868;\n  font-size: 12px;\n  display: block;\n}\n#comments .comments-lists .comment-list .comment-body .comment-reply a {\n  line-height: 30px;\n  font-size: 12px;\n  width: 60px;\n  height: 32px;\n  background: #ffffff;\n  display: block;\n  text-align: center;\n  border-radius: 4px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content {\n  margin-left: 52px;\n  font-size: 15px;\n  word-break: break-all;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content ul,\n#comments .comments-lists .comment-list .comment-body .comment-content ol,\n#comments .comments-lists .comment-list .comment-body .comment-content img,\n#comments .comments-lists .comment-list .comment-body .comment-content pre,\n#comments .comments-lists .comment-list .comment-body .comment-content blockquote,\n#comments .comments-lists .comment-list .comment-body .comment-content h1,\n#comments .comments-lists .comment-list .comment-body .comment-content h2,\n#comments .comments-lists .comment-list .comment-body .comment-content h3,\n#comments .comments-lists .comment-list .comment-body .comment-content h4,\n#comments .comments-lists .comment-list .comment-body .comment-content h5,\n#comments .comments-lists .comment-list .comment-body .comment-content p {\n  margin: 0 0 20px 0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content img {\n  max-width: 100%;\n  cursor: zoom-in;\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h1,\n#comments .comments-lists .comment-list .comment-body .comment-content h2,\n#comments .comments-lists .comment-list .comment-body .comment-content h3,\n#comments .comments-lists .comment-list .comment-body .comment-content h4,\n#comments .comments-lists .comment-list .comment-body .comment-content h5,\n#comments .comments-lists .comment-list .comment-body .comment-content h6 {\n  font-weight: 700;\n  color: #444444;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h1 > code,\n#comments .comments-lists .comment-list .comment-body .comment-content h2 > code,\n#comments .comments-lists .comment-list .comment-body .comment-content h3 > code,\n#comments .comments-lists .comment-list .comment-body .comment-content h4 > code,\n#comments .comments-lists .comment-list .comment-body .comment-content h5 > code,\n#comments .comments-lists .comment-list .comment-body .comment-content h6 > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h1 {\n  font-size: 30px;\n  margin: 50px 0 20px 0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h2 {\n  font-size: 25px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h3 {\n  font-size: 20px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h4 {\n  font-size: 15px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h5 {\n  font-size: 12.45px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content h6 {\n  font-size: 12px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content blockquote {\n  border-left: 4px solid #1a1a1a;\n  padding-left: 22.5px;\n  font-size: 17px;\n  color: #686868;\n  font-style: italic;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content table td {\n  min-width: 90px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content .table-responsive {\n  margin-bottom: 20px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content .table-responsive table {\n  margin-bottom: 0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content p {\n  color: #444444;\n  line-height: 25px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content li {\n  color: #444444;\n  padding: 2px 0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content p > code,\n#comments .comments-lists .comment-list .comment-body .comment-content li > code,\n#comments .comments-lists .comment-list .comment-body .comment-content th > code,\n#comments .comments-lists .comment-list .comment-body .comment-content td > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content video {\n  width: 100%;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content .table-responsive {\n  scrollbar-width: thin;\n  scrollbar-color: #666666 #f0f0f0;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  scrollbar-face-color: #666666;\n  scrollbar-track-color: #f0f0f0;\n  scrollbar-arrow-color: #666666;\n  scrollbar-shadow-color: #f0f0f0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content .table-responsive::-webkit-scrollbar {\n  width: 12px;\n  height: 12px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content .table-responsive::-webkit-scrollbar-track {\n  background: #f0f0f0;\n  border-radius: 8px;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content .table-responsive::-webkit-scrollbar-thumb {\n  background-color: #666666;\n  border-radius: 8px;\n  border: 3px solid #f0f0f0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-content .table-responsive::-webkit-scrollbar-thumb:hover {\n  background-color: #444444;\n}\n#comments .comments-lists .comment-list .comment-body .comment-children li {\n  padding-bottom: 0;\n}\n#comments .comments-lists .comment-list .comment-body .comment-children li .comment-children {\n  margin-left: 0;\n}\n#comments .comments-lists .comment-list .comment-body .respond {\n  background: #eeeeee;\n}\n#comments .respond {\n  padding: 20px;\n}\n#comments .respond #textarea {\n  width: 100%;\n  height: 150px;\n  display: block;\n}\n#comments .respond .comment-user {\n  margin-bottom: 20px;\n}\n\n.container-404 h1 {\n  margin-top: 20px;\n  font-size: 150px;\n  text-align: center;\n  font-weight: 700;\n}\n.container-404 h2 {\n  text-align: center;\n  font-weight: 700;\n}\n.container-404 h5 {\n  text-align: center;\n}\n.container-404 .search-box {\n  margin: 20px 0;\n}\n\n.archives-list {\n  margin-top: 15px;\n}\n.archives-list .archives .page-header {\n  margin-bottom: 30px;\n  padding: 20px;\n}\n.archives-list .archives .page-header h1 {\n  font-size: 30px;\n  font-weight: 700;\n}\n.archives-list .archives .page-header span {\n  font-size: 13px;\n  color: #777777;\n}\n.archives-list .archives .post {\n  margin-bottom: 30px;\n  overflow: hidden;\n}\n.archives-list .archives .post .header-img {\n  width: 100%;\n}\n.archives-list .archives .post .header-img .fixed {\n  display: block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  background-size: cover;\n  background-position: center;\n}\n.archives-list .archives .post .header-img .fixed:after {\n  content: \"\";\n  padding-bottom: 37.5%;\n  display: block;\n}\n.archives-list .archives .post .header-img img {\n  width: 100%;\n}\n.archives-list .archives .post .entry-header {\n  overflow: hidden;\n}\n.archives-list .archives .post .entry-header .entry-title {\n  font-size: 28px;\n  font-weight: 700;\n  padding: 20px 20px 12px 20px;\n}\n.archives-list .archives .post .entry-header .entry-title a {\n  color: #222222;\n}\n.archives-list .archives .post .entry-header .entry-title {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.archives-list .archives .post .entry-summary {\n  padding: 20px;\n}\n.archives-list .archives .post .entry-summary p {\n  font-size: 15px;\n  line-height: 25px;\n}\n.archives-list .archives .post .post-content {\n  font-size: 15px;\n  word-break: break-all;\n}\n.archives-list .archives .post .post-content ul,\n.archives-list .archives .post .post-content ol,\n.archives-list .archives .post .post-content img,\n.archives-list .archives .post .post-content pre,\n.archives-list .archives .post .post-content blockquote,\n.archives-list .archives .post .post-content h1,\n.archives-list .archives .post .post-content h2,\n.archives-list .archives .post .post-content h3,\n.archives-list .archives .post .post-content h4,\n.archives-list .archives .post .post-content h5,\n.archives-list .archives .post .post-content p {\n  margin: 0 0 20px 0;\n}\n.archives-list .archives .post .post-content img {\n  max-width: 100%;\n  cursor: zoom-in;\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n.archives-list .archives .post .post-content h1,\n.archives-list .archives .post .post-content h2,\n.archives-list .archives .post .post-content h3,\n.archives-list .archives .post .post-content h4,\n.archives-list .archives .post .post-content h5,\n.archives-list .archives .post .post-content h6 {\n  font-weight: 700;\n  color: #444444;\n}\n.archives-list .archives .post .post-content h1 > code,\n.archives-list .archives .post .post-content h2 > code,\n.archives-list .archives .post .post-content h3 > code,\n.archives-list .archives .post .post-content h4 > code,\n.archives-list .archives .post .post-content h5 > code,\n.archives-list .archives .post .post-content h6 > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n.archives-list .archives .post .post-content h1 {\n  font-size: 30px;\n  margin: 50px 0 20px 0;\n}\n.archives-list .archives .post .post-content h2 {\n  font-size: 25px;\n}\n.archives-list .archives .post .post-content h3 {\n  font-size: 20px;\n}\n.archives-list .archives .post .post-content h4 {\n  font-size: 15px;\n}\n.archives-list .archives .post .post-content h5 {\n  font-size: 12.45px;\n}\n.archives-list .archives .post .post-content h6 {\n  font-size: 12px;\n}\n.archives-list .archives .post .post-content blockquote {\n  border-left: 4px solid #1a1a1a;\n  padding-left: 22.5px;\n  font-size: 17px;\n  color: #686868;\n  font-style: italic;\n}\n.archives-list .archives .post .post-content table td {\n  min-width: 90px;\n}\n.archives-list .archives .post .post-content .table-responsive {\n  margin-bottom: 20px;\n}\n.archives-list .archives .post .post-content .table-responsive table {\n  margin-bottom: 0;\n}\n.archives-list .archives .post .post-content p {\n  color: #444444;\n  line-height: 25px;\n}\n.archives-list .archives .post .post-content li {\n  color: #444444;\n  padding: 2px 0;\n}\n.archives-list .archives .post .post-content p > code,\n.archives-list .archives .post .post-content li > code,\n.archives-list .archives .post .post-content th > code,\n.archives-list .archives .post .post-content td > code {\n  background: #ededed;\n  color: #333333;\n  padding: 0 4px;\n}\n.archives-list .archives .post .post-content video {\n  width: 100%;\n}\n.archives-list .archives .post .post-content .table-responsive {\n  scrollbar-width: thin;\n  scrollbar-color: #666666 #f0f0f0;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  scrollbar-face-color: #666666;\n  scrollbar-track-color: #f0f0f0;\n  scrollbar-arrow-color: #666666;\n  scrollbar-shadow-color: #f0f0f0;\n}\n.archives-list .archives .post .post-content .table-responsive::-webkit-scrollbar {\n  width: 12px;\n  height: 12px;\n}\n.archives-list .archives .post .post-content .table-responsive::-webkit-scrollbar-track {\n  background: #f0f0f0;\n  border-radius: 8px;\n}\n.archives-list .archives .post .post-content .table-responsive::-webkit-scrollbar-thumb {\n  background-color: #666666;\n  border-radius: 8px;\n  border: 3px solid #f0f0f0;\n}\n.archives-list .archives .post .post-content .table-responsive::-webkit-scrollbar-thumb:hover {\n  background-color: #444444;\n}\n.archives-list .archives .post .article-info {\n  padding: 10px 25px;\n}\n.archives-list .archives .post .article-info .info {\n  float: left;\n  margin-right: 20px;\n  height: 29px;\n}\n.archives-list .archives .post .article-info a,\n.archives-list .archives .post .article-info span {\n  font-size: 12px;\n  line-height: 29px;\n}\n.archives-list .archives .post .article-info a:hover {\n  color: #76839b;\n}\n.archives-list .archives .post .article-info .icon {\n  margin-right: 4px;\n  font-size: 12px;\n  line-height: 29px;\n}\n.archives-list .archives .post .article-info .tags a,\n.archives-list .archives .post .article-info .category a {\n  margin-right: 3px;\n}\n.archives-list .archives .post .entry-summary[data-header-image-type=mini] .mini-header-image a {\n  display: block;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  background-size: cover;\n  background-position: center;\n  background-color: #E0E0E0;\n}\n.archives-list .archives .post .entry-summary[data-header-image-type=mini] .mini-header-image a:after {\n  content: \"\";\n  padding-bottom: 66.66%;\n  display: block;\n}\n.archives-list .archives .post .entry-summary[data-header-image-type=mini] .content-box p {\n  max-height: 120px;\n  overflow-y: hidden;\n  margin-bottom: 0;\n}\n.archives-list .archives .post > .post-title {\n  padding: 20px 25px;\n}\n\n/*独立页面-文章归档*/\n.archive .archives {\n  position: relative;\n}\n.archive .archives::before {\n  width: 2px;\n  height: 100%;\n  background: #BBBBBB;\n  display: block;\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 49px;\n}\n.archive .archives .archives-item {\n  position: relative;\n}\n.archive .archives .archives-item h2 {\n  font-size: 12px !important;\n  background: #FCFCFC;\n  width: 84px;\n  line-height: 24px;\n  text-align: center;\n  border-radius: 4px;\n  position: relative;\n  z-index: 10;\n  left: 8px;\n  cursor: pointer;\n  border: 1px solid #BBBBBB;\n}\n.archive .archives .archives-item ul {\n  padding-left: 0;\n  list-style: none;\n}\n.archive .archives .archives-item ul li {\n  font-size: 14px;\n  display: flex;\n  align-items: center;\n  padding: 6px 0;\n}\n.archive .archives .archives-item ul li:hover .timeline {\n  background: #6C757D;\n}\n.archive .archives .archives-item ul li .day {\n  display: block;\n  width: 36px;\n  text-align: center;\n  flex: none;\n}\n.archive .archives .archives-item ul li .timeline {\n  width: 8px;\n  height: 8px;\n  background: #BBBBBB;\n  border-radius: 50%;\n  margin: 0 10px;\n  flex: none;\n}\n\n.link-page .link-box {\n  background: #f9f9f9;\n  margin: 0 0 20px 0;\n}\n.link-page .link-box .link-grid {\n  padding: 15px;\n  border-radius: 4px;\n}\n.link-page .link-box .link-grid .link {\n  background: #ffffff;\n  box-shadow: 0 2px 0 rgba(170, 170, 170, 0.1);\n  padding: 10px;\n  display: block;\n}\n.link-page .link-box .link-grid .link .link-logo {\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 0 0;\n}\n.link-page .link-box .link-grid .link .icon-logo {\n  background: #0a73b3;\n  color: #ffffff;\n  text-align: center;\n  line-height: 32px;\n}\n.link-page .link-box .link-grid .link .link-name {\n  display: inline-block;\n  line-height: 32px;\n}\n.link-page .link-box .link-grid .link p {\n  font-size: 12px;\n  margin: 10px 0 0 0;\n  line-height: 18px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.link-page .link-box .link-grid .link img {\n  background: #E0E0E0;\n}\n.link-page .link-box .link-grid .link:hover {\n  box-shadow: 1px 5px 1px rgba(170, 170, 170, 0.1);\n}\n\n.data-page a .statistics-card {\n  background: #B3D8FF;\n}\n\n.category-page .category-list {\n  list-style: none;\n}\n.category-page .category-list li {\n  align-items: center;\n}\n\n.archive-page,\n.post-page,\n.link-page {\n  margin-bottom: 20px;\n}\n\n@media screen and (min-width: 1200px) {\n  .sidebar {\n    margin-top: 15px;\n  }\n\n  #comments .comment-list .comment-children {\n    margin-left: 52px;\n  }\n\n  .load-img {\n    height: 350px;\n  }\n}\n@media screen and (min-width: 992px) and (max-width: 1199px) {\n  .entry-summary[data-header-image-type=mini] .content-box p {\n    overflow-y: hidden;\n    max-height: 100px !important;\n  }\n\n  .sidebar {\n    margin-top: 15px;\n  }\n\n  #comments .comment-list .comment-children {\n    margin-left: 52px;\n  }\n\n  .load-img {\n    height: 350px;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .entry-summary[data-header-image-type=mini] .content-box p {\n    overflow-y: hidden;\n    max-height: 120px !important;\n  }\n\n  .sidebar section {\n    margin-left: 0;\n  }\n\n  #comments .comment-list .comment-children {\n    margin-left: 52px;\n  }\n\n  .load-img {\n    height: 350px;\n  }\n}\n@media screen and (min-width: 576px) and (max-width: 767px) {\n  .entry-summary[data-header-image-type=mini] .content-box p {\n    overflow-y: hidden;\n    max-height: 100px !important;\n  }\n\n  .latest-articles-active {\n    height: 222px;\n  }\n\n  .sidebar section {\n    margin-left: 0;\n  }\n\n  #comments .comment-list .comment-children {\n    margin-left: 22px;\n  }\n\n  .load-img {\n    height: 300px;\n  }\n}\n@media screen and (max-width: 575px) {\n  .container .article-list .post .header-img {\n    width: 100%;\n  }\n  .container .article-list .post .header-img .fixed {\n    display: block;\n    width: 100%;\n    height: 100%;\n    position: relative;\n    overflow: hidden;\n    background-size: cover;\n    background-position: center;\n  }\n  .container .article-list .post .header-img .fixed:after {\n    content: \"\";\n    padding-bottom: 37.5%;\n    display: block;\n  }\n  .container .article-list .post .header-img img {\n    width: 100%;\n  }\n  .container .article-list .post .entry-header .entry-title {\n    font-size: 20px;\n    padding: 20px 20px 12px 20px;\n  }\n  .container .article-list .post .entry-summary {\n    padding: 20px;\n  }\n  .container .article-list .post .article-info {\n    padding: 10px 20px;\n  }\n\n  .entry-summary[data-header-image-type=mini] .content-box p {\n    overflow-y: hidden;\n    max-height: 70px !important;\n  }\n\n  .article-page main, .page main, .archive main {\n    /*文章标题*/\n    /*文章页的文章信息*/\n  }\n  .article-page main .entry-header .entry-title, .page main .entry-header .entry-title, .archive main .entry-header .entry-title {\n    font-size: 20px;\n    padding: 20px 20px 12px 20px;\n  }\n  .article-page main .article-info, .page main .article-info, .archive main .article-info {\n    padding: 10px 20px;\n  }\n  .article-page main article, .page main article, .archive main article {\n    padding: 20px;\n  }\n\n  .container .col-md-12 {\n    padding: 0 10px;\n  }\n\n  .load-img {\n    height: 200px;\n  }\n\n  .archives-list .archives .post .header-img {\n    width: 100%;\n  }\n  .archives-list .archives .post .header-img .fixed {\n    display: block;\n    width: 100%;\n    height: 100%;\n    position: relative;\n    overflow: hidden;\n    background-size: cover;\n    background-position: center;\n  }\n  .archives-list .archives .post .header-img .fixed:after {\n    content: \"\";\n    padding-bottom: 37.5%;\n    display: block;\n  }\n  .archives-list .archives .post .header-img img {\n    width: 100%;\n  }\n  .archives-list .archives .post .entry-header .entry-title {\n    font-size: 20px;\n    padding: 20px 20px 12px 20px;\n  }\n  .archives-list .archives .post .entry-summary {\n    padding: 20px;\n  }\n  .archives-list .archives .post .article-info {\n    padding: 10px 20px;\n  }\n  .archives-list .archives .post .post-title {\n    font-size: 20px;\n  }\n  .archives-list .archives .post .header-img {\n    height: 145px;\n  }\n  .archives-list .archives .page-header .archive-title {\n    font-size: 20px;\n  }\n\n  .sidebar section {\n    margin-left: 0;\n  }\n\n  #emoji-panel {\n    width: 93% !important;\n  }\n\n  #comments .comment-list .comment-children {\n    margin-left: 22px;\n  }\n\n  #directory-mobile {\n    max-height: 60%;\n  }\n\n  #max-img-box #img-counter {\n    margin: 0;\n    left: 15px;\n    transform: translateX(0);\n  }\n  #max-img-box .previous-image {\n    left: 0;\n  }\n  #max-img-box .next-image {\n    right: 0;\n  }\n}\n@media screen and (max-width: 374px) {\n  #comments .comment-list .comment-reply a {\n    display: inline !important;\n    border: none !important;\n    font-size: 14px !important;\n  }\n}\n.light-color1 header .navbar {\n  background-color: #343a40;\n}\n.light-color1 header .navbar .navbar-brand {\n  color: #fff;\n}\n.light-color1 header .navbar .navbar-brand:hover, .light-color1 header .navbar .navbar-brand:focus {\n  color: #fff;\n}\n.light-color1 header .navbar .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n.light-color1 header .navbar .navbar-nav .nav-link:hover, .light-color1 header .navbar .navbar-nav .nav-link:focus {\n  color: rgba(255, 255, 255, 0.75);\n}\n.light-color1 header .navbar .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n.light-color1 header .navbar .navbar-nav .show > .nav-link,\n.light-color1 header .navbar .navbar-nav .active > .nav-link,\n.light-color1 header .navbar .navbar-nav .nav-link.show,\n.light-color1 header .navbar .navbar-nav .nav-link.active {\n  color: #fff;\n}\n.light-color1 header .navbar .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.light-color1 header .navbar .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.light-color1 header .navbar .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n.light-color1 header .navbar .navbar-text a {\n  color: #fff;\n}\n.light-color1 header .navbar .navbar-text a:hover, .light-color1 header .navbar .navbar-text a:focus {\n  color: #fff;\n}\n\n.light-color2 header .navbar {\n  background-color: #fff !important;\n}\n.light-color2 header .navbar .navbar-brand {\n  color: rgba(0, 0, 0, 0.9);\n}\n.light-color2 header .navbar .navbar-brand:hover, .light-color2 header .navbar .navbar-brand:focus {\n  color: rgba(0, 0, 0, 0.9);\n}\n.light-color2 header .navbar .navbar-nav .nav-link {\n  color: rgba(0, 0, 0, 0.5);\n}\n.light-color2 header .navbar .navbar-nav .nav-link:hover, .light-color2 header .navbar .navbar-nav .nav-link:focus {\n  color: rgba(0, 0, 0, 0.7);\n}\n.light-color2 header .navbar .navbar-nav .nav-link.disabled {\n  color: rgba(0, 0, 0, 0.3);\n}\n.light-color2 header .navbar .navbar-nav .show > .nav-link,\n.light-color2 header .navbar .navbar-nav .active > .nav-link,\n.light-color2 header .navbar .navbar-nav .nav-link.show,\n.light-color2 header .navbar .navbar-nav .nav-link.active {\n  color: rgba(0, 0, 0, 0.9);\n}\n.light-color2 header .navbar .navbar-toggler {\n  color: rgba(0, 0, 0, 0.5);\n  border-color: rgba(0, 0, 0, 0.1);\n}\n.light-color2 header .navbar .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.light-color2 header .navbar .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n.light-color2 header .navbar .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n.light-color2 header .navbar .navbar-text a:hover, .light-color2 header .navbar .navbar-light .navbar-text a:focus {\n  color: rgba(0, 0, 0, 0.9);\n}\n.light-color2 header .navbar #change-color-btn {\n  background-color: #E5E6EB;\n  color: rgba(0, 0, 0, 0.5);\n}\n.light-color2 header .navbar #change-color-text {\n  color: #212529;\n}\n\n.light-color1 .article-list .post .article-info i, .light-color1 .article-list .post .article-info span, .light-color1 .archives-list .post .article-info i, .light-color1 .archives-list .post .article-info span, .light-color2 .article-list .post .article-info i, .light-color2 .article-list .post .article-info span, .light-color2 .archives-list .post .article-info i, .light-color2 .archives-list .post .article-info span {\n  color: #6c757d;\n}\n.light-color1 .article-list .post .article-info a, .light-color1 .archives-list .post .article-info a, .light-color2 .article-list .post .article-info a, .light-color2 .archives-list .post .article-info a {\n  color: #6c757d;\n}\n.light-color1 .article-list .post .article-info a:hover, .light-color1 .archives-list .post .article-info a:hover, .light-color2 .article-list .post .article-info a:hover, .light-color2 .archives-list .post .article-info a:hover {\n  color: #494f54;\n}\n.light-color1 .pagination-nav ul li a, .light-color1 .post-pagination ol li a, .light-color2 .pagination-nav ul li a, .light-color2 .post-pagination ol li a {\n  color: #6c757d;\n}\n.light-color1 .pagination-nav ul .active a, .light-color1 .post-pagination ol .active a, .light-color2 .pagination-nav ul .active a, .light-color2 .post-pagination ol .active a {\n  color: #ffffff;\n  background-color: #6c757d;\n  border: none;\n}\n.light-color1 .sidebar section ul > li > a, .light-color1 .sidebar .latest-comment a, .light-color1 .sidebar .user-name, .light-color1 .sidebar .calendar a, .light-color2 .sidebar section ul > li > a, .light-color2 .sidebar .latest-comment a, .light-color2 .sidebar .user-name, .light-color2 .sidebar .calendar a {\n  color: #6c757d;\n}\n.light-color1 .sidebar section ul > li > a:hover, .light-color1 .sidebar .latest-comment a:hover, .light-color1 .sidebar .user-name:hover, .light-color1 .sidebar .calendar a:hover, .light-color2 .sidebar section ul > li > a:hover, .light-color2 .sidebar .latest-comment a:hover, .light-color2 .sidebar .user-name:hover, .light-color2 .sidebar .calendar a:hover {\n  color: #494f54;\n}\n.light-color1 .sidebar section ul li .badge, .light-color2 .sidebar section ul li .badge {\n  background-color: #6c757d;\n  color: #ffffff;\n}\n.light-color1 .sidebar .tag-cloud a, .light-color2 .sidebar .tag-cloud a {\n  border: 1px solid #6c757d;\n  color: #6c757d;\n}\n.light-color1 .sidebar .tag-cloud a:hover, .light-color2 .sidebar .tag-cloud a:hover {\n  background-color: #6c757d;\n  color: #ffffff;\n}\n.light-color1 .sidebar .tag-cloud a:focus, .light-color2 .sidebar .tag-cloud a:focus {\n  background-color: #6c757d;\n  color: #ffffff;\n}\n.light-color1 .sidebar .search button, .light-color2 .sidebar .search button {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 .sidebar .search button:hover, .light-color2 .sidebar .search button:hover {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n}\n.light-color1 .sidebar .search button:focus, .light-color2 .sidebar .search button:focus {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n.light-color1 .sidebar .search button:disabled, .light-color2 .sidebar .search button:disabled {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 .breadcrumb-nav a, .light-color2 .breadcrumb-nav a {\n  color: #6c757d;\n}\n.light-color1 .breadcrumb-nav a:hover, .light-color2 .breadcrumb-nav a:hover {\n  color: #494f54;\n}\n.light-color1 .content-area .article-info .info span, .light-color1 .content-area .article-info .info i, .light-color2 .content-area .article-info .info span, .light-color2 .content-area .article-info .info i {\n  color: #6c757d;\n}\n.light-color1 .content-area .article-info .info a, .light-color2 .content-area .article-info .info a {\n  color: #6c757d;\n}\n.light-color1 .content-area .article-info .info a:hover, .light-color2 .content-area .article-info .info a:hover {\n  color: #494f54;\n}\n.light-color1 .content-area .post-content a, .light-color2 .content-area .post-content a {\n  color: #6c757d;\n}\n.light-color1 .content-area .post-content a:hover, .light-color2 .content-area .post-content a:hover {\n  color: #494f54;\n}\n.light-color1 .content-area .agree-and-share button, .light-color2 .content-area .agree-and-share button {\n  color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 .content-area .agree-and-share button:hover, .light-color2 .content-area .agree-and-share button:hover {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 .content-area .agree-and-share button:focus, .light-color2 .content-area .agree-and-share button:focus {\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n.light-color1 .content-area .agree-and-share button:disabled, .light-color2 .content-area .agree-and-share button:disabled {\n  color: #6c757d;\n  background-color: transparent;\n}\n.light-color1 .content-area .post-navigation a, .light-color2 .content-area .post-navigation a {\n  color: #6c757d;\n}\n.light-color1 .content-area .post-navigation a:hover, .light-color2 .content-area .post-navigation a:hover {\n  color: #494f54;\n}\n.light-color1 #comments #comment-form #show-emoji-btn, .light-color2 #comments #comment-form #show-emoji-btn {\n  color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 #comments #comment-form #show-emoji-btn:hover, .light-color2 #comments #comment-form #show-emoji-btn:hover {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 #comments #comment-form #show-emoji-btn:focus, .light-color2 #comments #comment-form #show-emoji-btn:focus {\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n.light-color1 #comments #comment-form #show-emoji-btn:disabled, .light-color2 #comments #comment-form #show-emoji-btn:disabled {\n  color: #6c757d;\n  background-color: transparent;\n}\n.light-color1 #comments #comment-form #emoji-classification button[aria-checked=true], .light-color2 #comments #comment-form #emoji-classification button[aria-checked=true] {\n  background-color: #6c757d;\n}\n.light-color1 #comments #comment-form .comment-user a, .light-color2 #comments #comment-form .comment-user a {\n  color: #6c757d;\n}\n.light-color1 #comments #comment-form .comment-user a:hover, .light-color2 #comments #comment-form .comment-user a:hover {\n  color: #494f54;\n}\n.light-color1 #comments #comment-form .submit, .light-color2 #comments #comment-form .submit {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 #comments #comment-form .submit:hover, .light-color2 #comments #comment-form .submit:hover {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n}\n.light-color1 #comments #comment-form .submit:focus, .light-color2 #comments #comment-form .submit:focus {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n.light-color1 #comments #comment-form .submit:disabled, .light-color2 #comments #comment-form .submit:disabled {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 #comments .comment-box .comment-info .author a, .light-color2 #comments .comment-box .comment-info .author a {\n  color: #6c757d;\n}\n.light-color1 #comments .comment-box .comment-info .author a:hover, .light-color2 #comments .comment-box .comment-info .author a:hover {\n  color: #494f54;\n}\n.light-color1 #comments .comment-box .comment-reply a, .light-color2 #comments .comment-box .comment-reply a {\n  border: 1px solid #6c757d;\n  color: #6c757d;\n}\n.light-color1 #comments .comment-box .comment-reply a:hover, .light-color2 #comments .comment-box .comment-reply a:hover {\n  background-color: #6c757d;\n  color: #ffffff;\n}\n.light-color1 #comments .comment-box .comment-content a, .light-color2 #comments .comment-box .comment-content a {\n  color: #6c757d;\n}\n.light-color1 #comments .comment-box .comment-content a:hover, .light-color2 #comments .comment-box .comment-content a:hover {\n  color: #494f54;\n}\n.light-color1 #footer-btn-box button, .light-color2 #footer-btn-box button {\n  color: #6c757d;\n}\n.light-color1 .category-page .category-list .icon, .light-color2 .category-page .category-list .icon {\n  color: #6C757D;\n}\n.light-color1 #directory-mobile .directory-list a, .light-color2 #directory-mobile .directory-list a {\n  color: #6c757d;\n}\n.light-color1 #directory-mobile .directory-list a:hover, .light-color2 #directory-mobile .directory-list a:hover {\n  color: #494f54;\n}\n.light-color1 .data-page .statistics-card, .light-color2 .data-page .statistics-card {\n  background-color: #B3D8FF;\n}\n.light-color1 .container-404 .to-home-link, .light-color1 .container-404 .search-btn, .light-color2 .container-404 .to-home-link, .light-color2 .container-404 .search-btn {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 .container-404 .to-home-link:hover, .light-color1 .container-404 .search-btn:hover, .light-color2 .container-404 .to-home-link:hover, .light-color2 .container-404 .search-btn:hover {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n}\n.light-color1 .container-404 .to-home-link:focus, .light-color1 .container-404 .search-btn:focus, .light-color2 .container-404 .to-home-link:focus, .light-color2 .container-404 .search-btn:focus {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n.light-color1 .container-404 .to-home-link:disabled, .light-color1 .container-404 .search-btn:disabled, .light-color2 .container-404 .to-home-link:disabled, .light-color2 .container-404 .search-btn:disabled {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.light-color1 .directory-active, .light-color2 .directory-active {\n  color: #444444 !important;\n}\n\n.primary-color header .navbar {\n  background-color: #007bff !important;\n}\n.primary-color header .navbar .navbar-brand {\n  color: #fff;\n}\n.primary-color header .navbar .navbar-brand:hover, .primary-color header .navbar .navbar-brand:focus {\n  color: #fff;\n}\n.primary-color header .navbar .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n.primary-color header .navbar .navbar-nav .nav-link:hover, .primary-color header .navbar .navbar-nav .nav-link:focus {\n  color: rgba(255, 255, 255, 0.75);\n}\n.primary-color header .navbar .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n.primary-color header .navbar .navbar-nav .show > .nav-link,\n.primary-color header .navbar .navbar-nav .active > .nav-link,\n.primary-color header .navbar .navbar-nav .nav-link.show,\n.primary-color header .navbar .navbar-nav .nav-link.active {\n  color: #fff;\n}\n.primary-color header .navbar .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.primary-color header .navbar .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.primary-color header .navbar .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n.primary-color header .navbar .navbar-text a {\n  color: #fff;\n}\n.primary-color header .navbar .navbar-text a:hover, .primary-color header .navbar .navbar-text a:focus {\n  color: #fff;\n}\n.primary-color .article-list .post .article-info i, .primary-color .article-list .post .article-info span, .primary-color .archives-list .post .article-info i, .primary-color .archives-list .post .article-info span {\n  color: #007bff;\n}\n.primary-color .article-list .post .article-info a, .primary-color .archives-list .post .article-info a {\n  color: #007bff;\n}\n.primary-color .article-list .post .article-info a:hover, .primary-color .archives-list .post .article-info a:hover {\n  color: #0056b3;\n}\n.primary-color .pagination-nav ul li a, .primary-color .post-pagination ol li a {\n  color: #007bff;\n}\n.primary-color .pagination-nav ul .active a, .primary-color .post-pagination ol .active a {\n  color: #ffffff;\n  background-color: #007bff;\n  border: none;\n}\n.primary-color .sidebar section ul > li > a, .primary-color .sidebar .latest-comment a, .primary-color .sidebar .user-name, .primary-color .sidebar .calendar a {\n  color: #007bff;\n}\n.primary-color .sidebar section ul > li > a:hover, .primary-color .sidebar .latest-comment a:hover, .primary-color .sidebar .user-name:hover, .primary-color .sidebar .calendar a:hover {\n  color: #0056b3;\n}\n.primary-color .sidebar section ul li .badge {\n  background-color: #007bff;\n  color: #ffffff;\n}\n.primary-color .sidebar .tag-cloud a {\n  border: 1px solid #007bff;\n  color: #007bff;\n}\n.primary-color .sidebar .tag-cloud a:hover {\n  background-color: #007bff;\n  color: #ffffff;\n}\n.primary-color .sidebar .tag-cloud a:focus {\n  background-color: #007bff;\n  color: #ffffff;\n}\n.primary-color .sidebar .search button {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color .sidebar .search button:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.primary-color .sidebar .search button:focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.primary-color .sidebar .search button:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color .breadcrumb-nav a {\n  color: #007bff;\n}\n.primary-color .breadcrumb-nav a:hover {\n  color: #0056b3;\n}\n.primary-color .content-area .article-info .info span, .primary-color .content-area .article-info .info i {\n  color: #007bff;\n}\n.primary-color .content-area .article-info .info a {\n  color: #007bff;\n}\n.primary-color .content-area .article-info .info a:hover {\n  color: #0056b3;\n}\n.primary-color .content-area .post-content a {\n  color: #007bff;\n}\n.primary-color .content-area .post-content a:hover {\n  color: #0056b3;\n}\n.primary-color .content-area .agree-and-share button {\n  color: #007bff;\n  border-color: #007bff;\n}\n.primary-color .content-area .agree-and-share button:hover {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color .content-area .agree-and-share button:focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n.primary-color .content-area .agree-and-share button:disabled {\n  color: #007bff;\n  background-color: transparent;\n}\n.primary-color .content-area .post-navigation a {\n  color: #007bff;\n}\n.primary-color .content-area .post-navigation a:hover {\n  color: #0056b3;\n}\n.primary-color #comments #comment-form #show-emoji-btn {\n  color: #007bff;\n  border-color: #007bff;\n}\n.primary-color #comments #comment-form #show-emoji-btn:hover {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color #comments #comment-form #show-emoji-btn:focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n.primary-color #comments #comment-form #show-emoji-btn:disabled {\n  color: #007bff;\n  background-color: transparent;\n}\n.primary-color #comments #comment-form #emoji-classification button[aria-checked=true] {\n  background-color: #007bff;\n}\n.primary-color #comments #comment-form .comment-user a {\n  color: #007bff;\n}\n.primary-color #comments #comment-form .comment-user a:hover {\n  color: #0056b3;\n}\n.primary-color #comments #comment-form .submit {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color #comments #comment-form .submit:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.primary-color #comments #comment-form .submit:focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.primary-color #comments #comment-form .submit:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color #comments .comment-box .comment-info .author a {\n  color: #007bff;\n}\n.primary-color #comments .comment-box .comment-info .author a:hover {\n  color: #0056b3;\n}\n.primary-color #comments .comment-box .comment-reply a {\n  border: 1px solid #007bff;\n  color: #007bff;\n}\n.primary-color #comments .comment-box .comment-reply a:hover {\n  background-color: #007bff;\n  color: #ffffff;\n}\n.primary-color #comments .comment-box .comment-content a {\n  color: #007bff;\n}\n.primary-color #comments .comment-box .comment-content a:hover {\n  color: #0056b3;\n}\n.primary-color #footer-btn-box button {\n  color: #007bff;\n}\n.primary-color .category-page .category-list .icon {\n  color: #007bff;\n}\n.primary-color #directory-mobile .directory-list a {\n  color: #007bff;\n}\n.primary-color #directory-mobile .directory-list a:hover {\n  color: #0056b3;\n}\n.primary-color .data-page .statistics-card {\n  background-color: #B3D8FF;\n}\n.primary-color .container-404 .to-home-link, .primary-color .container-404 .search-btn {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color .container-404 .to-home-link:hover, .primary-color .container-404 .search-btn:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.primary-color .container-404 .to-home-link:focus, .primary-color .container-404 .search-btn:focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.primary-color .container-404 .to-home-link:disabled, .primary-color .container-404 .search-btn:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.primary-color .directory-active {\n  color: #0056b3 !important;\n}\n\n.info-color header .navbar {\n  background-color: #17a2b8 !important;\n}\n.info-color header .navbar .navbar-brand {\n  color: #fff;\n}\n.info-color header .navbar .navbar-brand:hover, .info-color header .navbar .navbar-brand:focus {\n  color: #fff;\n}\n.info-color header .navbar .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n.info-color header .navbar .navbar-nav .nav-link:hover, .info-color header .navbar .navbar-nav .nav-link:focus {\n  color: rgba(255, 255, 255, 0.75);\n}\n.info-color header .navbar .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n.info-color header .navbar .navbar-nav .show > .nav-link,\n.info-color header .navbar .navbar-nav .active > .nav-link,\n.info-color header .navbar .navbar-nav .nav-link.show,\n.info-color header .navbar .navbar-nav .nav-link.active {\n  color: #fff;\n}\n.info-color header .navbar .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.info-color header .navbar .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.info-color header .navbar .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n.info-color header .navbar .navbar-text a {\n  color: #fff;\n}\n.info-color header .navbar .navbar-text a:hover, .info-color header .navbar .navbar-text a:focus {\n  color: #fff;\n}\n.info-color .article-list .post .article-info i, .info-color .article-list .post .article-info span, .info-color .archives-list .post .article-info i, .info-color .archives-list .post .article-info span {\n  color: #17a2b8;\n}\n.info-color .article-list .post .article-info a, .info-color .archives-list .post .article-info a {\n  color: #17a2b8;\n}\n.info-color .article-list .post .article-info a:hover, .info-color .archives-list .post .article-info a:hover {\n  color: #0f6674;\n}\n.info-color .pagination-nav ul li a, .info-color .post-pagination ol li a {\n  color: #17a2b8;\n}\n.info-color .pagination-nav ul .active a, .info-color .post-pagination ol .active a {\n  color: #ffffff;\n  background-color: #17a2b8;\n  border: none;\n}\n.info-color .sidebar section ul > li > a, .info-color .sidebar .latest-comment a, .info-color .sidebar .user-name, .info-color .sidebar .calendar a {\n  color: #17a2b8;\n}\n.info-color .sidebar section ul > li > a:hover, .info-color .sidebar .latest-comment a:hover, .info-color .sidebar .user-name:hover, .info-color .sidebar .calendar a:hover {\n  color: #0f6674;\n}\n.info-color .sidebar section ul li .badge {\n  background-color: #17a2b8;\n  color: #ffffff;\n}\n.info-color .sidebar .tag-cloud a {\n  border: 1px solid #17a2b8;\n  color: #17a2b8;\n}\n.info-color .sidebar .tag-cloud a:hover {\n  background-color: #17a2b8;\n  color: #ffffff;\n}\n.info-color .sidebar .tag-cloud a:focus {\n  background-color: #17a2b8;\n  color: #ffffff;\n}\n.info-color .sidebar .search button {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color .sidebar .search button:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n.info-color .sidebar .search button:focus {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n.info-color .sidebar .search button:disabled {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color .breadcrumb-nav a {\n  color: #17a2b8;\n}\n.info-color .breadcrumb-nav a:hover {\n  color: #0f6674;\n}\n.info-color .content-area .article-info .info span, .info-color .content-area .article-info .info i {\n  color: #17a2b8;\n}\n.info-color .content-area .article-info .info a {\n  color: #17a2b8;\n}\n.info-color .content-area .article-info .info a:hover {\n  color: #0f6674;\n}\n.info-color .content-area .post-content a {\n  color: #17a2b8;\n}\n.info-color .content-area .post-content a:hover {\n  color: #0f6674;\n}\n.info-color .content-area .agree-and-share button {\n  color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color .content-area .agree-and-share button:hover {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color .content-area .agree-and-share button:focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n.info-color .content-area .agree-and-share button:disabled {\n  color: #17a2b8;\n  background-color: transparent;\n}\n.info-color .content-area .post-navigation a {\n  color: #17a2b8;\n}\n.info-color .content-area .post-navigation a:hover {\n  color: #0f6674;\n}\n.info-color #comments #comment-form #show-emoji-btn {\n  color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color #comments #comment-form #show-emoji-btn:hover {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color #comments #comment-form #show-emoji-btn:focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n.info-color #comments #comment-form #show-emoji-btn:disabled {\n  color: #17a2b8;\n  background-color: transparent;\n}\n.info-color #comments #comment-form #emoji-classification button[aria-checked=true] {\n  background-color: #17a2b8;\n}\n.info-color #comments #comment-form .comment-user a {\n  color: #17a2b8;\n}\n.info-color #comments #comment-form .comment-user a:hover {\n  color: #0f6674;\n}\n.info-color #comments #comment-form .submit {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color #comments #comment-form .submit:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n.info-color #comments #comment-form .submit:focus {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n.info-color #comments #comment-form .submit:disabled {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color #comments .comment-box .comment-info .author a {\n  color: #17a2b8;\n}\n.info-color #comments .comment-box .comment-info .author a:hover {\n  color: #0f6674;\n}\n.info-color #comments .comment-box .comment-reply a {\n  border: 1px solid #17a2b8;\n  color: #17a2b8;\n}\n.info-color #comments .comment-box .comment-reply a:hover {\n  background-color: #17a2b8;\n  color: #ffffff;\n}\n.info-color #comments .comment-box .comment-content a {\n  color: #17a2b8;\n}\n.info-color #comments .comment-box .comment-content a:hover {\n  color: #0f6674;\n}\n.info-color #footer-btn-box button {\n  color: #17a2b8;\n}\n.info-color .category-page .category-list .icon {\n  color: #17a2b8;\n}\n.info-color #directory-mobile .directory-list a {\n  color: #17a2b8;\n}\n.info-color #directory-mobile .directory-list a:hover {\n  color: #0f6674;\n}\n.info-color .data-page .statistics-card {\n  background-color: #B3D8FF;\n}\n.info-color .container-404 .to-home-link, .info-color .container-404 .search-btn {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color .container-404 .to-home-link:hover, .info-color .container-404 .search-btn:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n.info-color .container-404 .to-home-link:focus, .info-color .container-404 .search-btn:focus {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n.info-color .container-404 .to-home-link:disabled, .info-color .container-404 .search-btn:disabled {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.info-color .directory-active {\n  color: #0f6674 !important;\n}\n\n.success-color header .navbar {\n  background-color: #28a745 !important;\n}\n.success-color header .navbar .navbar-brand {\n  color: #fff;\n}\n.success-color header .navbar .navbar-brand:hover, .success-color header .navbar .navbar-brand:focus {\n  color: #fff;\n}\n.success-color header .navbar .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n.success-color header .navbar .navbar-nav .nav-link:hover, .success-color header .navbar .navbar-nav .nav-link:focus {\n  color: rgba(255, 255, 255, 0.75);\n}\n.success-color header .navbar .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n.success-color header .navbar .navbar-nav .show > .nav-link,\n.success-color header .navbar .navbar-nav .active > .nav-link,\n.success-color header .navbar .navbar-nav .nav-link.show,\n.success-color header .navbar .navbar-nav .nav-link.active {\n  color: #fff;\n}\n.success-color header .navbar .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.success-color header .navbar .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.success-color header .navbar .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n.success-color header .navbar .navbar-text a {\n  color: #fff;\n}\n.success-color header .navbar .navbar-text a:hover, .success-color header .navbar .navbar-text a:focus {\n  color: #fff;\n}\n.success-color .article-list .post .article-info i, .success-color .article-list .post .article-info span, .success-color .archives-list .post .article-info i, .success-color .archives-list .post .article-info span {\n  color: #28a745;\n}\n.success-color .article-list .post .article-info a, .success-color .archives-list .post .article-info a {\n  color: #28a745;\n}\n.success-color .article-list .post .article-info a:hover, .success-color .archives-list .post .article-info a:hover {\n  color: #19692c;\n}\n.success-color .pagination-nav ul li a, .success-color .post-pagination ol li a {\n  color: #28a745;\n}\n.success-color .pagination-nav ul .active a, .success-color .post-pagination ol .active a {\n  color: #ffffff;\n  background-color: #28a745;\n  border: none;\n}\n.success-color .sidebar section ul > li > a, .success-color .sidebar .latest-comment a, .success-color .sidebar .user-name, .success-color .sidebar .calendar a {\n  color: #28a745;\n}\n.success-color .sidebar section ul > li > a:hover, .success-color .sidebar .latest-comment a:hover, .success-color .sidebar .user-name:hover, .success-color .sidebar .calendar a:hover {\n  color: #19692c;\n}\n.success-color .sidebar section ul li .badge {\n  background-color: #28a745;\n  color: #ffffff;\n}\n.success-color .sidebar .tag-cloud a {\n  border: 1px solid #28a745;\n  color: #28a745;\n}\n.success-color .sidebar .tag-cloud a:hover {\n  background-color: #28a745;\n  color: #ffffff;\n}\n.success-color .sidebar .tag-cloud a:focus {\n  background-color: #28a745;\n  color: #ffffff;\n}\n.success-color .sidebar .search button {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color .sidebar .search button:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n.success-color .sidebar .search button:focus {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n.success-color .sidebar .search button:disabled {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color .breadcrumb-nav a {\n  color: #28a745;\n}\n.success-color .breadcrumb-nav a:hover {\n  color: #19692c;\n}\n.success-color .content-area .article-info .info span, .success-color .content-area .article-info .info i {\n  color: #28a745;\n}\n.success-color .content-area .article-info .info a {\n  color: #28a745;\n}\n.success-color .content-area .article-info .info a:hover {\n  color: #19692c;\n}\n.success-color .content-area .post-content a {\n  color: #28a745;\n}\n.success-color .content-area .post-content a:hover {\n  color: #19692c;\n}\n.success-color .content-area .agree-and-share button {\n  color: #28a745;\n  border-color: #28a745;\n}\n.success-color .content-area .agree-and-share button:hover {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color .content-area .agree-and-share button:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n.success-color .content-area .agree-and-share button:disabled {\n  color: #28a745;\n  background-color: transparent;\n}\n.success-color .content-area .post-navigation a {\n  color: #28a745;\n}\n.success-color .content-area .post-navigation a:hover {\n  color: #19692c;\n}\n.success-color #comments #comment-form #show-emoji-btn {\n  color: #28a745;\n  border-color: #28a745;\n}\n.success-color #comments #comment-form #show-emoji-btn:hover {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color #comments #comment-form #show-emoji-btn:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n.success-color #comments #comment-form #show-emoji-btn:disabled {\n  color: #28a745;\n  background-color: transparent;\n}\n.success-color #comments #comment-form #emoji-classification button[aria-checked=true] {\n  background-color: #28a745;\n}\n.success-color #comments #comment-form .comment-user a {\n  color: #28a745;\n}\n.success-color #comments #comment-form .comment-user a:hover {\n  color: #19692c;\n}\n.success-color #comments #comment-form .submit {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color #comments #comment-form .submit:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n.success-color #comments #comment-form .submit:focus {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n.success-color #comments #comment-form .submit:disabled {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color #comments .comment-box .comment-info .author a {\n  color: #28a745;\n}\n.success-color #comments .comment-box .comment-info .author a:hover {\n  color: #19692c;\n}\n.success-color #comments .comment-box .comment-reply a {\n  border: 1px solid #28a745;\n  color: #28a745;\n}\n.success-color #comments .comment-box .comment-reply a:hover {\n  background-color: #28a745;\n  color: #ffffff;\n}\n.success-color #comments .comment-box .comment-content a {\n  color: #28a745;\n}\n.success-color #comments .comment-box .comment-content a:hover {\n  color: #19692c;\n}\n.success-color #footer-btn-box button {\n  color: #28a745;\n}\n.success-color .category-page .category-list .icon {\n  color: #28a745;\n}\n.success-color #directory-mobile .directory-list a {\n  color: #28a745;\n}\n.success-color #directory-mobile .directory-list a:hover {\n  color: #19692c;\n}\n.success-color .data-page .statistics-card {\n  background-color: #B3D8FF;\n}\n.success-color .container-404 .to-home-link, .success-color .container-404 .search-btn {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color .container-404 .to-home-link:hover, .success-color .container-404 .search-btn:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n.success-color .container-404 .to-home-link:focus, .success-color .container-404 .search-btn:focus {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n.success-color .container-404 .to-home-link:disabled, .success-color .container-404 .search-btn:disabled {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.success-color .directory-active {\n  color: #19692c !important;\n}\n\n.dark-color {\n  background-color: #121212;\n}\n.dark-color .border, .dark-color .border-top, .dark-color .border-bottom, .dark-color .border-left, .dark-color .border-right {\n  border-color: rgba(255, 255, 255, 0.2) !important;\n}\n.dark-color .mwordstar-block {\n  border-color: rgba(255, 255, 255, 0.1) !important;\n  background-color: #1E1E1E;\n}\n.dark-color header .navbar {\n  background-color: #1F1F1F;\n  border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);\n}\n.dark-color header .navbar .navbar-brand {\n  color: #fff;\n}\n.dark-color header .navbar .navbar-brand:hover, .dark-color header .navbar .navbar-brand:focus {\n  color: #fff;\n}\n.dark-color header .navbar .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n.dark-color header .navbar .navbar-nav .nav-link:hover, .dark-color header .navbar .navbar-nav .nav-link:focus {\n  color: rgba(255, 255, 255, 0.75);\n}\n.dark-color header .navbar .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n.dark-color header .navbar .navbar-nav .show > .nav-link,\n.dark-color header .navbar .navbar-nav .active > .nav-link,\n.dark-color header .navbar .navbar-nav .nav-link.show,\n.dark-color header .navbar .navbar-nav .nav-link.active {\n  color: #fff;\n}\n.dark-color header .navbar .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.dark-color header .navbar .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.dark-color header .navbar .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n.dark-color header .navbar .navbar-text a {\n  color: #fff;\n}\n.dark-color header .navbar .navbar-text a:hover, .dark-color header .navbar .navbar-text a:focus {\n  color: #fff;\n}\n.dark-color header .navbar .search-form input {\n  background-color: #121212;\n  border: none;\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color header .navbar .search-form button {\n  background-color: rgba(255, 255, 255, 0.08);\n  color: rgba(255, 255, 255, 0.87);\n  border: none;\n}\n.dark-color header .navbar .dropdown-menu {\n  background: #2D2D2D;\n}\n.dark-color header .navbar .dropdown-menu a {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .home .no-post-message .post-title {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .article-list .post, .dark-color .archives-list .archives .post {\n  background-color: #1E1E1E;\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.dark-color .article-list .post .entry-title a, .dark-color .archives-list .archives .post .entry-title a {\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color .article-list .post .entry-summary p, .dark-color .archives-list .archives .post .entry-summary p {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .article-list .post .post-content p, .dark-color .archives-list .archives .post .post-content p {\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color .article-list .post .post-content h1, .dark-color .article-list .post .post-content h2, .dark-color .article-list .post .post-content h3, .dark-color .article-list .post .post-content h4, .dark-color .article-list .post .post-content h5, .dark-color .article-list .post .post-content h6, .dark-color .archives-list .archives .post .post-content h1, .dark-color .archives-list .archives .post .post-content h2, .dark-color .archives-list .archives .post .post-content h3, .dark-color .archives-list .archives .post .post-content h4, .dark-color .archives-list .archives .post .post-content h5, .dark-color .archives-list .archives .post .post-content h6 {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .article-list .post .post-content li, .dark-color .archives-list .archives .post .post-content li {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .article-list .post .post-content p > code, .dark-color .article-list .post .post-content td code, .dark-color .article-list .post .post-content li code, .dark-color .article-list .post .post-content h1 code, .dark-color .article-list .post .post-content h2 code, .dark-color .article-list .post .post-content h3 code, .dark-color .article-list .post .post-content h4 code, .dark-color .article-list .post .post-content th code, .dark-color .archives-list .archives .post .post-content p > code, .dark-color .archives-list .archives .post .post-content td code, .dark-color .archives-list .archives .post .post-content li code, .dark-color .archives-list .archives .post .post-content h1 code, .dark-color .archives-list .archives .post .post-content h2 code, .dark-color .archives-list .archives .post .post-content h3 code, .dark-color .archives-list .archives .post .post-content h4 code, .dark-color .archives-list .archives .post .post-content th code {\n  background-color: #000000 !important;\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color .article-list .post .post-content blockquote, .dark-color .archives-list .archives .post .post-content blockquote {\n  border-color: rgba(255, 255, 255, 0.6);\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .article-list .post .post-content table, .dark-color .archives-list .archives .post .post-content table {\n  border-color: #495057;\n}\n.dark-color .article-list .post .post-content table td, .dark-color .article-list .post .post-content table th, .dark-color .archives-list .archives .post .post-content table td, .dark-color .archives-list .archives .post .post-content table th {\n  color: rgba(255, 255, 255, 0.87);\n  border-color: #495057;\n}\n.dark-color .article-list .post .post-content table tbody tr:nth-child(odd), .dark-color .archives-list .archives .post .post-content table tbody tr:nth-child(odd) {\n  background-color: #2D2D2D;\n}\n.dark-color .article-list .post .post-content table tbody tr:hover, .dark-color .archives-list .archives .post .post-content table tbody tr:hover {\n  background-color: #2D2D2D;\n}\n.dark-color .article-list .post .post-content hr, .dark-color .archives-list .archives .post .post-content hr {\n  background-color: rgba(255, 255, 255, 0.6);\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .article-list .post .post-content pre code, .dark-color .archives-list .archives .post .post-content pre code {\n  scrollbar-color: #777777 #222222;\n  scrollbar-face-color: #777777;\n  scrollbar-track-color: #222222;\n}\n.dark-color .article-list .post .post-content pre code::-webkit-scrollbar-track, .dark-color .archives-list .archives .post .post-content pre code::-webkit-scrollbar-track {\n  background: #222222;\n}\n.dark-color .article-list .post .post-content pre code::-webkit-scrollbar-thumb, .dark-color .archives-list .archives .post .post-content pre code::-webkit-scrollbar-thumb {\n  background-color: #777777;\n  border: 3px solid #222222;\n}\n.dark-color .article-list .post .post-content pre code::-webkit-scrollbar-thumb:hover, .dark-color .archives-list .archives .post .post-content pre code::-webkit-scrollbar-thumb:hover {\n  background-color: #999999;\n}\n.dark-color .article-list .post .post-content .table-responsive, .dark-color .archives-list .archives .post .post-content .table-responsive {\n  scrollbar-color: #777777 #222222;\n  scrollbar-face-color: #777777;\n  scrollbar-track-color: #222222;\n}\n.dark-color .article-list .post .post-content .table-responsive::-webkit-scrollbar-track, .dark-color .archives-list .archives .post .post-content .table-responsive::-webkit-scrollbar-track {\n  background: #222222;\n}\n.dark-color .article-list .post .post-content .table-responsive::-webkit-scrollbar-thumb, .dark-color .archives-list .archives .post .post-content .table-responsive::-webkit-scrollbar-thumb {\n  background-color: #777777;\n  border: 3px solid #222222;\n}\n.dark-color .article-list .post .post-content .table-responsive::-webkit-scrollbar-thumb:hover, .dark-color .archives-list .archives .post .post-content .table-responsive::-webkit-scrollbar-thumb:hover {\n  background-color: #999999;\n}\n.dark-color .article-list .post .article-info i, .dark-color .article-list .post .article-info span, .dark-color .archives-list .archives .post .article-info i, .dark-color .archives-list .archives .post .article-info span {\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .article-list .post .article-info a, .dark-color .archives-list .archives .post .article-info a {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .article-list .post .article-info a:hover, .dark-color .archives-list .archives .post .article-info a:hover {\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .pagination-nav ul li a, .dark-color .post-pagination ol li a {\n  color: rgba(255, 255, 255, 0.87);\n  background-color: #1E1E1E;\n  border: none;\n}\n.dark-color .pagination-nav ul li:not(.active) a:hover, .dark-color .post-pagination ol li:not(.active) a:hover {\n  background-color: #2D2D2D;\n}\n.dark-color .sidebar section ul > li > a, .dark-color .sidebar .latest-comment a, .dark-color .sidebar .user-name, .dark-color .sidebar .calendar a {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .sidebar section ul > li > a:hover, .dark-color .sidebar .latest-comment a:hover, .dark-color .sidebar .user-name:hover, .dark-color .sidebar .calendar a:hover {\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .sidebar section h4 {\n  color: rgba(255, 255, 255, 0.87);\n  border-color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .sidebar section .message {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .sidebar .personal-information .introduction {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .sidebar .personal-information .info {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .sidebar .calendar table {\n  border-color: #495057;\n}\n.dark-color .sidebar .calendar table th, .dark-color .sidebar .calendar table td {\n  color: rgba(255, 255, 255, 0.87);\n  border-color: #495057;\n}\n.dark-color .sidebar .calendar table .active {\n  background-color: #353535;\n}\n.dark-color .sidebar .latest-comment .comment-content {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .sidebar .tag-cloud a {\n  border: 1px solid rgba(255, 255, 255, 0.87);\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .sidebar .tag-cloud a:hover {\n  background-color: rgba(255, 255, 255, 0.87);\n  color: #1E1E1E;\n}\n.dark-color .sidebar .tag-cloud a:focus {\n  background-color: rgba(255, 255, 255, 0.87);\n  color: #1E1E1E;\n}\n.dark-color .sidebar li .badge {\n  background-color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .sidebar .search input {\n  background-color: #121212;\n  color: rgba(255, 255, 255, 0.87);\n  border-color: #007bff;\n}\n.dark-color .sidebar .search button {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color .sidebar .search button:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.dark-color .sidebar .search button:focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.dark-color .sidebar .search button:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color .sidebar .customize-html {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .sidebar .language-select label {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .breadcrumb-nav .breadcrumb-item {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .content-area .entry-title a {\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color .content-area .article-info .info span, .dark-color .content-area .article-info .info i {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .content-area .article-info .info a {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .content-area .article-info .info a:hover {\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .content-area .warning-info {\n  background-color: #2D2D2D;\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .content-area .post-content p {\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color .content-area .post-content h1, .dark-color .content-area .post-content h2, .dark-color .content-area .post-content h3, .dark-color .content-area .post-content h4, .dark-color .content-area .post-content h5, .dark-color .content-area .post-content h6 {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .content-area .post-content li {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .content-area .post-content p > code, .dark-color .content-area .post-content td code, .dark-color .content-area .post-content li code, .dark-color .content-area .post-content h1 code, .dark-color .content-area .post-content h2 code, .dark-color .content-area .post-content h3 code, .dark-color .content-area .post-content h4 code, .dark-color .content-area .post-content th code {\n  background-color: #000000 !important;\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color .content-area .post-content blockquote {\n  border-color: rgba(255, 255, 255, 0.6);\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .content-area .post-content table {\n  border-color: #495057;\n}\n.dark-color .content-area .post-content table td, .dark-color .content-area .post-content table th {\n  color: rgba(255, 255, 255, 0.87);\n  border-color: #495057;\n}\n.dark-color .content-area .post-content table tbody tr:nth-child(odd) {\n  background-color: #2D2D2D;\n}\n.dark-color .content-area .post-content table tbody tr:hover {\n  background-color: #2D2D2D;\n}\n.dark-color .content-area .post-content hr {\n  background-color: rgba(255, 255, 255, 0.6);\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .content-area .post-content pre code {\n  scrollbar-color: #777777 #222222;\n  scrollbar-face-color: #777777;\n  scrollbar-track-color: #222222;\n}\n.dark-color .content-area .post-content pre code::-webkit-scrollbar-track {\n  background: #222222;\n}\n.dark-color .content-area .post-content pre code::-webkit-scrollbar-thumb {\n  background-color: #777777;\n  border: 3px solid #222222;\n}\n.dark-color .content-area .post-content pre code::-webkit-scrollbar-thumb:hover {\n  background-color: #999999;\n}\n.dark-color .content-area .post-content .table-responsive {\n  scrollbar-color: #777777 #222222;\n  scrollbar-face-color: #777777;\n  scrollbar-track-color: #222222;\n}\n.dark-color .content-area .post-content .table-responsive::-webkit-scrollbar-track {\n  background: #222222;\n}\n.dark-color .content-area .post-content .table-responsive::-webkit-scrollbar-thumb {\n  background-color: #777777;\n  border: 3px solid #222222;\n}\n.dark-color .content-area .post-content .table-responsive::-webkit-scrollbar-thumb:hover {\n  background-color: #999999;\n}\n.dark-color .content-area .post-content .load-img {\n  background-color: #373737;\n}\n.dark-color .content-area #copyright-info span {\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color .content-area .agree-and-share button {\n  color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.dark-color .content-area .agree-and-share button:hover {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.dark-color .content-area .agree-and-share button:focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n.dark-color .content-area .agree-and-share button:disabled {\n  color: #f8f9fa;\n  background-color: transparent;\n}\n.dark-color .content-area .post-navigation div {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .content-area #qr-link p {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments h2 {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments #comment-form label {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments #comment-form input, .dark-color #comments #comment-form textarea {\n  background-color: #121212;\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments #comment-form #show-emoji-btn {\n  color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.dark-color #comments #comment-form #show-emoji-btn:hover {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.dark-color #comments #comment-form #show-emoji-btn:focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n.dark-color #comments #comment-form #show-emoji-btn:disabled {\n  color: #f8f9fa;\n  background-color: transparent;\n}\n.dark-color #comments #comment-form #emoji-panel {\n  background-color: #2D2D2D;\n}\n.dark-color #comments #comment-form #emoji-panel #emoji-classification button[aria-checked=true] {\n  background-color: #007bff;\n}\n.dark-color #comments #comment-form #emoji-panel #emoji-title {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments #comment-form .submit {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color #comments #comment-form .submit:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.dark-color #comments #comment-form .submit:focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.dark-color #comments #comment-form .submit:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color #comments #comment-form .comment-user {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments ol .comment-body {\n  border-color: rgba(255, 255, 255, 0.2) !important;\n}\n.dark-color #comments .comment-box .comment-info .author {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments .comment-box .comment-info .comment-time {\n  color: rgba(255, 255, 255, 0.6) !important;\n}\n.dark-color #comments .comment-box .comment-reply a {\n  border: 1px solid rgba(255, 255, 255, 0.87);\n  color: rgba(255, 255, 255, 0.87);\n  background: none !important;\n}\n.dark-color #comments .comment-box .comment-reply a:hover {\n  background-color: rgba(255, 255, 255, 0.87) !important;\n  color: #1E1E1E;\n}\n.dark-color #comments .comment-box .comment-content p {\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color #comments .comment-box .comment-content h1, .dark-color #comments .comment-box .comment-content h2, .dark-color #comments .comment-box .comment-content h3, .dark-color #comments .comment-box .comment-content h4, .dark-color #comments .comment-box .comment-content h5, .dark-color #comments .comment-box .comment-content h6 {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments .comment-box .comment-content li {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #comments .comment-box .comment-content p > code, .dark-color #comments .comment-box .comment-content td code, .dark-color #comments .comment-box .comment-content li code, .dark-color #comments .comment-box .comment-content h1 code, .dark-color #comments .comment-box .comment-content h2 code, .dark-color #comments .comment-box .comment-content h3 code, .dark-color #comments .comment-box .comment-content h4 code, .dark-color #comments .comment-box .comment-content th code {\n  background-color: #000000 !important;\n  color: rgba(255, 255, 255, 0.87) !important;\n}\n.dark-color #comments .comment-box .comment-content blockquote {\n  border-color: rgba(255, 255, 255, 0.6);\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color #comments .comment-box .comment-content table {\n  border-color: #495057;\n}\n.dark-color #comments .comment-box .comment-content table td, .dark-color #comments .comment-box .comment-content table th {\n  color: rgba(255, 255, 255, 0.87);\n  border-color: #495057;\n}\n.dark-color #comments .comment-box .comment-content table tbody tr:nth-child(odd) {\n  background-color: #2D2D2D;\n}\n.dark-color #comments .comment-box .comment-content table tbody tr:hover {\n  background-color: #2D2D2D;\n}\n.dark-color #comments .comment-box .comment-content hr {\n  background-color: rgba(255, 255, 255, 0.6);\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color #comments .comment-box .comment-content pre code {\n  scrollbar-color: #777777 #222222;\n  scrollbar-face-color: #777777;\n  scrollbar-track-color: #222222;\n}\n.dark-color #comments .comment-box .comment-content pre code::-webkit-scrollbar-track {\n  background: #222222;\n}\n.dark-color #comments .comment-box .comment-content pre code::-webkit-scrollbar-thumb {\n  background-color: #777777;\n  border: 3px solid #222222;\n}\n.dark-color #comments .comment-box .comment-content pre code::-webkit-scrollbar-thumb:hover {\n  background-color: #999999;\n}\n.dark-color #comments .comment-box .comment-content .table-responsive {\n  scrollbar-color: #777777 #222222;\n  scrollbar-face-color: #777777;\n  scrollbar-track-color: #222222;\n}\n.dark-color #comments .comment-box .comment-content .table-responsive::-webkit-scrollbar-track {\n  background: #222222;\n}\n.dark-color #comments .comment-box .comment-content .table-responsive::-webkit-scrollbar-thumb {\n  background-color: #777777;\n  border: 3px solid #222222;\n}\n.dark-color #comments .comment-box .comment-content .table-responsive::-webkit-scrollbar-thumb:hover {\n  background-color: #999999;\n}\n.dark-color #comments .comment-box .respond {\n  background-color: #2D2D2D !important;\n}\n.dark-color #comments .pagination-nav .pagination a {\n  border: 1px solid rgba(255, 255, 255, 0.2);\n}\n.dark-color #footer-btn-box button {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color #footer-btn-box button:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.dark-color #footer-btn-box button:focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.dark-color #footer-btn-box button:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color #directory-mobile {\n  background: #2D2D2D;\n}\n.dark-color #directory-mobile .title-bar h5, .dark-color #directory-mobile .title-bar button {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #directory-mobile .directory-list a {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color #directory-mobile .directory-list a:hover {\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color footer .container span {\n  color: rgba(255, 255, 255, 0.6);\n}\n.dark-color footer .container a {\n  color: #007bff;\n}\n.dark-color .archives-list .page-header h1, .dark-color .archives-list .page-header span {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .archives-list .no-post h4, .dark-color .archives-list .no-post li, .dark-color .archives-list .no-post p {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .link-page .link-box {\n  background-color: #121212;\n}\n.dark-color .link-page .link-box .link {\n  background-color: #1E1E1E;\n}\n.dark-color .archives .archives-item h2 {\n  background-color: #1E1E1E;\n}\n.dark-color .data-page .statistics-card {\n  background-color: #2D2D2D;\n}\n.dark-color .container-404 h1, .dark-color .container-404 h2, .dark-color .container-404 h5 {\n  color: rgba(255, 255, 255, 0.87);\n}\n.dark-color .container-404 .search-btn, .dark-color .container-404 .to-home-link {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color .container-404 .search-btn:hover, .dark-color .container-404 .to-home-link:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.dark-color .container-404 .search-btn:focus, .dark-color .container-404 .to-home-link:focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.dark-color .container-404 .search-btn:disabled, .dark-color .container-404 .to-home-link:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.dark-color .directory-active {\n  color: #007bff !important;\n}\n\n/*# sourceMappingURL=style.css.map */\n"
  },
  {
    "path": "assets/css/style.scss",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\n$articleFontSize: 15px; // 文章字体大小\n$shadow: 0 1px 3px rgba(26, 26, 26, 0.1); // 区块阴影\n\n// 通用的文章信息样式\n@mixin articleInfo {\n  padding: 10px 25px;\n  .info {\n    float: left;\n    margin-right: 20px;\n    height: 29px;\n  }\n  a,\n  span {\n    font-size: 12px;\n    line-height: 29px;\n  }\n  a:hover {\n    color: #76839b;\n  }\n  .icon {\n    margin-right: 4px;\n    font-size: 12px;\n    line-height: 29px;\n  }\n  .tags a,\n  .category a {\n    margin-right: 3px;\n  }\n}\n\n// 通用文章标题样式\n@mixin entryHeader {\n  .entry-title {\n    font-size: 28px;\n    font-weight: 700;\n    padding: 20px 20px 12px 20px;\n    a {\n      color: #222222;\n    }\n  }\n}\n\n// 通用文章标题样式手机版\n@mixin entryHeaderM {\n  .entry-title {\n    font-size: 20px;\n    padding: 20px 20px 12px 20px;\n  }\n}\n\n// 通用文章头图样式\n@mixin postThumbnail {\n  width: 100%;\n  .fixed {\n    display: block;\n    width: 100%;\n    height: 100%;\n    position: relative;\n    overflow: hidden;\n    background-size: cover;\n    background-position: center;\n  }\n  .fixed:after {\n    content: '';\n    padding-bottom: 37.5%;\n    display: block;\n  }\n  img {\n    width: 100%;\n  }\n}\n\n// 通用的文章列表样式\n@mixin post {\n  margin-bottom: 30px;\n  overflow: hidden;;\n  // 文章头图\n  .header-img {\n    @include postThumbnail;\n  }\n  // 文章标题\n  .entry-header {\n    overflow: hidden;\n    @include entryHeader;\n    .entry-title {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n  }\n  // 文章摘要\n  .entry-summary {\n    padding: 20px;\n    p {\n      font-size: $articleFontSize;\n      line-height: 25px;\n    }\n  }\n  // 全文显示\n  .post-content {\n    @include postContent;\n  }\n  // 文章信息\n  .article-info {\n    @include articleInfo;\n  }\n  // 小头图模式\n  .entry-summary[data-header-image-type=\"mini\"] {\n    // 图片区域\n    .mini-header-image a {\n      display: block;\n      width: 100%;\n      height: 100%;\n      position: relative;\n      overflow: hidden;\n      background-size: cover;\n      background-position: center;\n      background-color: #E0E0E0;\n      &:after {\n        content: '';\n        padding-bottom: 66.66%;\n        display: block;\n      }\n    }\n    // 文字区域\n    .content-box p {\n      max-height: 120px;\n      overflow-y: hidden;\n      margin-bottom: 0;\n    }\n  }\n}\n\n// 通用的文章列表样式手机版\n@mixin postM {\n  // 文章头图\n  .header-img {\n    @include postThumbnail;\n  }\n  // 文章标题\n  .entry-header {\n    @include entryHeaderM;\n  }\n  // 文章摘要\n  .entry-summary {\n    padding: 20px;\n  }\n  // 文章信息\n  .article-info {\n    padding: 10px 20px;\n  }\n}\n\n// 通用的文章内容样式\n@mixin postContent {\n  font-size: $articleFontSize;\n  word-break: break-all;\n  ul,\n  ol,\n  img,\n  pre,\n  blockquote,\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  p {\n    margin: 0 0 20px 0;\n  }\n  img {\n    max-width: 100%;\n    cursor: zoom-in;\n    margin-left: auto;\n    margin-right: auto;\n    display: block;\n  }\n  // 文章标题\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6 {\n    font-weight: 700;\n    color: #444444;\n    > code {\n      background: #ededed;\n      color: #333333;\n      padding: 0 4px;\n    }\n  }\n  h1 {\n    font-size: 30px;\n    margin: 50px 0 20px 0;\n  }\n  h2 {\n    font-size: 25px;\n  }\n  h3 {\n    font-size: 20px;\n  }\n  h4 {\n    font-size: 15px;\n  }\n  h5 {\n    font-size: 12.45px;\n  }\n  h6 {\n    font-size: 12px;\n  }\n  // 文章引用\n  blockquote {\n    border-left: 4px solid #1a1a1a;\n    padding-left: 22.5px;\n    font-size: 17px;\n    color: #686868;\n    font-style: italic;\n  }\n  table td {\n    min-width: 90px;\n  }\n  // 响应式表格\n  .table-responsive {\n    margin-bottom: 20px;\n    table {\n      margin-bottom: 0;\n    }\n  }\n  p {\n    color: #444444;\n    line-height: 25px;\n  }\n  li {\n    color: #444444;\n    padding: 2px 0;\n  }\n  p > code,\n  li > code,\n  th > code,\n  td > code {\n    background: #ededed;\n    color: #333333;\n    padding: 0 4px;\n  }\n  video {\n    width: 100%;\n  }\n  .table-responsive {\n    @include light-horizontal-scrollbar;\n  }\n}\n\n// 横向滚动条样式，用于深色模式之外的配色\n@mixin light-horizontal-scrollbar {\n  // Firefox\n  scrollbar-width: thin;\n  scrollbar-color: #666666 #f0f0f0;\n  // IE11\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  scrollbar-face-color: #666666;\n  scrollbar-track-color: #f0f0f0;\n  scrollbar-arrow-color: #666666;\n  scrollbar-shadow-color: #f0f0f0;\n  &::-webkit-scrollbar {\n    width: 12px;\n    height: 12px;\n  }\n  &::-webkit-scrollbar-track {\n    background: #f0f0f0;\n    border-radius: 8px;\n  }\n  &::-webkit-scrollbar-thumb {\n    background-color: #666666;\n    border-radius: 8px;\n    border: 3px solid #f0f0f0;\n  }\n  &::-webkit-scrollbar-thumb:hover {\n    background-color: #444444;\n  }\n}\n\n\n// 代码高亮的主题样式\n// stackoverflow-light 样式\n.stackoverflow-light {\n  pre {\n    background: #F6F6F6;\n    .line-box {\n      background: #EFF2F3;\n      div {\n        color: #777777;\n      }\n    }\n  }\n  @import \"stackoverflow-light.min\";\n}\n// Github深色样式\n.github-dark {\n  pre {\n    background: #0D1116;\n    .line-box {\n      background: #151B23;\n      div {\n        color: #9B9B9B;\n      }\n    }\n  }\n  @import \"github-dark.min\";\n}\n// Sunburst高对比度样式\n.sunburst {\n  pre {\n    background: #000000;\n    .line-box {\n      background: #131314;\n      div {\n        color: #AEAEAE;\n      }\n    }\n  }\n  @import \"sunburst.min\";\n}\n// 通用的代码高亮样式\n.enable-highlight {\n  pre {\n    position: relative;\n    &:hover .copy-code-btn {\n      display: block;\n    }\n    .line-box {\n      width: 40px;\n      position: absolute;\n      top: 0;\n      left: 0;\n      padding-top: 12px;\n      padding-bottom: 12px;\n      div {\n        line-height: 22.5px;\n        height: 22.5px;\n        padding-right: 9px;\n        font-size: 14px;\n        -moz-user-select: none;\n        -webkit-user-select: none;\n        -ms-user-select: none;\n        user-select: none;\n      }\n    }\n    code {\n      font-size: $articleFontSize;\n      @include light-horizontal-scrollbar;\n    }\n    .copy-code-btn {\n      border-color: #BBBBBB;\n      color: #BBBBBB;\n      &:hover {\n        background-color: #BBBBBB;\n        color: #FFFFFF;\n      }\n    }\n  }\n}\n// 包含行号的样式\n.line-num-show {\n  pre {\n    code {\n      padding: 12px 10px 12px 54px !important;\n    }\n  }\n}\n// 不包含行号的样式\n.line-num-hide {\n  pre {\n    code {\n      padding: 12px 16px !important;\n    }\n  }\n}\n\n\n$shadow: 0 1px 3px rgba(26, 26, 26, 0.1); // 区块阴影\n// 区块通用样式\n.mwordstar-block {\n  box-shadow: $shadow;\n  border-radius: 4px;\n  border: 1px solid #dedede !important;\n  background-color: #FFFFFF;\n}\n\n// 主题直角风格\nbody[data-rounded=\"rightAngle\"] {\n  // 区块\n  .mwordstar-block {\n    border-radius: 0;\n  }\n  // 顶部导航区的搜索框和按钮\n  header .navbar .search-form {\n    input,button {\n      border-radius: 0;\n    }\n  }\n  // 翻页导航区\n  .pagination-nav li > a {\n    border-radius: 0 !important;\n  }\n  // 侧边栏标签云\n  .tag-cloud .tag-link {\n    border-radius: 0;\n  }\n  // 侧边栏的搜索组件\n  .sidebar .search {\n    input, button {\n      border-radius: 0;\n    }\n  }\n  // 文章页的分享和点赞按钮\n  .post-page .agree-and-share button {\n    border-radius: 0;\n  }\n  // 评论区\n  #comments {\n    // 评论表单\n    #comment-form {\n      input, textarea, button {\n        border-radius: 0;\n      }\n    }\n    // 表情面板\n    #emoji-panel {\n      border-radius: 0 !important;\n    }\n    // 评论列表的回复链接\n    .comment-reply a {\n      border-radius: 0 !important;\n    }\n  }\n  // 404页\n  .container-404 {\n    .search-box {\n      input, button {\n        border-radius: 0;\n      }\n    }\n    .to-home-link {\n      border-radius: 0;\n    }\n  }\n}\n\n// 禁止滚动\n.stop-scrolling {\n  height: 100%;\n  overflow: hidden;\n}\n\n// 通用的头像样式\n.avatar {\n  background: #E0E0E0;\n}\n\n// 代码拷贝按钮\n.copy-code-btn {\n  position: absolute;\n  top: 8px;\n  right: 8px;\n  display: none;\n}\n\n// 面包屑导航\n.breadcrumb {\n  background: none;\n}\n\n// 文章目录\n#directory-box {\n  background: #F8F9FA;\n  display: inline-block;\n  ul {\n    list-style: none;\n    .directory-num {\n      color: #444444;\n    }\n  }\n  > ul {\n    padding-left: 0;\n    ul {\n      padding-left: 32px;\n    }\n  }\n}\n\n// 图片灯箱\n#max-img-box {\n  width: 100%;\n  height: 100%;\n  position: fixed;\n  top: 0;\n  left: 0;\n  background: rgba(0, 0, 0, 0.8);\n  display: none;\n  z-index: 2000;\n  // 加载动画\n  .loading-animation {\n    position: absolute;\n    left: 50%;\n    top: 50%;\n    z-index: 2002;\n    transform: translate(-50%, -50%);\n  }\n  // 图片数量显示\n  #img-counter {\n    text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n    color: #FFFFFF;\n    font-size: 16px;\n    position: absolute;\n    top: 10px;\n    z-index: 2002;\n    margin-left: 50%;\n    transform: translateX(-50%);\n    line-height: 38px;\n  }\n  // 按钮区域\n  .btn-bar {\n    position: absolute;\n    right: 10px;\n    top: 10px;\n    z-index: 2002;\n    button {\n      color: #FFFFFF;\n      text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n      font-size: 16px;\n      &:hover {\n        color: #F7E6D2;\n      }\n    }\n  }\n  // 图片翻页按钮\n  .previous-image, .next-image {\n    padding: 2px 14px;\n    font-size: 40px;\n    position: absolute;\n    z-index: 2002;\n    top: 50%;\n    transform: translateY(-50%);\n    color: #FFFFFF;\n    text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n    &:hover {\n      text-decoration: none;\n    }\n  }\n  // 上一张\n  .previous-image {\n    left: 20px;\n\n  }\n  // 下一张\n  .next-image {\n    right: 20px;\n  }\n  // 图片 alt 文字\n  #img-alt {\n    text-shadow: 0 1px #333333, 1px 0 #333333, -1px 0 #333333, 0 -1px #333333;\n    color: #FFFFFF;\n    font-size: 16px;\n    position: absolute;\n    bottom: 30px;\n    z-index: 2002;\n    margin-left: 50%;\n    transform: translateX(-50%);\n    width: 90%;\n    text-align: center;\n  }\n  // 更换图片的动画\n  .change-img-animation {\n    animation: fadeIn 0.25s ease-in-out;\n    transition: width 0.25s, height 0.25s, left 0.25s, top 0.25s;\n  }\n  @keyframes fadeIn {\n    from {\n      opacity: 0;\n    }\n    to {\n      opacity: 1;\n    }\n  }\n}\n// 图片\n#max-img {\n  position: absolute;\n  z-index: 2001;\n}\n\n// 评论区引用头像和文字头像\n.pingback, .text-avatar {\n  background: #488CB8;\n  text-align: center;\n  font-size: 14px;\n  color: #ffffff;\n  font-weight: 700;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n// 页脚的功能按钮区域\n#footer-btn-box {\n  width: 40px;\n  position: fixed;\n  right: 20px;\n  bottom: 20px;\n  button {\n    width: 40px;\n    height: 40px;\n    background: #ffffff;\n    border: 1px solid #d3d3d3;\n    opacity: 0.7;\n    margin-top: 20px;\n  }\n}\n\n// 移动设备专用章节目录\n#directory-mobile {\n  position: fixed;\n  right: 60px;\n  bottom: 80px;\n  flex-direction: column;\n  display: flex;\n  max-height: 70%;\n  width: 300px;\n  background: #FFFFFF;\n  box-shadow: $shadow;\n  opacity: 0;\n  // 目录列表区域\n  .directory-list {\n    height: 100%;\n    overflow-y: auto;\n    ul {\n      list-style: none;\n      padding-left: 0;\n      ul {\n        padding-left: 15px;\n      }\n    }\n    a {\n      font-size: 14px;\n    }\n  }\n  // 目录的标题栏区域\n  .title-bar {\n    height: 40px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0 10px;\n    i {\n      font-size: 15px;\n    }\n  }\n}\n\n\nbody {\n  background: #e4e4e4;\n}\na {\n  transition: 0.3s;\n}\n\n// 顶部导航条\nheader {\n  width: 100%;\n  z-index: 999;\n  .navbar {\n    box-shadow: 0 1px 3px rgba(26, 26, 26, 0.1);\n    // 搜索区域\n    .search-form {\n      input:focus {\n        box-shadow: none;\n      }\n      // 亮色的搜索按钮\n      button {\n        background: #f8f8f8;\n        border: 1px solid #d3d3d3;\n      }\n      button:hover {\n        background: #f0f0f0;\n      }\n      button:focus {\n        background: #f0f0f0;\n      }\n    }\n  }\n}\n\n// pjax的进度条\n#progress-bar {\n  width: 100%;\n  height: 3px;\n  position: fixed;\n  top: 0;\n  left: 0;\n  background: #E0E0E0;\n  z-index: 2000;\n  #progress {\n    height: 100%;\n    width: 0;\n  }\n}\n\n// 内容区域\n.container .article-list {\n  margin-top: 15px;\n  // 文章列表\n  .post {\n    @include post;\n  }\n}\n.main-content {\n  margin-top: 15px;\n}\n\n// 首页\n.home {\n  // 没有文章的提示信息\n  .no-post-message {\n    padding: 20px;\n  }\n}\n\n// 侧边栏区域\n.sidebar {\n  section {\n    margin-left: 20px;\n    margin-bottom: 30px;\n    // 侧边栏个区域的标题\n    h4 {\n      line-height: 22px;\n      padding: 12px 2px;\n      font-size: 16px;\n      border-bottom: 2px solid #6c757d;\n      margin: 0 18px 10px 18px;\n      font-weight: 700;\n    }\n    // 侧边栏的列表\n    ul {\n      list-style: none;\n      padding: 0 18px 18px 18px;\n      li {\n        padding: 8px 0;\n        font-size: 13px;\n        a {\n          font-size: 14px;\n          font-weight: 500;\n        }\n        .avatar {\n          border-radius: 50%;\n        }\n      }\n    }\n    // 没有内容时的提示信息\n    .message {\n      padding: 0 18px 18px 18px;\n    }\n    // 个人资料卡\n    .personal-information {\n      padding: 0 18px 18px 18px;\n      .user {\n        width: 100%;\n        // 图片头像\n        .avatar {\n          width: 72px;\n          height: 72px;\n          display: block;\n          margin: 0 auto;\n          transition: 0.4s;\n          border-radius: 50%;\n        }\n        // 文字头像\n        .text-avatar {\n          width: 72px;\n          height: 72px;\n          line-height: 72px;\n          border-radius: 50%;\n          font-size: 24px;\n        }\n        .user-name {\n          display: block;\n          font-size: 16px;\n        }\n        .user-name,\n        .introduction {\n          margin: 0;\n          text-align: center;\n          line-height: 20px;\n        }\n        .introduction {\n          font-size: 14px;\n        }\n      }\n      .website {\n        padding-top: 18px;\n        margin-top: 18px;\n        .info {\n          width: 33.33%;\n          text-align: center;\n          font-size: 14px;\n          .quantity {\n            font-size: 20px;\n            margin: 0;\n          }\n        }\n      }\n    }\n    // 标签云\n    .tag-list {\n      padding: 0 18px 18px 18px;\n      .tag-link {\n        margin: 0 4px 4px 0;\n        font-size: 12px;\n        border-radius: 4px;\n        font-weight: 500;\n      }\n    }\n  }\n  // 日历\n  .calendar {\n    table {\n      width: 100%;\n      td a {\n        font-size: 16px;\n      }\n      .active {\n        background: #F2F2F2;\n      }\n    }\n    nav a {\n      font-size: 14px;\n    }\n  }\n  // 最新文章区域\n  .latest-articles {\n    li a {\n      transition: 0.4s;\n      .article-img {\n        display: none;\n        transition: 0.4s;\n      }\n      p {\n        margin: 0;\n      }\n    }\n    .latest-articles-active {\n      overflow: hidden;\n      position: relative;\n      display: block;\n      width: 100%;\n      .article-img {\n        display: block;\n        width: 100%;\n        height: 100%;\n        background-size: cover;\n        background-position: center;\n        position: absolute;\n        top: 0;\n        left: 0;\n      }\n      p {\n        width: 100%;\n        position: absolute;\n        bottom: 0;\n        background: rgba(0, 0, 0, 0.6);\n        color: #ffffff;\n        padding: 7px;\n      }\n      img {\n        display: inline;\n        width: 100%;\n      }\n    }\n    .latest-articles-active:after {\n      content: '';\n      display: block;\n      padding-bottom: 44%;\n    }\n  }\n  // 分类\n  .category {\n    li {\n      padding-left: 24px;\n    }\n    .indentation-0 {\n      padding-left: 0;\n    }\n  }\n  // 最新回复\n  .latest-comment {\n    .media-body,\n    .comment-content {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n    // 图片头像\n    .avatar {\n      width: 40px;\n      height: 40px;\n    }\n    // 文字头像和引用头像\n    .pingback, .text-avatar {\n      line-height: 40px;\n    }\n  }\n  // 目录\n  .directory {\n    padding: 0 18px;\n    > .article-directory {\n      overflow-y: auto;\n      padding: 0;\n      &::-webkit-scrollbar {\n        width: 6px;\n        background: #F1F1F1;\n      }\n      &::-webkit-scrollbar-thumb {\n        background: #A8A8A8;\n      }\n      .article-directory {\n        margin-bottom: 0 !important;\n        padding-bottom: 0;\n      }\n    }\n  }\n  // 自定义 HTML\n  .customize-html {\n    font-size: 14px;\n    padding: 0 18px 18px 18px;\n    word-break: break-all;\n    img {\n      max-width: 100%;\n    }\n  }\n  // 目录宽度参考线\n  .reference-line {\n    margin-left: 20px;\n  }\n}\n\n// 章节目录高亮效果\n.directory-active {\n  font-weight: 600 !important;\n}\n\n// 文章分页区域\n.pagination-nav {\n  width: 100%;\n  text-align: center;\n  margin-bottom: 30px;\n  li {\n    border-radius: unset;\n    a {\n      border-radius: unset;\n    }\n  }\n}\n\n// 底部\nfooter {\n  .container {\n    padding: 20px 20px;\n    text-align: center;\n    a,\n    span {\n      margin: 0 5px;\n      color: #525252;\n      font-size: 15px;\n    }\n  }\n}\n\n// 文章页\n.article-page {\n  margin-top: 15px;\n  main {\n    margin-bottom: 30px;\n    .entry-header {\n      @include entryHeader;\n    }\n    // 文章头图\n    .header-img {\n      @include postThumbnail;\n      .fixed:after {\n        content: '';\n        display: block;\n        padding-bottom: 44%;\n      }\n    }\n    // 文章页的文章信息\n    .article-info {\n      @include articleInfo;\n    }\n    article {\n      padding: 20px;\n      // 失效警示信息\n      .warning-info {\n        background-color: #E5E6EB;\n      }\n      // 文章页的文章内容\n      .post-content {\n        margin-top: 10px;\n        width: 100%;\n        @include postContent;\n        .load-img {\n          width: 100%;\n          display: block;\n          background-color: #F0F0F0;\n        }\n        .protected {\n          p {\n            text-align: center;\n          }\n        }\n      }\n    }\n  }\n  // 上一篇文章和下一篇文章的导航\n  .post-navigation {\n    overflow-x: hidden;\n    > div {\n      padding: 20px;\n      .previous,\n      .next,\n      .next-box {\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n      }\n    }\n  }\n  // 文章二维码和分享链接\n  #qr-link {\n    .link-box {\n      margin: 0 auto;\n      width: 96px;\n      display: flex;\n      justify-content: space-between;\n      a {\n        font-size: 20px;\n        &:hover {\n          text-decoration: none;\n        }\n      }\n    }\n  }\n  // 打赏二维码区域\n  #reward-qr .qr {\n    padding: 0 20px;\n    img {\n      max-width: 100%;\n    }\n  }\n  // 文章底部的交互按钮区域\n  .agree-and-share > div button:last-child {\n    margin-right: 0 !important;\n  }\n}\n\n// 分享二维码区域\n#share-box {\n  #qrcode {\n    img {\n      margin: 0 auto;\n    }\n  }\n}\n\n// 点赞的效果样式\n#agree-p {\n  font-weight: 700;\n  font-size: 18px;\n  color: red;\n  position: absolute;\n}\n\n// Emoji表情区域\n#emoji-panel {\n  width: 400px;\n  height: 300px;\n  position: absolute;\n  z-index: 100;\n  display: none;\n  background-color: #ffffff;\n  // 表情选择区\n  #emoji-classification {\n    overflow-x: auto;\n    button {\n      font-size: 16px;\n    }\n    button:hover {\n      background: #E4E4E4;\n    }\n  }\n  // 表情列表\n  #emoji-list {\n    max-height: 217px;\n    overflow-y: auto;\n    // 表情\n    .emoji {\n      float: left;\n      font-size: 16px;\n      margin: 0;\n      cursor: pointer;\n      &:hover {\n        background: #E4E4E4;\n      }\n      &:focus {\n        background: #E4E4E4;\n      }\n    }\n  }\n}\n\n// 评论区\n#comments {\n  h2 {\n    font-size: 25px;\n    font-weight: 700;\n    margin-bottom: 30px;\n  }\n  .comments-off {\n    padding: 0 20px;\n  }\n  // 评论列表\n  .comments-lists {\n    padding: 40px 20px 0 20px;\n    .comment-list {\n      list-style: none;\n      padding: 0;\n      .comment-body {\n        border-top: 1px solid #ebf2fc;\n        padding: 20px 0;\n        .comment-box {\n          width: 100%;\n        }\n        .comment-author {\n          width: 100%;\n        }\n        // 头像\n        .avatar {\n          width: 42px;\n          height: 42px;\n          margin-right: 10px;\n          float: left;\n          border-radius: 50%;\n        }\n        // 引用的头像\n        .pingback, .text-avatar {\n          line-height: 42px;\n        }\n        // 评论者名字和发表时间\n        .comment-info {\n          a {\n            line-height: 22px;\n            font-size: 15px;\n          }\n          .comment-time {\n            color: #686868;\n            font-size: 12px;\n            display: block;\n          }\n        }\n        // 回复评论的链接\n        .comment-reply {\n          a {\n            line-height: 30px;\n            font-size: 12px;\n            width: 60px;\n            height: 32px;\n            background: #ffffff;\n            display: block;\n            text-align: center;\n            border-radius: 4px;\n          }\n        }\n        // 评论内容\n        .comment-content {\n          margin-left: 52px;\n          @include postContent;\n        }\n        // 评论的子内容，也就是回复的内容\n        .comment-children {\n          li {\n            padding-bottom: 0;\n            .comment-children {\n              margin-left: 0;\n            }\n          }\n        }\n        // 回复表单区域\n        .respond {\n          background: #eeeeee;\n        }\n      }\n    }\n  }\n  // 发表评论区\n  .respond {\n    padding: 20px;\n    // 评论内容输入框\n    #textarea {\n      width: 100%;\n      height: 150px;\n      display: block;\n    }\n    // 发表评论的用户\n    .comment-user {\n      margin-bottom: 20px;\n    }\n  }\n}\n\n// 404页\n.container-404 {\n  h1 {\n    margin-top: 20px;\n    font-size: 150px;\n    text-align: center;\n    font-weight: 700;\n  }\n  h2 {\n    text-align: center;\n    font-weight: 700;\n  }\n  h5 {\n    text-align: center;\n  }\n  .search-box {\n    margin: 20px 0;\n  }\n}\n\n// 文章搜索和分类页\n.archives-list {\n  margin-top: 15px;\n  .archives {\n    .page-header {\n      margin-bottom: 30px;\n      padding: 20px;\n      h1 {\n        font-size: 30px;\n        font-weight: 700;\n      }\n      span {\n        font-size: 13px;\n        color: #777777;\n      }\n    }\n    .post {\n      @include post;\n    }\n    .post > .post-title {\n      padding: 20px 25px;\n    }\n  }\n}\n\n// 独立页面\n.page {\n  @extend .article-page;\n}\n/*独立页面-文章归档*/\n.archive {\n  @extend .article-page;\n  .archives {\n    position: relative;\n    &::before {\n      width: 2px;\n      height: 100%;\n      background: #BBBBBB;\n      display: block;\n      content: \"\";\n      position: absolute;\n      top: 0;\n      left: 49px;\n    }\n    .archives-item {\n      position: relative;\n      h2 {\n        font-size: 12px !important;\n        background: #FCFCFC;\n        width: 84px;\n        line-height: 24px;\n        text-align: center;\n        border-radius: 4px;\n        position: relative;\n        z-index: 10;\n        left: 8px;\n        cursor: pointer;\n        border: 1px solid #BBBBBB;\n      }\n      ul {\n        padding-left: 0;\n        list-style: none;\n        li {\n          font-size: 14px;\n          display: flex;\n          align-items: center;\n          padding: 6px 0;\n          &:hover {\n            .timeline {\n              background: #6C757D;\n            }\n          }\n          .day {\n            display: block;\n            width: 36px;\n            text-align: center;\n            flex: none;\n          }\n          .timeline {\n            width: 8px;\n            height: 8px;\n            background: #BBBBBB;\n            border-radius: 50%;\n            margin: 0 10px;\n            flex: none;\n          }\n        }\n      }\n    }\n  }\n}\n\n// 独立页面-友情链接\n.link-page {\n  .link-box {\n    background: #f9f9f9;\n    margin: 0 0 20px 0;\n    .link-grid {\n      padding: 15px;\n      border-radius: 4px;\n      .link {\n        background: #ffffff;\n        box-shadow: 0 2px 0 rgba(170, 170, 170, 0.1);\n        padding: 10px;\n        display: block;\n        .link-logo {\n          width: 32px;\n          height: 32px;\n          margin: 0 10px 0 0;\n        }\n        .icon-logo {\n          background: #0a73b3;\n          color: #ffffff;\n          text-align: center;\n          line-height: 32px;\n        }\n        .link-name {\n          display: inline-block;\n          line-height: 32px;\n        }\n        p {\n          font-size: 12px;\n          margin: 10px 0 0 0;\n          line-height: 18px;\n          overflow: hidden;\n          text-overflow: ellipsis;\n          white-space: nowrap;\n        }\n        img {\n          background: #E0E0E0;\n        }\n      }\n      .link:hover {\n        box-shadow: 1px 5px 1px rgba(170, 170, 170, 0.1);\n      }\n    }\n  }\n}\n\n// 独立页面 - 网站统计\n.data-page a{\n  // 卡片区域\n  .statistics-card {\n    background: #B3D8FF;\n  }\n}\n\n// 独立页面 - 分类目录\n.category-page .category-list {\n  list-style: none;\n  li {\n    align-items: center;\n  }\n}\n\n.archive-page,\n.post-page,\n.link-page {\n  margin-bottom: 20px;\n}\n\n// >= 1200\n@media screen and (min-width: 1200px) {\n  // 侧边栏\n  .sidebar {\n    margin-top: 15px;\n  }\n  // 评论区\n  #comments {\n    .comment-list {\n      .comment-children {\n        margin-left: 52px;\n      }\n    }\n  }\n  // 文章页图片的默认尺寸\n  .load-img {\n    height: 350px;\n  }\n}\n// >= 992 且 <= 1199\n@media screen and (min-width: 992px) and (max-width: 1199px) {\n  // 小头图模式的文章列表\n  .entry-summary[data-header-image-type=\"mini\"] {\n    .content-box p {\n      overflow-y: hidden;\n      max-height: 100px !important;\n    }\n  }\n  // 侧边栏\n  .sidebar {\n    margin-top: 15px;\n  }\n  // 评论区\n  #comments {\n    .comment-list {\n      .comment-children {\n        margin-left: 52px;\n      }\n    }\n  }\n  // 文章页图片的默认尺寸\n  .load-img {\n    height: 350px;\n  }\n}\n// >= 768 且 <=991\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  // 小头图模式的文章列表\n  .entry-summary[data-header-image-type=\"mini\"] {\n    .content-box p {\n      overflow-y: hidden;\n      max-height: 120px !important;\n    }\n  }\n  // 侧边栏\n  .sidebar section {\n    margin-left: 0;\n  }\n  // 评论区\n  #comments {\n    .comment-list {\n      .comment-children {\n        margin-left: 52px;\n      }\n    }\n  }\n  // 文章页图片的默认尺寸\n  .load-img {\n    height: 350px;\n  }\n}\n// >= 576 且 <= 767\n@media screen and (min-width: 576px) and (max-width: 767px) {\n  // 小头图模式的文章列表\n  .entry-summary[data-header-image-type=\"mini\"] {\n    .content-box p {\n      overflow-y: hidden;\n      max-height: 100px !important;\n    }\n  }\n  // 侧边栏的文章头图\n  .latest-articles-active {\n    height: 222px;\n  }\n  // 侧边栏\n  .sidebar section {\n    margin-left: 0;\n  }\n  // 评论区\n  #comments {\n    .comment-list {\n      .comment-children {\n        margin-left: 22px;\n      }\n    }\n  }\n  // 文章页图片的默认尺寸\n  .load-img {\n    height: 300px;\n  }\n}\n// < 575\n@media screen and (max-width: 575px) {\n  // 文章列表\n  .container .article-list {\n    .post {\n      @include postM;\n    }\n  }\n  // 小头图模式的文章列表\n  .entry-summary[data-header-image-type=\"mini\"] {\n    .content-box p {\n      overflow-y: hidden;\n      max-height: 70px !important;\n    }\n  }\n  // 文章页\n  .article-page {\n    main {\n      /*文章标题*/\n      .entry-header {\n        @include entryHeaderM;\n      }\n      /*文章页的文章信息*/\n      .article-info {\n        padding: 10px 20px;\n      }\n      article {\n        padding: 20px;\n      }\n    }\n  }\n  .container .col-md-12 {\n    padding: 0 10px;\n  }\n\n  // 文章页图片的默认尺寸\n  .load-img {\n    height: 200px;\n  }\n\n  // 文章搜索和分类页\n  .archives-list {\n    .archives {\n      .post {\n        @include postM;\n        .post-title {\n          font-size: 20px;\n        }\n        .header-img {\n          height: 145px;\n        }\n      }\n      .page-header {\n        .archive-title {\n          font-size: 20px;\n        }\n      }\n    }\n  }\n  // 侧边栏\n  .sidebar section {\n    margin-left: 0;\n  }\n  // Emoji面板\n  #emoji-panel {\n    width: 93% !important;\n  }\n  // 评论区\n  #comments {\n    .comment-list {\n      .comment-children {\n        margin-left: 22px;\n      }\n    }\n  }\n  // 移动设备的目录\n  #directory-mobile {\n    max-height: 60%;\n  }\n  // 图片灯箱\n  #max-img-box {\n    #img-counter {\n      margin: 0;\n      left: 15px;\n      transform: translateX(0);\n    }\n    // 上一张\n    .previous-image {\n      left: 0;\n\n    }\n    // 下一张\n    .next-image {\n      right: 0;\n    }\n  }\n}\n// <= 374px\n@media screen and (max-width: 374px) {\n  // 评论区\n  #comments {\n    .comment-list {\n      .comment-reply {\n        a {\n          display: inline !important;\n          border: none !important;\n          font-size: 14px !important;\n        }\n      }\n    }\n  }\n}\n\n@import \"light-color\";\n@import \"primary-color\";\n@import \"info-color\";\n@import \"success-color\";\n@import \"dark-color\";"
  },
  {
    "path": "assets/css/success-color.scss",
    "content": "// 常用按钮配色\n@mixin btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n  &:hover {\n    color: #fff;\n    background-color: #218838;\n    border-color: #1e7e34;\n  }\n  &:focus {\n    color: #fff;\n    background-color: #218838;\n    border-color: #1e7e34;\n    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n  }\n  &:disabled {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745;\n  }\n}\n// 常用按钮透明版\n@mixin btn-outline-success {\n  color: #28a745;\n  border-color: #28a745;\n  &:hover {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745;\n  }\n  &:focus {\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n  }\n  &:disabled {\n    color: #28a745;\n    background-color: transparent;\n  }\n}\n// 链接配色\n@mixin link-success {\n  color: #28a745;\n  &:hover {\n    color: #19692c;\n  }\n}\n// 文字配色\n$text-success: #28a745;\n\n.success-color {\n  // 顶部导航栏配色\n  header .navbar {\n    background-color: $text-success !important;\n    .navbar-brand {\n      color: #fff;\n    }\n    .navbar-brand:hover,.navbar-brand:focus {\n      color: #fff;\n    }\n    .navbar-nav .nav-link {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus {\n      color: rgba(255, 255, 255, 0.75);\n    }\n    .navbar-nav .nav-link.disabled {\n      color: rgba(255, 255, 255, 0.25);\n    }\n    .navbar-nav .show > .nav-link,\n    .navbar-nav .active > .nav-link,\n    .navbar-nav .nav-link.show,\n    .navbar-nav .nav-link.active {\n      color: #fff;\n    }\n    .navbar-toggler {\n      color: rgba(255, 255, 255, 0.5);\n      border-color: rgba(255, 255, 255, 0.1);\n    }\n    .navbar-toggler-icon {\n      background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n    }\n    .navbar-text {\n      color: rgba(255, 255, 255, 0.5);\n    }\n    .navbar-text a {\n      color: #fff;\n    }\n    .navbar-text a:hover,.navbar-text a:focus {\n      color: #fff;\n    }\n  }\n\n  // 文章列表配色\n  .article-list .post, .archives-list .post {\n    .article-info {\n      i,span {\n        color: $text-success;\n      }\n      a {\n        @include link-success;\n      }\n    }\n  }\n\n  // 分页导航区配色\n  .pagination-nav ul,.post-pagination ol {\n    li a {\n      color: $text-success;\n    }\n    .active a {\n      color: #ffffff;\n      background-color: $text-success;\n      border: none;\n    }\n  }\n\n  // 侧边栏配色\n  .sidebar {\n    // 通用列表链接、最新评论链接、博客信息区域链接、日历链接配色\n    section ul > li > a,.latest-comment a,.user-name,.calendar a {\n      @include link-success;\n    }\n    // 列表的徽章配色\n    section ul li .badge {\n      background-color: $text-success;\n      color: #ffffff;\n    }\n    // 标签云配色\n    .tag-cloud a {\n      border: 1px solid $text-success;\n      color: $text-success;\n      &:hover {\n        background-color: $text-success;\n        color: #ffffff;\n      }\n      &:focus {\n        background-color: $text-success;\n        color: #ffffff;\n      }\n    }\n    // 搜索组件配色\n    .search {\n      button {\n        @include btn-success;\n      }\n    }\n  }\n\n  // 面包屑导航配色\n  .breadcrumb-nav a {\n    @include link-success;\n  }\n\n  // 文章页配色\n  .content-area {\n    // 文章信息区域\n    .article-info .info {\n      span,i {\n        color: $text-success;\n      }\n      a {\n        @include link-success;\n      }\n    }\n    // 文章内容区域\n    .post-content {\n      // 链接\n      a {\n        @include link-success;\n      }\n    }\n    // 分享和点赞区域\n    .agree-and-share {\n      button {\n        @include btn-outline-success;\n      }\n    }\n    // 上一篇文章和下一篇文章的导航区域\n    .post-navigation a {\n      @include link-success;\n    }\n  }\n\n  // 评论区配色\n  #comments {\n    // 发表评论区\n    #comment-form {\n      // 打开表情面板按钮\n      #show-emoji-btn {\n        @include btn-outline-success;\n      }\n      // 表情面板\n      #emoji-classification {\n        button[aria-checked=\"true\"] {\n          background-color: $text-success;\n        }\n      }\n      // 当前登录用户链接\n      .comment-user a {\n        @include link-success;\n      }\n      // 提交评论按钮\n      .submit {\n        @include btn-success;\n      }\n    }\n    // 评论列表区\n    .comment-box {\n      // 评论者昵称\n      .comment-info {\n        .author a {\n          @include link-success;\n        }\n      }\n      // 回复链接\n      .comment-reply a {\n        border: 1px solid $text-success;\n        color: $text-success;\n        &:hover {\n          background-color: $text-success;\n          color: #ffffff;\n        }\n      }\n      // 评论内容区的链接\n      .comment-content a {\n        @include link-success;\n      }\n    }\n  }\n\n  // 页脚的功能按钮\n  #footer-btn-box button {\n    color: $text-success;\n  }\n\n  // 独立页面 - 分类目录\n  .category-page .category-list {\n    .icon {\n      color: $text-success;\n    }\n  }\n\n  // 移动设备专用目录\n  #directory-mobile .directory-list a {\n    @include link-success;\n  }\n\n  // 数据统计页配色\n  .data-page {\n    .statistics-card {\n      background-color: #B3D8FF;\n    }\n  }\n\n  // 404页面配色\n  .container-404 {\n    .to-home-link, .search-btn {\n      @include btn-success;\n    }\n  }\n\n  // 目录高亮\n  .directory-active {\n    color: #19692c !important;\n  }\n}"
  },
  {
    "path": "assets/js/app.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nimport Lightbox from './modules/Lightbox.js';\nimport Emoji from './modules/Emoji.js';\nimport codeHighlightInit from './modules/codeHighlightInit.js';\nimport accessibilityInit from './modules/accessibilityInit.js';\nimport ColorAndLanguage from './modules/ColorAndLanguage.js';\nimport ArticleEngagement from './modules/ArticleEngagement.js';\nimport Directory from './modules/Directory.js';\nimport PJAX from './modules/PJAX.js';\nimport sidebarCoverImageInit from './modules/sidebarCoverImageInit.js';\nimport AvatarGenerator from './modules/AvatarGenerator.js';\n\n$(function () {\n  let inputFocus = false;  // 表单焦点状态\n\n  // 图片灯箱初始化\n  const lightbox = new Lightbox();\n  lightbox.init();\n\n  // Emoji面板初始化\n  const emoji = new Emoji();\n  emoji.init();\n\n  // 语言和配色切换初始化\n  const colorAndLanguage = new ColorAndLanguage();\n  colorAndLanguage.init();\n\n  // 文字头像初始化\n  const avatarGenerator = new AvatarGenerator();\n\n  // 点赞初始化\n  ArticleEngagement.likeInit();\n\n  // 生成二维码\n  ArticleEngagement.shareQrCode();\n\n  // 目录初始化\n  const directory = new Directory();\n  directory.init();\n\n  // 代码高亮初始化\n  codeHighlightInit();\n\n  // 一些可访问性相关的功能初始化\n  accessibilityInit();\n\n  // 侧边栏文章头图初始化\n  sidebarCoverImageInit();\n\n  // 图片懒加载\n  lazyLoadImages();\n\n  // 表单焦点事件初始化\n  inputFocusInit();\n\n  // pjax 初始化\n  const pjax = new PJAX();\n  pjax.init(() => {\n    // PJAX 替换完成\n    // 代码高亮初始化\n    codeHighlightInit();\n\n    // 一些可访问性相关的功能初始化\n    accessibilityInit();\n\n    // 侧边栏文章头图初始化\n    sidebarCoverImageInit();\n\n    // 图片懒加载\n    lazyLoadImages();\n\n    // 表单焦点事件初始化\n    inputFocusInit();\n\n    // 图片灯箱初始化\n    lightbox.init();\n\n    // Emoji初始化\n    emoji.init();\n\n    // 侧边栏的语言切换初始化\n    colorAndLanguage.sidebarChangeLanguageInit();\n\n    // 重新生成文字头像\n    avatarGenerator.refresh();\n\n    // 点赞初始化\n    ArticleEngagement.likeInit();\n\n    // 生成二维码\n    ArticleEngagement.shareQrCode();\n\n    // 移动设备目录开关按钮初始化\n    directory.directoryBtnInit();\n    // 目录初始化\n    directory.init();\n  });\n\n  // 页面空白区域点击\n  $('body').on('click', () => {\n    // 如果表情面板处于开启状态就关闭表情面板\n    if (emoji.isShow) $('#show-emoji-btn').click();\n  });\n\n  // 返回顶部按钮点击\n  $('.to-top').on('click', () => {\n    $('html').animate({\n      scrollTop: 0\n    }, 400);\n    $('header .navbar-brand').get(0).focus();\n    return false;\n  });\n\n  // 窗口尺寸改变\n  window.addEventListener('resize', () => {\n    // 调整侧边栏目录的尺寸\n    directory.directorySize();\n  });\n\n  // 监听滚动条\n  $(document).on('scroll', () => {\n    // 返回顶部的按钮是否存在\n    if ($('.to-top').length > 0) {\n      // 如果滚动条高度 > 屏幕高度\n      if ($(document).scrollTop() > window.innerHeight) {\n        $('.to-top').removeClass('d-none');  // 显示返回顶部按钮\n      } else {\n        $('.to-top').addClass('d-none');  // 隐藏返回顶部按钮\n      }\n    }\n\n    // 检测文章图片位置\n    $('.load-img').each(function() {\n      // 如果文章内的 img 进入可视区就加载图片\n      if (\n        $(this).offset().top < $(document).scrollTop() + window.innerHeight &&\n        $(this).offset().top + $(this).height() > $(document).scrollTop()\n      ) {\n        if ($(this).attr('src') === undefined) {\n          $(this).attr('src', $(this).attr('data-src'));\n        }\n      }\n    });\n\n    // 固定和取消固定侧边栏目录\n    directory.directoryPosition();\n  });\n\n  // 全局快捷键\n  $(document).on('keyup', ev => {\n    // 右光标键\n    if (ev.key === 'ArrowRight' || ev.keyCode === 39 && !inputFocus && !lightbox.isShow) {\n      // 文章列表翻页\n      if ($('.next .page-link').length && $('.post-list-item').length) {\n        $('.next .page-link').get(0).click();\n      }\n      // 文章内容翻页\n      if ($('.post-pagination .next-page').length && !lightbox.isShow) {\n        $('.post-pagination .next-page').get(0).click();\n      }\n    }\n\n    // 左光标键\n    if (ev.key === 'ArrowLeft' || ev.keyCode === 37 && !inputFocus && !lightbox.isShow) {\n      // 文章列表翻页\n      if ($('.prev .page-link').length && $('.post-list-item').length) {\n        $('.prev .page-link').get(0).click();\n      }\n      // 文章内容翻页\n      if ($('.post-pagination .previous-page').length && !lightbox.isShow) {\n        $('.post-pagination .previous-page').get(0).click();\n      }\n    }\n  });\n\n  // 评论内容输入框点击\n  $('#textarea').on('click', () => {\n    return false;\n  });\n\n  // 下面是一些用于样式和功能初始化的函数\n  // 图片懒加载\n  function lazyLoadImages() {\n    // 如果页面加载完成时有图片在可视区就直接加载图片\n    $('.load-img').each(function() {\n      if ($(this).offset().top < window.innerHeight && $(this).hasClass('load-img')) {\n        $(this).attr('src', $(this).attr('data-src'));\n      }\n    });\n\n    // 文章图片加载完成后删除默认样式\n    $('.load-img').on('load', ev => {\n      $(ev.target).removeClass('load-img');\n    });\n  }\n\n  // 表单焦点事件初始化\n  function inputFocusInit() {\n    // 输入框获取焦点\n    $('input[type=\"search\"], input[type=\"text\"], input[type=\"email\"], input[type=\"url\"], textarea').on('focus', () => {\n      inputFocus = true;\n    });\n    // 输入框失去焦点\n    $('input[type=\"search\"], input[type=\"text\"], input[type=\"email\"], input[type=\"url\"], textarea').on('blur', () => {\n      inputFocus = false;\n    });\n  }\n});"
  },
  {
    "path": "assets/js/chart.js",
    "content": "!function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=294)}([function(t,e){var n={\"[object Function]\":1,\"[object RegExp]\":1,\"[object Date]\":1,\"[object Error]\":1,\"[object CanvasGradient]\":1,\"[object CanvasPattern]\":1,\"[object Image]\":1,\"[object Canvas]\":1},i={\"[object Int8Array]\":1,\"[object Uint8Array]\":1,\"[object Uint8ClampedArray]\":1,\"[object Int16Array]\":1,\"[object Uint16Array]\":1,\"[object Int32Array]\":1,\"[object Uint32Array]\":1,\"[object Float32Array]\":1,\"[object Float64Array]\":1},r=Object.prototype.toString,a=Array.prototype,o=a.forEach,s=a.filter,l=a.slice,u=a.map,h=a.reduce,c={};function d(t){if(null==t||\"object\"!=typeof t)return t;var e=t,a=r.call(t);if(\"[object Array]\"===a){if(!S(t)){e=[];for(var o=0,s=t.length;o<s;o++)e[o]=d(t[o])}}else if(i[a]){if(!S(t)){var l=t.constructor;if(t.constructor.from)e=l.from(t);else{e=new l(t.length);for(o=0,s=t.length;o<s;o++)e[o]=d(t[o])}}}else if(!n[a]&&!S(t)&&!w(t))for(var u in e={},t)t.hasOwnProperty(u)&&(e[u]=d(t[u]));return e}function f(t,e,n){if(!x(e)||!x(t))return n?d(e):t;for(var i in e)if(e.hasOwnProperty(i)){var r=t[i],a=e[i];!x(a)||!x(r)||_(a)||_(r)||w(a)||w(r)||b(a)||b(r)||S(a)||S(r)?!n&&i in t||(t[i]=d(e[i])):f(r,a,n)}return t}function p(t,e,n){for(var i in e)e.hasOwnProperty(i)&&(n?null!=e[i]:null==t[i])&&(t[i]=e[i]);return t}var g,v=function(){return c.createCanvas()};function m(t,e,n){if(t&&e)if(t.forEach&&t.forEach===o)t.forEach(e,n);else if(t.length===+t.length)for(var i=0,r=t.length;i<r;i++)e.call(n,t[i],i,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(n,t[a],a,t)}function y(t,e){var n=l.call(arguments,2);return function(){return t.apply(e,n.concat(l.call(arguments)))}}function _(t){return\"[object Array]\"===r.call(t)}function x(t){var e=typeof t;return\"function\"===e||!!t&&\"object\"===e}function b(t){return!!n[r.call(t)]}function w(t){return\"object\"==typeof t&&\"number\"==typeof t.nodeType&&\"object\"==typeof t.ownerDocument}c.createCanvas=function(){return document.createElement(\"canvas\")};function S(t){return t.__ec_primitive__}function M(t){var e=_(t);this.data={};var n=this;function i(t,i){e?n.set(t,i):n.set(i,t)}t instanceof M?t.each(i):t&&m(t,i)}M.prototype={constructor:M,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){for(var n in void 0!==e&&(t=y(t,e)),this.data)this.data.hasOwnProperty(n)&&t(this.data[n],n)},removeKey:function(t){delete this.data[t]}},e.$override=function(t,e){\"createCanvas\"===t&&(g=null),c[t]=e},e.clone=d,e.merge=f,e.mergeAll=function(t,e){for(var n=t[0],i=1,r=t.length;i<r;i++)n=f(n,t[i],e);return n},e.extend=function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},e.defaults=p,e.createCanvas=v,e.getContext=function(){return g||(g=v().getContext(\"2d\")),g},e.indexOf=function(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n}return-1},e.inherits=function(t,e){var n=t.prototype;function i(){}for(var r in i.prototype=e.prototype,t.prototype=new i,n)n.hasOwnProperty(r)&&(t.prototype[r]=n[r]);t.prototype.constructor=t,t.superClass=e},e.mixin=function(t,e,n){p(t=\"prototype\"in t?t.prototype:t,e=\"prototype\"in e?e.prototype:e,n)},e.isArrayLike=function(t){if(t)return\"string\"!=typeof t&&\"number\"==typeof t.length},e.each=m,e.map=function(t,e,n){if(t&&e){if(t.map&&t.map===u)return t.map(e,n);for(var i=[],r=0,a=t.length;r<a;r++)i.push(e.call(n,t[r],r,t));return i}},e.reduce=function(t,e,n,i){if(t&&e){if(t.reduce&&t.reduce===h)return t.reduce(e,n,i);for(var r=0,a=t.length;r<a;r++)n=e.call(i,n,t[r],r,t);return n}},e.filter=function(t,e,n){if(t&&e){if(t.filter&&t.filter===s)return t.filter(e,n);for(var i=[],r=0,a=t.length;r<a;r++)e.call(n,t[r],r,t)&&i.push(t[r]);return i}},e.find=function(t,e,n){if(t&&e)for(var i=0,r=t.length;i<r;i++)if(e.call(n,t[i],i,t))return t[i]},e.bind=y,e.curry=function(t){var e=l.call(arguments,1);return function(){return t.apply(this,e.concat(l.call(arguments)))}},e.isArray=_,e.isFunction=function(t){return\"function\"==typeof t},e.isString=function(t){return\"[object String]\"===r.call(t)},e.isObject=x,e.isBuiltInObject=b,e.isTypedArray=function(t){return!!i[r.call(t)]},e.isDom=w,e.eqNaN=function(t){return t!=t},e.retrieve=function(t){for(var e=0,n=arguments.length;e<n;e++)if(null!=arguments[e])return arguments[e]},e.retrieve2=function(t,e){return null!=t?t:e},e.retrieve3=function(t,e,n){return null!=t?t:null!=e?e:n},e.slice=function(){return Function.call.apply(l,arguments)},e.normalizeCssArray=function(t){if(\"number\"==typeof t)return[t,t,t,t];var e=t.length;return 2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t},e.assert=function(t,e){if(!t)throw new Error(e)},e.trim=function(t){return null==t?null:\"function\"==typeof t.trim?t.trim():t.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")},e.setAsPrimitive=function(t){t.__ec_primitive__=!0},e.isPrimitive=S,e.createHashMap=function(t){return new M(t)},e.concatArray=function(t,e){for(var n=new t.constructor(t.length+e.length),i=0;i<t.length;i++)n[i]=t[i];var r=t.length;for(i=0;i<e.length;i++)n[i+r]=e[i];return n},e.noop=function(){}},function(t,e,n){var i=n(0),r=n(6),a=i.each,o=i.isObject,s=i.isArray;function l(t){return t instanceof Array?t:null==t?[]:[t]}function u(t){return o(t)&&t.id&&0===(t.id+\"\").indexOf(\"\\0_ec_\\0\")}var h=0;function c(t,e){return t&&t.hasOwnProperty(e)}e.normalizeToArray=l,e.defaultEmphasis=function(t,e,n){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var i=0,r=n.length;i<r;i++){var a=n[i];!t.emphasis[e].hasOwnProperty(a)&&t[e].hasOwnProperty(a)&&(t.emphasis[e][a]=t[e][a])}}},e.TEXT_STYLE_OPTIONS=[\"fontStyle\",\"fontWeight\",\"fontSize\",\"fontFamily\",\"rich\",\"tag\",\"color\",\"textBorderColor\",\"textBorderWidth\",\"width\",\"height\",\"lineHeight\",\"align\",\"verticalAlign\",\"baseline\",\"shadowColor\",\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\",\"textShadowColor\",\"textShadowBlur\",\"textShadowOffsetX\",\"textShadowOffsetY\",\"backgroundColor\",\"borderColor\",\"borderWidth\",\"borderRadius\",\"padding\"],e.getDataItemValue=function(t){return!o(t)||s(t)||t instanceof Date?t:t.value},e.isDataItemOption=function(t){return o(t)&&!(t instanceof Array)},e.mappingToExists=function(t,e){e=(e||[]).slice();var n=i.map(t||[],(function(t,e){return{exist:t}}));return a(e,(function(t,i){if(o(t)){for(var r=0;r<n.length;r++)if(!n[r].option&&null!=t.id&&n[r].exist.id===t.id+\"\")return n[r].option=t,void(e[i]=null);for(r=0;r<n.length;r++){var a=n[r].exist;if(!(n[r].option||null!=a.id&&null!=t.id||null==t.name||u(t)||u(a)||a.name!==t.name+\"\"))return n[r].option=t,void(e[i]=null)}}})),a(e,(function(t,e){if(o(t)){for(var i=0;i<n.length;i++){var r=n[i].exist;if(!n[i].option&&!u(r)&&null==t.id){n[i].option=t;break}}i>=n.length&&n.push({option:t})}})),n},e.makeIdAndName=function(t){var e=i.createHashMap();a(t,(function(t,n){var i=t.exist;i&&e.set(i.id,t)})),a(t,(function(t,n){var r=t.option;i.assert(!r||null==r.id||!e.get(r.id)||e.get(r.id)===t,\"id duplicates: \"+(r&&r.id)),r&&null!=r.id&&e.set(r.id,t),!t.keyInfo&&(t.keyInfo={})})),a(t,(function(t,n){var i=t.exist,r=t.option,a=t.keyInfo;if(o(r)){if(a.name=null!=r.name?r.name+\"\":i?i.name:\"series\\0\"+n,i)a.id=i.id;else if(null!=r.id)a.id=r.id+\"\";else{var s=0;do{a.id=\"\\0\"+a.name+\"\\0\"+s++}while(e.get(a.id))}e.set(a.id,t)}}))},e.isNameSpecified=function(t){var e=t.name;return!(!e||!e.indexOf(\"series\\0\"))},e.isIdInner=u,e.compressBatches=function(t,e){var n={},i={};return r(t||[],n),r(e||[],i,n),[a(n),a(i)];function r(t,e,n){for(var i=0,r=t.length;i<r;i++)for(var a=t[i].seriesId,o=l(t[i].dataIndex),s=n&&n[a],u=0,h=o.length;u<h;u++){var c=o[u];s&&s[c]?s[c]=null:(e[a]||(e[a]={}))[c]=1}}function a(t,e){var n=[];for(var i in t)if(t.hasOwnProperty(i)&&null!=t[i])if(e)n.push(+i);else{var r=a(t[i],!0);r.length&&n.push({seriesId:i,dataIndex:r})}return n}},e.queryDataIndex=function(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?i.isArray(e.dataIndex)?i.map(e.dataIndex,(function(e){return t.indexOfRawIndex(e)})):t.indexOfRawIndex(e.dataIndex):null!=e.name?i.isArray(e.name)?i.map(e.name,(function(e){return t.indexOfName(e)})):t.indexOfName(e.name):void 0},e.makeInner=function(){var t=\"__\\0ec_inner_\"+h+++\"_\"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}},e.parseFinder=function(t,e,n){if(i.isString(e)){var r={};r[e+\"Index\"]=0,e=r}var o=n&&n.defaultMainType;!o||c(e,o+\"Index\")||c(e,o+\"Id\")||c(e,o+\"Name\")||(e[o+\"Index\"]=0);var s={};return a(e,(function(r,a){r=e[a];if(\"dataIndex\"!==a&&\"dataIndexInside\"!==a){var o=a.match(/^(\\w+)(Index|Id|Name)$/)||[],l=o[1],u=(o[2]||\"\").toLowerCase();if(!(!l||!u||null==r||\"index\"===u&&\"none\"===r||n&&n.includeMainTypes&&i.indexOf(n.includeMainTypes,l)<0)){var h={mainType:l};\"index\"===u&&\"all\"===r||(h[u]=r);var c=t.queryComponents(h);s[l+\"Models\"]=c,s[l+\"Model\"]=c[0]}}else s[a]=r})),s},e.setAttribute=function(t,e,n){t.setAttribute?t.setAttribute(e,n):t[e]=n},e.getAttribute=function(t,e){return t.getAttribute?t.getAttribute(e):t[e]},e.getTooltipRenderMode=function(t){return\"auto\"===t?r.domSupported?\"html\":\"richText\":t||\"html\"},e.groupData=function(t,e){var n=i.createHashMap(),r=[];return i.each(t,(function(t){var i=e(t);(n.get(i)||(r.push(i),n.set(i,[]))).push(t)})),{keys:r,buckets:n}}},function(t,e,n){n(5).__DEV__;var i=n(98),r=n(0),a=n(30),o=n(6),s=n(70),l=n(38),u=n(111),h=n(123),c=n(58),d=n(211),f=n(212),p=n(214),g=n(22),v=n(124),m=n(125),y=n(126),_=n(4),x=n(1),b=n(80).throttle,w=n(216),S=n(217),M=n(218),T=n(219),I=n(220),C=n(221);n(222);var D=n(223),A=r.assert,k=r.each,O=r.isFunction,P=r.isObject,L=g.parseClassType,R={PROCESSOR:{FILTER:1e3,SERIES_FILTER:800,STATISTIC:5e3},VISUAL:{LAYOUT:1e3,PROGRESSIVE_LAYOUT:1100,GLOBAL:2e3,CHART:3e3,POST_CHART_LAYOUT:3500,COMPONENT:4e3,BRUSH:5e3}},E=\"__flagInMainProcess\",z=/^[a-zA-Z0-9_]+$/;function N(t,e){return function(n,i,r){e||!this._disposed?(n=n&&n.toLowerCase(),l.prototype[t].call(this,n,i,r)):this.id}}function B(){l.call(this)}function F(t,e,n){n=n||{},\"string\"==typeof e&&(e=ut[e]),this.id,this.group,this._dom=t;var a=this._zr=i.init(t,{renderer:n.renderer||\"canvas\",devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=b(r.bind(a.flush,a),17),(e=r.clone(e))&&f(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new c;var o,u,d=this._api=(u=(o=this)._coordSysMgr,r.extend(new h(o),{getCoordinateSystems:r.bind(u.getCoordinateSystems,u),getComponentByElement:function(t){for(;t;){var e=t.__ecComponentInfo;if(null!=e)return o._model.getComponent(e.mainType,e.index);t=t.parent}}}));function p(t,e){return t.__prio-e.__prio}s(lt,p),s(at,p),this._scheduler=new T(this,d,at,lt),l.call(this,this._ecEventProcessor=new nt),this._messageCenter=new B,this._initEvents(),this.resize=r.bind(this.resize,this),this._pendingActions=[],a.animation.on(\"frame\",this._onframe,this),function(t,e){t.on(\"rendered\",(function(){e.trigger(\"rendered\"),!t.animation.isFinished()||e.__optionUpdated||e._scheduler.unfinished||e._pendingActions.length||e.trigger(\"finished\")}))}(a,this),r.setAsPrimitive(this)}B.prototype.on=N(\"on\",!0),B.prototype.off=N(\"off\",!0),B.prototype.one=N(\"one\",!0),r.mixin(B,l);var V=F.prototype;function H(t,e,n){if(this._disposed)this.id;else{var i,r=this._model,a=this._coordSysMgr.getCoordinateSystems();e=x.parseFinder(r,e);for(var o=0;o<a.length;o++){var s=a[o];if(s[t]&&null!=(i=s[t](r,e,n)))return i}}}V._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this.__optionUpdated){var e=this.__optionUpdated.silent;this[E]=!0,G(this),W.update.call(this),this[E]=!1,this.__optionUpdated=!1,X.call(this,e),q.call(this,e)}else if(t.unfinished){var n=1,i=this._model,r=this._api;t.unfinished=!1;do{var a=+new Date;t.performSeriesTasks(i),t.performDataProcessorTasks(i),U(this,i),t.performVisualTasks(i),J(this,this._model,r,\"remain\"),n-=+new Date-a}while(n>0&&t.unfinished);t.unfinished||this._zr.flush()}}},V.getDom=function(){return this._dom},V.getZr=function(){return this._zr},V.setOption=function(t,e,n){if(this._disposed)this.id;else{var i;if(P(e)&&(n=e.lazyUpdate,i=e.silent,e=e.notMerge),this[E]=!0,!this._model||e){var r=new d(this._api),a=this._theme,o=this._model=new u;o.scheduler=this._scheduler,o.init(null,null,a,r)}this._model.setOption(t,ot),n?(this.__optionUpdated={silent:i},this[E]=!1):(G(this),W.update.call(this),this._zr.flush(),this.__optionUpdated=!1,this[E]=!1,X.call(this,i),q.call(this,i))}},V.setTheme=function(){console.error(\"ECharts#setTheme() is DEPRECATED in ECharts 3.0\")},V.getModel=function(){return this._model},V.getOption=function(){return this._model&&this._model.getOption()},V.getWidth=function(){return this._zr.getWidth()},V.getHeight=function(){return this._zr.getHeight()},V.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},V.getRenderedCanvas=function(t){if(o.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get(\"backgroundColor\"),this._zr.painter.getRenderedCanvas(t)},V.getSvgDataURL=function(){if(o.svgSupported){var t=this._zr,e=t.storage.getDisplayList();return r.each(e,(function(t){t.stopAnimation(!0)})),t.painter.toDataURL()}},V.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;k(e,(function(t){n.eachComponent({mainType:t},(function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)}))}));var a=\"svg\"===this._zr.painter.getType()?this.getSvgDataURL():this.getRenderedCanvas(t).toDataURL(\"image/\"+(t&&t.type||\"png\"));return k(i,(function(t){t.group.ignore=!1})),a}this.id},V.getConnectedDataURL=function(t){if(this._disposed)this.id;else if(o.canvasSupported){var e=\"svg\"===t.type,n=this.group,a=Math.min,s=Math.max;if(dt[n]){var l=1/0,u=1/0,h=-1/0,c=-1/0,d=[],f=t&&t.pixelRatio||1;r.each(ct,(function(i,o){if(i.group===n){var f=e?i.getZr().painter.getSvgDom().innerHTML:i.getRenderedCanvas(r.clone(t)),p=i.getDom().getBoundingClientRect();l=a(p.left,l),u=a(p.top,u),h=s(p.right,h),c=s(p.bottom,c),d.push({dom:f,left:p.left,top:p.top})}}));var p=(h*=f)-(l*=f),g=(c*=f)-(u*=f),v=r.createCanvas(),m=i.init(v,{renderer:e?\"svg\":\"canvas\"});if(m.resize({width:p,height:g}),e){var y=\"\";return k(d,(function(t){var e=t.left-l,n=t.top-u;y+='<g transform=\"translate('+e+\",\"+n+')\">'+t.dom+\"</g>\"})),m.painter.getSvgRoot().innerHTML=y,t.connectedBackgroundColor&&m.painter.setBackgroundColor(t.connectedBackgroundColor),m.refreshImmediately(),m.painter.toDataURL()}return t.connectedBackgroundColor&&m.add(new _.Rect({shape:{x:0,y:0,width:p,height:g},style:{fill:t.connectedBackgroundColor}})),k(d,(function(t){var e=new _.Image({style:{x:t.left*f-l,y:t.top*f-u,image:t.dom}});m.add(e)})),m.refreshImmediately(),v.toDataURL(\"image/\"+(t&&t.type||\"png\"))}return this.getDataURL(t)}},V.convertToPixel=r.curry(H,\"convertToPixel\"),V.convertFromPixel=r.curry(H,\"convertFromPixel\"),V.containPixel=function(t,e){if(!this._disposed){var n,i=this._model;return t=x.parseFinder(i,t),r.each(t,(function(t,i){i.indexOf(\"Models\")>=0&&r.each(t,(function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n|=!!r.containPoint(e);else if(\"seriesModels\"===i){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(n|=a.containPoint(e,t))}}),this)}),this),!!n}this.id},V.getVisual=function(t,e){var n=this._model,i=(t=x.parseFinder(n,t,{defaultMainType:\"series\"})).seriesModel.getData(),r=t.hasOwnProperty(\"dataIndexInside\")?t.dataIndexInside:t.hasOwnProperty(\"dataIndex\")?i.indexOfRawIndex(t.dataIndex):null;return null!=r?i.getItemVisual(r,e):i.getVisual(e)},V.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},V.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var W={prepareAndUpdate:function(t){G(this),W.update.call(this,t)},update:function(t){var e=this._model,n=this._api,i=this._zr,r=this._coordSysMgr,s=this._scheduler;if(e){s.restoreData(e,t),s.performSeriesTasks(e),r.create(e,n),s.performDataProcessorTasks(e,t),U(this,e),r.update(e,n),K(e),s.performVisualTasks(e,t),$(this,e,n,t);var l=e.get(\"backgroundColor\")||\"transparent\";if(o.canvasSupported)i.setBackgroundColor(l);else{var u=a.parse(l);l=a.stringify(u,\"rgb\"),0===u[3]&&(l=\"transparent\")}Q(e,n)}},updateTransform:function(t){var e=this._model,n=this,i=this._api;if(e){var a=[];e.eachComponent((function(r,o){var s=n.getViewOfComponentModel(o);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(o,e,i,t);l&&l.update&&a.push(s)}else a.push(s)}));var o=r.createHashMap();e.eachSeries((function(r){var a=n._chartsMap[r.__viewId];if(a.updateTransform){var s=a.updateTransform(r,e,i,t);s&&s.update&&o.set(r.uid,1)}else o.set(r.uid,1)})),K(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:o}),J(n,e,i,t,o),Q(e,this._api)}},updateView:function(t){var e=this._model;e&&(y.markUpdateMethod(t,\"updateView\"),K(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),$(this,this._model,this._api,t),Q(e,this._api))},updateVisual:function(t){W.update.call(this,t)},updateLayout:function(t){W.update.call(this,t)}};function G(t){var e=t._model,n=t._scheduler;n.restorePipelines(e),n.prepareStageTasks(),Z(t,\"component\",e,n),Z(t,\"chart\",e,n),n.plan()}function j(t,e,n,i,a){var o=t._model;if(i){var s={};s[i+\"Id\"]=n[i+\"Id\"],s[i+\"Index\"]=n[i+\"Index\"],s[i+\"Name\"]=n[i+\"Name\"];var l={mainType:i,query:s};a&&(l.subType=a);var u=n.excludeSeriesId;null!=u&&(u=r.createHashMap(x.normalizeToArray(u))),o&&o.eachComponent(l,(function(e){u&&null!=u.get(e.id)||h(t[\"series\"===i?\"_chartsMap\":\"_componentsMap\"][e.__viewId])}),t)}else k(t._componentsViews.concat(t._chartsViews),h);function h(i){i&&i.__alive&&i[e]&&i[e](i.__model,o,t._api,n)}}function U(t,e){var n=t._chartsMap,i=t._scheduler;e.eachSeries((function(t){i.updateStreamModes(t,n[t.__viewId])}))}function Y(t,e){var n=t.type,i=t.escapeConnect,a=it[n],o=a.actionInfo,s=(o.update||\"update\").split(\":\"),l=s.pop();s=null!=s[0]&&L(s[0]),this[E]=!0;var u=[t],h=!1;t.batch&&(h=!0,u=r.map(t.batch,(function(e){return(e=r.defaults(r.extend({},e),t)).batch=null,e})));var c,d=[],f=\"highlight\"===n||\"downplay\"===n;k(u,(function(t){(c=(c=a.action(t,this._model,this._api))||r.extend({},t)).type=o.event||c.type,d.push(c),f?j(this,l,t,\"series\"):s&&j(this,l,t,s.main,s.sub)}),this),\"none\"===l||f||s||(this.__optionUpdated?(G(this),W.update.call(this,t),this.__optionUpdated=!1):W[l].call(this,t)),c=h?{type:o.event||n,escapeConnect:i,batch:d}:d[0],this[E]=!1,!e&&this._messageCenter.trigger(c.type,c)}function X(t){for(var e=this._pendingActions;e.length;){var n=e.shift();Y.call(this,n,t)}}function q(t){!t&&this.trigger(\"updated\")}function Z(t,e,n,i){for(var r=\"component\"===e,a=r?t._componentsViews:t._chartsViews,o=r?t._componentsMap:t._chartsMap,s=t._zr,l=t._api,u=0;u<a.length;u++)a[u].__alive=!1;function h(t){var e=\"_ec_\"+t.id+\"_\"+t.type,u=o[e];if(!u){var h=L(t.type);(u=new(r?m.getClass(h.main,h.sub):y.getClass(h.sub))).init(n,l),o[e]=u,a.push(u),s.add(u.group)}t.__viewId=u.__id=e,u.__alive=!0,u.__model=t,u.group.__ecComponentInfo={mainType:t.mainType,index:t.componentIndex},!r&&i.prepareView(u,t,n,l)}r?n.eachComponent((function(t,e){\"series\"!==t&&h(e)})):n.eachSeries(h);for(u=0;u<a.length;){var c=a[u];c.__alive?u++:(!r&&c.renderTask.dispose(),s.remove(c.group),c.dispose(n,l),a.splice(u,1),delete o[c.__id],c.__id=c.group.__ecComponentInfo=null)}}function K(t){t.clearColorPalette(),t.eachSeries((function(t){t.clearColorPalette()}))}function $(t,e,n,i){!function(t,e,n,i,r){k(r||t._componentsViews,(function(t){var r=t.__model;t.render(r,e,n,i),et(r,t)}))}(t,e,n,i),k(t._chartsViews,(function(t){t.__alive=!1})),J(t,e,n,i),k(t._chartsViews,(function(t){t.__alive||t.remove(e,n)}))}function J(t,e,n,i,r){var a,s=t._scheduler;e.eachSeries((function(e){var n=t._chartsMap[e.__viewId];n.__alive=!0;var o=n.renderTask;s.updatePayload(o,i),r&&r.get(e.uid)&&o.dirty(),a|=o.perform(s.getPerformArgs(o)),n.group.silent=!!e.get(\"silent\"),et(e,n),function(t,e){var n=t.get(\"blendMode\")||null;e.group.traverse((function(t){t.isGroup||t.style.blend!==n&&t.setStyle(\"blend\",n),t.eachPendingDisplayable&&t.eachPendingDisplayable((function(t){t.setStyle(\"blend\",n)}))}))}(e,n)})),s.unfinished|=a,function(t,e){var n=t._zr.storage,i=0;n.traverse((function(t){i++})),i>e.get(\"hoverLayerThreshold\")&&!o.node&&e.eachSeries((function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];n.__alive&&n.group.traverse((function(t){t.useHoverLayer=!0}))}}))}(t,e),S(t._zr.dom,e)}function Q(t,e){k(st,(function(n){n(t,e)}))}V.resize=function(t){if(this._disposed)this.id;else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption(\"media\"),i=t&&t.silent;this[E]=!0,n&&G(this),W.update.call(this),this[E]=!1,X.call(this,i),q.call(this,i)}}},V.showLoading=function(t,e){if(this._disposed)this.id;else if(P(t)&&(e=t,t=\"\"),t=t||\"default\",this.hideLoading(),ht[t]){var n=ht[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},V.hideLoading=function(){this._disposed?this.id:(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},V.makeActionFromEvent=function(t){var e=r.extend({},t);return e.type=rt[t.type],e},V.dispatchAction=function(t,e){this._disposed?this.id:(P(e)||(e={silent:!!e}),it[t.type]&&this._model&&(this[E]?this._pendingActions.push(t):(Y.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&o.browser.weChat&&this._throttledZrFlush(),X.call(this,e.silent),q.call(this,e.silent))))},V.appendData=function(t){if(this._disposed)this.id;else{var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0}},V.on=N(\"on\",!1),V.off=N(\"off\",!1),V.one=N(\"one\",!1);var tt=[\"click\",\"dblclick\",\"mouseover\",\"mouseout\",\"mousemove\",\"mousedown\",\"mouseup\",\"globalout\",\"contextmenu\"];function et(t,e){var n=t.get(\"z\"),i=t.get(\"zlevel\");e.group.traverse((function(t){\"group\"!==t.type&&(null!=n&&(t.z=n),null!=i&&(t.zlevel=i))}))}function nt(){this.eventInfo}V._initEvents=function(){k(tt,(function(t){var e=function(e){var n,i=this.getModel(),a=e.target;if(\"globalout\"===t)n={};else if(a&&null!=a.dataIndex){var o=a.dataModel||i.getSeriesByIndex(a.seriesIndex);n=o&&o.getDataParams(a.dataIndex,a.dataType,a)||{}}else a&&a.eventData&&(n=r.extend({},a.eventData));if(n){var s=n.componentType,l=n.componentIndex;\"markLine\"!==s&&\"markPoint\"!==s&&\"markArea\"!==s||(s=\"series\",l=n.seriesIndex);var u=s&&null!=l&&i.getComponent(s,l),h=u&&this[\"series\"===u.mainType?\"_chartsMap\":\"_componentsMap\"][u.__viewId];n.event=e,n.type=t,this._ecEventProcessor.eventInfo={targetEl:a,packedEvent:n,model:u,view:h},this.trigger(t,n)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)}),this),k(rt,(function(t,e){this._messageCenter.on(e,(function(t){this.trigger(e,t)}),this)}),this)},V.isDisposed=function(){return this._disposed},V.clear=function(){this._disposed?this.id:this.setOption({series:[]},!0)},V.dispose=function(){if(this._disposed)this.id;else{this._disposed=!0,x.setAttribute(this.getDom(),gt,\"\");var t=this._api,e=this._model;k(this._componentsViews,(function(n){n.dispose(e,t)})),k(this._chartsViews,(function(n){n.dispose(e,t)})),this._zr.dispose(),delete ct[this.id]}},r.mixin(F,l),nt.prototype={constructor:nt,normalizeQuery:function(t){var e={},n={},i={};if(r.isString(t)){var a=L(t);e.mainType=a.main||null,e.subType=a.sub||null}else{var o=[\"Index\",\"Name\",\"Id\"],s={name:1,dataIndex:1,dataType:1};r.each(t,(function(t,r){for(var a=!1,l=0;l<o.length;l++){var u=o[l],h=r.lastIndexOf(u);if(h>0&&h===r.length-u.length){var c=r.slice(0,h);\"data\"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,a=!0)}}s.hasOwnProperty(r)&&(n[r]=t,a=!0),a||(i[r]=t)}))}return{cptQuery:e,dataQuery:n,otherQuery:i}},filter:function(t,e,n){var i=this.eventInfo;if(!i)return!0;var r=i.targetEl,a=i.packedEvent,o=i.model,s=i.view;if(!o||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return h(l,o,\"mainType\")&&h(l,o,\"subType\")&&h(l,o,\"index\",\"componentIndex\")&&h(l,o,\"name\")&&h(l,o,\"id\")&&h(u,a,\"name\")&&h(u,a,\"dataIndex\")&&h(u,a,\"dataType\")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,r,a));function h(t,e,n,i){return null==t[n]||e[i||n]===t[n]}},afterTrigger:function(){this.eventInfo=null}};var it={},rt={},at=[],ot=[],st=[],lt=[],ut={},ht={},ct={},dt={},ft=new Date-0,pt=new Date-0,gt=\"_echarts_instance_\";function vt(t){dt[t]=!1}var mt=vt;function yt(t){return ct[x.getAttribute(t,gt)]}function _t(t,e){ut[t]=e}function xt(t){ot.push(t)}function bt(t,e){Mt(at,t,e,1e3)}function wt(t,e,n){\"function\"==typeof e&&(n=e,e=\"\");var i=P(t)?t.type:[t,t={event:e}][0];t.event=(t.event||i).toLowerCase(),e=t.event,A(z.test(i)&&z.test(e)),it[i]||(it[i]={action:n,actionInfo:t}),rt[e]=i}function St(t,e){Mt(lt,t,e,3e3,\"visual\")}function Mt(t,e,n,i,r){(O(e)||P(e))&&(n=e,e=i);var a=T.wrapStageHandler(n,r);return a.__prio=e,a.__raw=n,t.push(a),a}function Tt(t,e){ht[t]=e}St(2e3,w),xt(f),bt(900,p),Tt(\"default\",M),wt({type:\"highlight\",event:\"highlight\",update:\"highlight\"},r.noop),wt({type:\"downplay\",event:\"downplay\",update:\"downplay\"},r.noop),_t(\"light\",I),_t(\"dark\",C);e.version=\"4.9.0\",e.dependencies={zrender:\"4.3.2\"},e.PRIORITY=R,e.init=function(t,e,n){var i=yt(t);if(i)return i;var r=new F(t,e,n);return r.id=\"ec_\"+ft++,ct[r.id]=r,x.setAttribute(t,gt,r.id),function(t){var e=\"__connectUpdateStatus\";function n(t,n){for(var i=0;i<t.length;i++){t[i][e]=n}}k(rt,(function(i,r){t._messageCenter.on(r,(function(i){if(dt[t.group]&&0!==t[e]){if(i&&i.escapeConnect)return;var r=t.makeActionFromEvent(i),a=[];k(ct,(function(e){e!==t&&e.group===t.group&&a.push(e)})),n(a,0),k(a,(function(t){1!==t[e]&&t.dispatchAction(r)})),n(a,2)}}))}))}(r),r},e.connect=function(t){if(r.isArray(t)){var e=t;t=null,k(e,(function(e){null!=e.group&&(t=e.group)})),t=t||\"g_\"+pt++,k(e,(function(e){e.group=t}))}return dt[t]=!0,t},e.disConnect=vt,e.disconnect=mt,e.dispose=function(t){\"string\"==typeof t?t=ct[t]:t instanceof F||(t=yt(t)),t instanceof F&&!t.isDisposed()&&t.dispose()},e.getInstanceByDom=yt,e.getInstanceById=function(t){return ct[t]},e.registerTheme=_t,e.registerPreprocessor=xt,e.registerProcessor=bt,e.registerPostUpdate=function(t){st.push(t)},e.registerAction=wt,e.registerCoordinateSystem=function(t,e){c.register(t,e)},e.getCoordinateSystemDimensions=function(t){var e=c.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},e.registerLayout=function(t,e){Mt(lt,t,e,1e3,\"layout\")},e.registerVisual=St,e.registerLoading=Tt,e.extendComponentModel=function(t){return g.extend(t)},e.extendComponentView=function(t){return m.extend(t)},e.extendSeriesModel=function(t){return v.extend(t)},e.extendChartView=function(t){return y.extend(t)},e.setCanvasCreator=function(t){r.$override(\"createCanvas\",t)},e.registerMap=function(t,e,n){D.registerMap(t,e,n)},e.getMap=function(t){var e=D.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},e.dataTool={};var It=n(226);!function(){for(var t in It)It.hasOwnProperty(t)&&(e[t]=It[t])}()},function(t,e,n){var i=n(0);var r=/^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d\\d)(?::(\\d\\d)(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/;function a(t){if(0===t)return 0;var e=Math.floor(Math.log(t)/Math.LN10);return t/Math.pow(10,e)>=10&&e++,e}e.linearMap=function(t,e,n,i){var r=e[1]-e[0],a=n[1]-n[0];if(0===r)return 0===a?n[0]:(n[0]+n[1])/2;if(i)if(r>0){if(t<=e[0])return n[0];if(t>=e[1])return n[1]}else{if(t>=e[0])return n[0];if(t<=e[1])return n[1]}else{if(t===e[0])return n[0];if(t===e[1])return n[1]}return(t-e[0])/r*a+n[0]},e.parsePercent=function(t,e){switch(t){case\"center\":case\"middle\":t=\"50%\";break;case\"left\":case\"top\":t=\"0%\";break;case\"right\":case\"bottom\":t=\"100%\"}return\"string\"==typeof t?(n=t,n.replace(/^\\s+|\\s+$/g,\"\")).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t;var n},e.round=function(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t},e.asc=function(t){return t.sort((function(t,e){return t-e})),t},e.getPrecision=function(t){if(t=+t,isNaN(t))return 0;for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n},e.getPrecisionSafe=function(t){var e=t.toString(),n=e.indexOf(\"e\");if(n>0){var i=+e.slice(n+1);return i<0?-i:0}var r=e.indexOf(\".\");return r<0?0:e.length-1-r},e.getPixelPrecision=function(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),a=Math.round(n(Math.abs(e[1]-e[0]))/i),o=Math.min(Math.max(-r+a,0),20);return isFinite(o)?o:20},e.getPercentWithPrecision=function(t,e,n){if(!t[e])return 0;var r=i.reduce(t,(function(t,e){return t+(isNaN(e)?0:e)}),0);if(0===r)return 0;for(var a=Math.pow(10,n),o=i.map(t,(function(t){return(isNaN(t)?0:t)/r*a*100})),s=100*a,l=i.map(o,(function(t){return Math.floor(t)})),u=i.reduce(l,(function(t,e){return t+e}),0),h=i.map(o,(function(t,e){return t-l[e]}));u<s;){for(var c=Number.NEGATIVE_INFINITY,d=null,f=0,p=h.length;f<p;++f)h[f]>c&&(c=h[f],d=f);++l[d],h[d]=0,++u}return l[e]/a},e.MAX_SAFE_INTEGER=9007199254740991,e.remRadian=function(t){var e=2*Math.PI;return(t%e+e)%e},e.isRadianAroundZero=function(t){return t>-1e-4&&t<1e-4},e.parseDate=function(t){if(t instanceof Date)return t;if(\"string\"==typeof t){var e=r.exec(t);if(!e)return new Date(NaN);if(e[8]){var n=+e[4]||0;return\"Z\"!==e[8].toUpperCase()&&(n-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,n,+(e[5]||0),+e[6]||0,+e[7]||0))}return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,+e[7]||0)}return null==t?new Date(NaN):new Date(Math.round(t))},e.quantity=function(t){return Math.pow(10,a(t))},e.quantityExponent=a,e.nice=function(t,e){var n=a(t),i=Math.pow(10,n),r=t/i;return t=(e?r<1.5?1:r<2.5?2:r<4?3:r<7?5:10:r<1?1:r<2?2:r<3?3:r<5?5:10)*i,n>=-20?+t.toFixed(n<0?-n:0):t},e.quantile=function(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],a=n-i;return a?r+a*(t[i]-r):r},e.reformIntervals=function(t){t.sort((function(t,e){return function t(e,n,i){return e.interval[i]<n.interval[i]||e.interval[i]===n.interval[i]&&(e.close[i]-n.close[i]==(i?-1:1)||!i&&t(e,n,1))}(t,e,0)?-1:1}));for(var e=-1/0,n=1,i=0;i<t.length;){for(var r=t[i].interval,a=t[i].close,o=0;o<2;o++)r[o]<=e&&(r[o]=e,a[o]=o?1:1-n),e=r[o],n=a[o];r[0]===r[1]&&a[0]*a[1]!=1?t.splice(i,1):i++}return t},e.isNumeric=function(t){return t-parseFloat(t)>=0}},function(t,e,n){var i=n(0),r=n(112),a=n(30),o=n(25),s=n(7),l=n(8),u=n(102),h=n(72);e.Image=h;var c=n(39);e.Group=c;var d=n(75);e.Text=d;var f=n(116);e.Circle=f;var p=n(198);e.Sector=p;var g=n(200);e.Ring=g;var v=n(117);e.Polygon=v;var m=n(119);e.Polyline=m;var y=n(120);e.Rect=y;var _=n(121);e.Line=_;var x=n(203);e.BezierCurve=x;var b=n(204);e.Arc=b;var w=n(205);e.CompoundPath=w;var S=n(77);e.LinearGradient=S;var M=n(206);e.RadialGradient=M;var T=n(12);e.BoundingRect=T;var I=n(207);e.IncrementalDisplayable=I;var C=n(76),D=Math.max,A=Math.min,k={},O=1,P={},L={};function R(t,e){L[t]=e}function E(t,e,n,i){var a=r.createFromString(t,e);return n&&(\"center\"===i&&(n=z(n,a.getBoundingRect())),B(a,n)),a}function z(t,e){var n,i=e.width/e.height,r=t.height*i;return n=r<=t.width?t.height:(r=t.width)/i,{x:t.x+t.width/2-r/2,y:t.y+t.height/2-n/2,width:r,height:n}}var N=r.mergePath;function B(t,e){if(t.applyTransform){var n=t.getBoundingRect().calculateTransform(e);t.applyTransform(n)}}var F=C.subPixelOptimize;function V(t){return null!=t&&\"none\"!==t}var H=i.createHashMap(),W=0;function G(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var n=t.__zr,i=t.useHoverLayer&&n&&\"canvas\"===n.painter.type;if(t.__highlighted=i?\"layer\":\"plain\",!(t.isGroup||!n&&t.useHoverLayer)){var r=t,a=t.style;i&&(a=(r=n.addHover(t)).style),at(a),i||function(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(e){var n=t.__cachedNormalStl={};t.__cachedNormalZ2=t.z2;var i=t.style;for(var r in e)null!=e[r]&&(n[r]=i[r]);n.fill=i.fill,n.stroke=i.stroke}else t.__cachedNormalStl=t.__cachedNormalZ2=null}}(r),a.extendFrom(e),j(a,e,\"fill\"),j(a,e,\"stroke\"),rt(a),i||(t.dirty(!1),t.z2+=1)}}}function j(t,e,n){!V(e[n])&&V(t[n])&&(t[n]=function(t){if(\"string\"!=typeof t)return t;var e=H.get(t);return e||(e=a.lift(t,-.1),W<1e4&&(H.set(t,e),W++)),e}(t[n]))}function U(t){var e=t.__highlighted;if(e&&(t.__highlighted=!1,!t.isGroup))if(\"layer\"===e)t.__zr&&t.__zr.removeHover(t);else{var n=t.style,i=t.__cachedNormalStl;i&&(at(n),t.setStyle(i),rt(n));var r=t.__cachedNormalZ2;null!=r&&t.z2-r==1&&(t.z2=r)}}function Y(t,e,n){var i,r=\"normal\",a=\"normal\";t.__highlighted&&(r=\"emphasis\",i=!0),e(t,n),t.__highlighted&&(a=\"emphasis\",i=!0),t.isGroup&&t.traverse((function(t){!t.isGroup&&e(t,n)})),i&&t.__highDownOnUpdate&&t.__highDownOnUpdate(r,a)}function X(t,e){e=t.__hoverStl=!1!==e&&(t.hoverStyle||e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(t.__cachedNormalStl=null,U(t),G(t))}function q(t){!J(this,t)&&!this.__highByOuter&&Y(this,G)}function Z(t){!J(this,t)&&!this.__highByOuter&&Y(this,U)}function K(t){this.__highByOuter|=1<<(t||0),Y(this,G)}function $(t){!(this.__highByOuter&=~(1<<(t||0)))&&Y(this,U)}function J(t,e){return t.__highDownSilentOnTouch&&e.zrByTouch}function Q(t,e){var n=!1===e;if(t.__highDownSilentOnTouch=t.highDownSilentOnTouch,t.__highDownOnUpdate=t.highDownOnUpdate,!n||t.__highDownDispatcher){var i=n?\"off\":\"on\";t[i](\"mouseover\",q)[i](\"mouseout\",Z),t[i](\"emphasis\",K)[i](\"normal\",$),t.__highByOuter=t.__highByOuter||0,t.__highDownDispatcher=!n}}function tt(t,e,n,r,a){return et(t,e,r,a),n&&i.extend(t,n),t}function et(t,e,n,r){if((n=n||k).isRectText){var a;n.getTextPosition?a=n.getTextPosition(e,r):\"outside\"===(a=e.getShallow(\"position\")||(r?null:\"inside\"))&&(a=\"top\"),t.textPosition=a,t.textOffset=e.getShallow(\"offset\");var o=e.getShallow(\"rotate\");null!=o&&(o*=Math.PI/180),t.textRotation=o,t.textDistance=i.retrieve2(e.getShallow(\"distance\"),r?null:5)}var s,l=e.ecModel,u=l&&l.option.textStyle,h=function(t){var e;for(;t&&t!==t.ecModel;){var n=(t.option||k).rich;if(n)for(var i in e=e||{},n)n.hasOwnProperty(i)&&(e[i]=1);t=t.parentModel}return e}(e);if(h)for(var c in s={},h)if(h.hasOwnProperty(c)){var d=e.getModel([\"rich\",c]);nt(s[c]={},d,u,n,r)}return t.rich=s,nt(t,e,u,n,r,!0),n.forceRich&&!n.textStyle&&(n.textStyle={}),t}function nt(t,e,n,r,a,o){n=!a&&n||k,t.textFill=it(e.getShallow(\"color\"),r)||n.color,t.textStroke=it(e.getShallow(\"textBorderColor\"),r)||n.textBorderColor,t.textStrokeWidth=i.retrieve2(e.getShallow(\"textBorderWidth\"),n.textBorderWidth),a||(o&&(t.insideRollbackOpt=r,rt(t)),null==t.textFill&&(t.textFill=r.autoColor)),t.fontStyle=e.getShallow(\"fontStyle\")||n.fontStyle,t.fontWeight=e.getShallow(\"fontWeight\")||n.fontWeight,t.fontSize=e.getShallow(\"fontSize\")||n.fontSize,t.fontFamily=e.getShallow(\"fontFamily\")||n.fontFamily,t.textAlign=e.getShallow(\"align\"),t.textVerticalAlign=e.getShallow(\"verticalAlign\")||e.getShallow(\"baseline\"),t.textLineHeight=e.getShallow(\"lineHeight\"),t.textWidth=e.getShallow(\"width\"),t.textHeight=e.getShallow(\"height\"),t.textTag=e.getShallow(\"tag\"),o&&r.disableBox||(t.textBackgroundColor=it(e.getShallow(\"backgroundColor\"),r),t.textPadding=e.getShallow(\"padding\"),t.textBorderColor=it(e.getShallow(\"borderColor\"),r),t.textBorderWidth=e.getShallow(\"borderWidth\"),t.textBorderRadius=e.getShallow(\"borderRadius\"),t.textBoxShadowColor=e.getShallow(\"shadowColor\"),t.textBoxShadowBlur=e.getShallow(\"shadowBlur\"),t.textBoxShadowOffsetX=e.getShallow(\"shadowOffsetX\"),t.textBoxShadowOffsetY=e.getShallow(\"shadowOffsetY\")),t.textShadowColor=e.getShallow(\"textShadowColor\")||n.textShadowColor,t.textShadowBlur=e.getShallow(\"textShadowBlur\")||n.textShadowBlur,t.textShadowOffsetX=e.getShallow(\"textShadowOffsetX\")||n.textShadowOffsetX,t.textShadowOffsetY=e.getShallow(\"textShadowOffsetY\")||n.textShadowOffsetY}function it(t,e){return\"auto\"!==t?t:e&&e.autoColor?e.autoColor:null}function rt(t){var e,n=t.textPosition,i=t.insideRollbackOpt;if(i&&null==t.textFill){var r=i.autoColor,a=i.isRectText,o=i.useInsideStyle,s=!1!==o&&(!0===o||a&&n&&\"string\"==typeof n&&n.indexOf(\"inside\")>=0),l=!s&&null!=r;(s||l)&&(e={textFill:t.textFill,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth}),s&&(t.textFill=\"#fff\",null==t.textStroke&&(t.textStroke=r,null==t.textStrokeWidth&&(t.textStrokeWidth=2))),l&&(t.textFill=r)}t.insideRollback=e}function at(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function ot(t,e,n,i,r,a){if(\"function\"==typeof r&&(a=r,r=null),i&&i.isAnimationEnabled()){var o=t?\"Update\":\"\",s=i.getShallow(\"animationDuration\"+o),l=i.getShallow(\"animationEasing\"+o),u=i.getShallow(\"animationDelay\"+o);\"function\"==typeof u&&(u=u(r,i.getAnimationDelayParams?i.getAnimationDelayParams(e,r):null)),\"function\"==typeof s&&(s=s(r)),s>0?e.animateTo(n,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(n),a&&a())}else e.stopAnimation(),e.attr(n),a&&a()}function st(t,e,n,i,r){ot(!0,t,e,n,i,r)}function lt(t,e,n){return e&&!i.isArrayLike(e)&&(e=u.getLocalTransform(e)),n&&(e=o.invert([],e)),s.applyTransform([],t,e)}function ut(t,e,n,i,r,a,o,s){var l,u=n-t,h=i-e,c=o-r,d=s-a,f=ht(c,d,u,h);if((l=f)<=1e-6&&l>=-1e-6)return!1;var p=t-r,g=e-a,v=ht(p,g,u,h)/f;if(v<0||v>1)return!1;var m=ht(p,g,c,d)/f;return!(m<0||m>1)}function ht(t,e,n,i){return t*i-n*e}R(\"circle\",f),R(\"sector\",p),R(\"ring\",g),R(\"polygon\",v),R(\"polyline\",m),R(\"rect\",y),R(\"line\",_),R(\"bezierCurve\",x),R(\"arc\",b),e.Z2_EMPHASIS_LIFT=1,e.CACHED_LABEL_STYLE_PROPERTIES={color:\"textFill\",textBorderColor:\"textStroke\",textBorderWidth:\"textStrokeWidth\"},e.extendShape=function(t){return l.extend(t)},e.extendPath=function(t,e){return r.extendFromString(t,e)},e.registerShape=R,e.getShapeClass=function(t){if(L.hasOwnProperty(t))return L[t]},e.makePath=E,e.makeImage=function(t,e,n){var i=new h({style:{image:t,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(t){if(\"center\"===n){var r={width:t.width,height:t.height};i.setStyle(z(e,r))}}});return i},e.mergePath=N,e.resizePath=B,e.subPixelOptimizeLine=function(t){return C.subPixelOptimizeLine(t.shape,t.shape,t.style),t},e.subPixelOptimizeRect=function(t){return C.subPixelOptimizeRect(t.shape,t.shape,t.style),t},e.subPixelOptimize=F,e.setElementHoverStyle=X,e.setHoverStyle=function(t,e){Q(t,!0),Y(t,X,e)},e.setAsHighDownDispatcher=Q,e.isHighDownDispatcher=function(t){return!(!t||!t.__highDownDispatcher)},e.getHighlightDigit=function(t){var e=P[t];return null==e&&O<=32&&(e=P[t]=O++),e},e.setLabelStyle=function(t,e,n,r,a,o,s){var l,u=(a=a||k).labelFetcher,h=a.labelDataIndex,c=a.labelDimIndex,d=a.labelProp,f=n.getShallow(\"show\"),p=r.getShallow(\"show\");(f||p)&&(u&&(l=u.getFormattedLabel(h,\"normal\",null,c,d)),null==l&&(l=i.isFunction(a.defaultText)?a.defaultText(h,a):a.defaultText));var g=f?l:null,v=p?i.retrieve2(u?u.getFormattedLabel(h,\"emphasis\",null,c,d):null,l):null;null==g&&null==v||(tt(t,n,o,a),tt(e,r,s,a,!0)),t.text=g,e.text=v},e.modifyLabelStyle=function(t,e,n){var r=t.style;e&&(at(r),t.setStyle(e),rt(r)),r=t.__hoverStl,n&&r&&(at(r),i.extend(r,n),rt(r))},e.setTextStyle=tt,e.setText=function(t,e,n){var i,r={isRectText:!0};!1===n?i=!0:r.autoColor=n,et(t,e,r,i)},e.getFont=function(t,e){var n=e&&e.getModel(\"textStyle\");return i.trim([t.fontStyle||n&&n.getShallow(\"fontStyle\")||\"\",t.fontWeight||n&&n.getShallow(\"fontWeight\")||\"\",(t.fontSize||n&&n.getShallow(\"fontSize\")||12)+\"px\",t.fontFamily||n&&n.getShallow(\"fontFamily\")||\"sans-serif\"].join(\" \"))},e.updateProps=st,e.initProps=function(t,e,n,i,r){ot(!1,t,e,n,i,r)},e.getTransform=function(t,e){for(var n=o.identity([]);t&&t!==e;)o.mul(n,t.getLocalTransform(),n),t=t.parent;return n},e.applyTransform=lt,e.transformDirection=function(t,e,n){var i=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),r=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=[\"left\"===t?-i:\"right\"===t?i:0,\"top\"===t?-r:\"bottom\"===t?r:0];return a=lt(a,e,n),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?\"right\":\"left\":a[1]>0?\"bottom\":\"top\"},e.groupTransition=function(t,e,n,r){if(t&&e){var a,o=(a={},t.traverse((function(t){!t.isGroup&&t.anid&&(a[t.anid]=t)})),a);e.traverse((function(t){if(!t.isGroup&&t.anid){var e=o[t.anid];if(e){var i=l(t);t.attr(l(e)),st(t,i,n,t.dataIndex)}}}))}function l(t){var e={position:s.clone(t.position),rotation:t.rotation};return t.shape&&(e.shape=i.extend({},t.shape)),e}},e.clipPointsByRect=function(t,e){return i.map(t,(function(t){var n=t[0];n=D(n,e.x),n=A(n,e.x+e.width);var i=t[1];return i=D(i,e.y),[n,i=A(i,e.y+e.height)]}))},e.clipRectByRect=function(t,e){var n=D(t.x,e.x),i=A(t.x+t.width,e.x+e.width),r=D(t.y,e.y),a=A(t.y+t.height,e.y+e.height);if(i>=n&&a>=r)return{x:n,y:r,width:i-n,height:a-r}},e.createIcon=function(t,e,n){var r=(e=i.extend({rectHover:!0},e)).style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf(\"image://\")?(r.image=t.slice(8),i.defaults(r,n),new h(e)):E(t.replace(\"path://\",\"\"),e,n,\"center\")},e.linePolygonIntersect=function(t,e,n,i,r){for(var a=0,o=r[r.length-1];a<r.length;a++){var s=r[a];if(ut(t,e,n,i,s[0],s[1],o[0],o[1]))return!0;o=s}},e.lineLineIntersect=ut},function(t,e,n){(function(t){var n;\"undefined\"!=typeof window?n=window.__DEV__:void 0!==t&&(n=t.__DEV__),void 0===n&&(n=!0);var i=n;e.__DEV__=i}).call(this,n(175))},function(t,e){var n=\"object\"==typeof wx&&\"function\"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:\"undefined\"==typeof document&&\"undefined\"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:\"undefined\"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:function(t){var e={},n=t.match(/Firefox\\/([\\d.]+)/),i=t.match(/MSIE\\s([\\d.]+)/)||t.match(/Trident\\/.+?rv:(([\\d.]+))/),r=t.match(/Edge\\/([\\d.]+)/),a=/micromessenger/i.test(t);n&&(e.firefox=!0,e.version=n[1]);i&&(e.ie=!0,e.version=i[1]);r&&(e.edge=!0,e.version=r[1]);a&&(e.weChat=!0);return{browser:e,os:{},node:!1,canvasSupported:!!document.createElement(\"canvas\").getContext,svgSupported:\"undefined\"!=typeof SVGRect,touchEventsSupported:\"ontouchstart\"in window&&!e.ie&&!e.edge,pointerEventsSupported:\"onpointerdown\"in window&&(e.edge||e.ie&&e.version>=11),domSupported:\"undefined\"!=typeof document}}(navigator.userAgent);t.exports=n},function(t,e){var n=\"undefined\"==typeof Float32Array?Array:Float32Array;function i(t){return Math.sqrt(a(t))}var r=i;function a(t){return t[0]*t[0]+t[1]*t[1]}var o=a;function s(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}var l=s;function u(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}var h=u;e.create=function(t,e){var i=new n(2);return null==t&&(t=0),null==e&&(e=0),i[0]=t,i[1]=e,i},e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},e.clone=function(t){var e=new n(2);return e[0]=t[0],e[1]=t[1],e},e.set=function(t,e,n){return t[0]=e,t[1]=n,t},e.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t},e.scaleAndAdd=function(t,e,n,i){return t[0]=e[0]+n[0]*i,t[1]=e[1]+n[1]*i,t},e.sub=function(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t},e.len=i,e.length=r,e.lenSquare=a,e.lengthSquare=o,e.mul=function(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t},e.div=function(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t},e.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},e.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t},e.normalize=function(t,e){var n=i(e);return 0===n?(t[0]=0,t[1]=0):(t[0]=e[0]/n,t[1]=e[1]/n),t},e.distance=s,e.dist=l,e.distanceSquare=u,e.distSquare=h,e.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},e.lerp=function(t,e,n,i){return t[0]=e[0]+i*(n[0]-e[0]),t[1]=e[1]+i*(n[1]-e[1]),t},e.applyTransform=function(t,e,n){var i=e[0],r=e[1];return t[0]=n[0]*i+n[2]*r+n[4],t[1]=n[1]*i+n[3]*r+n[5],t},e.min=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t},e.max=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t}},function(t,e,n){var i=n(55),r=n(0),a=n(56),o=n(192),s=n(107).prototype.getCanvasPattern,l=Math.abs,u=new a(!0);function h(t){i.call(this,t),this.path=null}h.prototype={constructor:h,type:\"path\",__dirtyPath:!0,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:!1,brush:function(t,e){var n,i=this.style,r=this.path||u,a=i.hasStroke(),o=i.hasFill(),l=i.fill,h=i.stroke,c=o&&!!l.colorStops,d=a&&!!h.colorStops,f=o&&!!l.image,p=a&&!!h.image;(i.bind(t,this,e),this.setTransform(t),this.__dirty)&&(c&&(n=n||this.getBoundingRect(),this._fillGradient=i.getGradient(t,l,n)),d&&(n=n||this.getBoundingRect(),this._strokeGradient=i.getGradient(t,h,n)));c?t.fillStyle=this._fillGradient:f&&(t.fillStyle=s.call(l,t)),d?t.strokeStyle=this._strokeGradient:p&&(t.strokeStyle=s.call(h,t));var g=i.lineDash,v=i.lineDashOffset,m=!!t.setLineDash,y=this.getGlobalScale();if(r.setScale(y[0],y[1],this.segmentIgnoreThreshold),this.__dirtyPath||g&&!m&&a?(r.beginPath(t),g&&!m&&(r.setLineDash(g),r.setLineDashOffset(v)),this.buildPath(r,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),o)if(null!=i.fillOpacity){var _=t.globalAlpha;t.globalAlpha=i.fillOpacity*i.opacity,r.fill(t),t.globalAlpha=_}else r.fill(t);if(g&&m&&(t.setLineDash(g),t.lineDashOffset=v),a)if(null!=i.strokeOpacity){_=t.globalAlpha;t.globalAlpha=i.strokeOpacity*i.opacity,r.stroke(t),t.globalAlpha=_}else r.stroke(t);g&&m&&t.setLineDash([]),null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,n){},createPathProxy:function(){this.path=new a},getBoundingRect:function(){var t=this._rect,e=this.style,n=!t;if(n){var i=this.path;i||(i=this.path=new a),this.__dirtyPath&&(i.beginPath(),this.buildPath(i,this.shape,!1)),t=i.getBoundingRect()}if(this._rect=t,e.hasStroke()){var r=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||n){r.copy(t);var o=e.lineWidth,s=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(o=Math.max(o,this.strokeContainThreshold||4)),s>1e-10&&(r.width+=o/s,r.height+=o/s,r.x-=o/s/2,r.y-=o/s/2)}return r}return t},contain:function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var a=this.path.data;if(r.hasStroke()){var s=r.lineWidth,l=r.strokeNoScale?this.getLineScale():1;if(l>1e-10&&(r.hasFill()||(s=Math.max(s,this.strokeContainThreshold)),o.containStroke(a,s/l,t,e)))return!0}if(r.hasFill())return o.contain(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate(\"shape\",t)},attrKV:function(t,e){\"shape\"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):i.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var n=this.shape;if(n){if(r.isObject(t))for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);else n[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&l(t[0]-1)>1e-10&&l(t[3]-1)>1e-10?Math.sqrt(l(t[0]*t[3]-t[2]*t[1])):1}},h.extend=function(t){var e=function(e){h.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var n=t.shape;if(n){this.shape=this.shape||{};var i=this.shape;for(var r in n)!i.hasOwnProperty(r)&&n.hasOwnProperty(r)&&(i[r]=n[r])}t.init&&t.init.call(this,e)};for(var n in r.inherits(e,h),t)\"style\"!==n&&\"shape\"!==n&&(e.prototype[n]=t[n]);return e},r.inherits(h,i);var c=h;t.exports=c},function(t,e,n){var i=n(0),r=n(15),a=n(3);var o=i.normalizeCssArray,s=/([&<>\"'])/g,l={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};function u(t){return null==t?\"\":(t+\"\").replace(s,(function(t,e){return l[e]}))}var h=[\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\"],c=function(t,e){return\"{\"+t+(null==e?\"\":e)+\"}\"};function d(t,e){return\"0000\".substr(0,e-(t+=\"\").length)+t}var f=r.truncateText;e.addCommas=function(t){return isNaN(t)?\"-\":(t=(t+\"\").split(\".\"))[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g,\"$1,\")+(t.length>1?\".\"+t[1]:\"\")},e.toCamelCase=function(t,e){return t=(t||\"\").toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()})),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t},e.normalizeCssArray=o,e.encodeHTML=u,e.formatTpl=function(t,e,n){i.isArray(e)||(e=[e]);var r=e.length;if(!r)return\"\";for(var a=e[0].$vars||[],o=0;o<a.length;o++){var s=h[o];t=t.replace(c(s),c(s,0))}for(var l=0;l<r;l++)for(var d=0;d<a.length;d++){var f=e[l][a[d]];t=t.replace(c(h[d],l),n?u(f):f)}return t},e.formatTplSimple=function(t,e,n){return i.each(e,(function(e,i){t=t.replace(\"{\"+i+\"}\",n?u(e):e)})),t},e.getTooltipMarker=function(t,e){var n=(t=i.isString(t)?{color:t,extraCssText:e}:t||{}).color,r=t.type,a=(e=t.extraCssText,t.renderMode||\"html\"),o=t.markerId||\"X\";return n?\"html\"===a?\"subItem\"===r?'<span style=\"display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+u(n)+\";\"+(e||\"\")+'\"></span>':'<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+u(n)+\";\"+(e||\"\")+'\"></span>':{renderMode:a,content:\"{marker\"+o+\"|}  \",style:{color:n}}:\"\"},e.formatTime=function(t,e,n){\"week\"!==t&&\"month\"!==t&&\"quarter\"!==t&&\"half-year\"!==t&&\"year\"!==t||(t=\"MM-dd\\nyyyy\");var i=a.parseDate(e),r=n?\"UTC\":\"\",o=i[\"get\"+r+\"FullYear\"](),s=i[\"get\"+r+\"Month\"]()+1,l=i[\"get\"+r+\"Date\"](),u=i[\"get\"+r+\"Hours\"](),h=i[\"get\"+r+\"Minutes\"](),c=i[\"get\"+r+\"Seconds\"](),f=i[\"get\"+r+\"Milliseconds\"]();return t=t.replace(\"MM\",d(s,2)).replace(\"M\",s).replace(\"yyyy\",o).replace(\"yy\",o%100).replace(\"dd\",d(l,2)).replace(\"d\",l).replace(\"hh\",d(u,2)).replace(\"h\",u).replace(\"mm\",d(h,2)).replace(\"m\",h).replace(\"ss\",d(c,2)).replace(\"s\",c).replace(\"SSS\",d(f,3))},e.capitalFirst=function(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t},e.truncateText=f,e.getTextBoundingRect=function(t){return r.getBoundingRect(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},e.getTextRect=function(t,e,n,i,a,o,s,l){return r.getBoundingRect(t,e,n,i,a,l,o,s)},e.windowOpen=function(t,e){if(\"_blank\"===e||\"blank\"===e){var n=window.open();n.opener=null,n.location=t}else window.open(t,e)}},function(t,e,n){var i=n(46)(\"wks\"),r=n(35),a=n(13).Symbol,o=\"function\"==typeof a;(t.exports=function(t){return i[t]||(i[t]=o&&a[t]||(o?a:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){var i=n(0),r=n(12),a=n(3).parsePercent,o=n(9),s=i.each,l=[\"left\",\"right\",\"top\",\"bottom\",\"width\",\"height\"],u=[[\"width\",\"left\",\"right\"],[\"height\",\"top\",\"bottom\"]];function h(t,e,n,i,r){var a=0,o=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild((function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if(\"horizontal\"===t){var v=f.width+(g?-g.x+f.x:0);(h=a+v)>i||l.newline?(a=0,h=v,o+=s+n,s=f.height):s=Math.max(s,f.height)}else{var m=f.height+(g?-g.y+f.y:0);(c=o+m)>r||l.newline?(a+=s+n,o=0,c=m,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=o,\"horizontal\"===t?a=h+n:o=c+n)}))}var c=h,d=i.curry(h,\"vertical\"),f=i.curry(h,\"horizontal\");function p(t,e,n){n=o.normalizeCssArray(n||0);var i=e.width,s=e.height,l=a(t.left,i),u=a(t.top,s),h=a(t.right,i),c=a(t.bottom,s),d=a(t.width,i),f=a(t.height,s),p=n[2]+n[0],g=n[1]+n[3],v=t.aspect;switch(isNaN(d)&&(d=i-h-g-l),isNaN(f)&&(f=s-c-p-u),null!=v&&(isNaN(d)&&isNaN(f)&&(v>i/s?d=.8*i:f=.8*s),isNaN(d)&&(d=v*f),isNaN(f)&&(f=d/v)),isNaN(l)&&(l=i-h-d-g),isNaN(u)&&(u=s-c-f-p),t.left||t.right){case\"center\":l=i/2-d/2-n[3];break;case\"right\":l=i-d-g}switch(t.top||t.bottom){case\"middle\":case\"center\":u=s/2-f/2-n[0];break;case\"bottom\":u=s-f-p}l=l||0,u=u||0,isNaN(d)&&(d=i-g-l-(h||0)),isNaN(f)&&(f=s-p-u-(c||0));var m=new r(l+n[3],u+n[0],d,f);return m.margin=n,m}function g(t,e){return e&&t&&s(l,(function(n){e.hasOwnProperty(n)&&(t[n]=e[n])})),t}e.LOCATION_PARAMS=l,e.HV_NAMES=u,e.box=c,e.vbox=d,e.hbox=f,e.getAvailableSize=function(t,e,n){var i=e.width,r=e.height,s=a(t.x,i),l=a(t.y,r),u=a(t.x2,i),h=a(t.y2,r);return(isNaN(s)||isNaN(parseFloat(t.x)))&&(s=0),(isNaN(u)||isNaN(parseFloat(t.x2)))&&(u=i),(isNaN(l)||isNaN(parseFloat(t.y)))&&(l=0),(isNaN(h)||isNaN(parseFloat(t.y2)))&&(h=r),n=o.normalizeCssArray(n||0),{width:Math.max(u-s-n[1]-n[3],0),height:Math.max(h-l-n[0]-n[2],0)}},e.getLayoutRect=p,e.positionElement=function(t,e,n,a,o){var s=!o||!o.hv||o.hv[0],l=!o||!o.hv||o.hv[1],u=o&&o.boundingMode||\"all\";if(s||l){var h;if(\"raw\"===u)h=\"group\"===t.type?new r(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(h=t.getBoundingRect(),t.needLocalTransform()){var c=t.getLocalTransform();(h=h.clone()).applyTransform(c)}e=p(i.defaults({width:h.width,height:h.height},e),n,a);var d=t.position,f=s?e.x-h.x:0,g=l?e.y-h.y:0;t.attr(\"position\",\"raw\"===u?[f,g]:[d[0]+f,d[1]+g])}},e.sizeCalculable=function(t,e){return null!=t[u[e][0]]||null!=t[u[e][1]]&&null!=t[u[e][2]]},e.mergeLayoutParam=function(t,e,n){!i.isObject(n)&&(n={});var r=n.ignoreSize;!i.isArray(r)&&(r=[r,r]);var a=l(u[0],0),o=l(u[1],1);function l(n,i){var a={},o=0,l={},u=0;if(s(n,(function(e){l[e]=t[e]})),s(n,(function(t){h(e,t)&&(a[t]=l[t]=e[t]),c(a,t)&&o++,c(l,t)&&u++})),r[i])return c(e,n[1])?l[n[2]]=null:c(e,n[2])&&(l[n[1]]=null),l;if(2!==u&&o){if(o>=2)return a;for(var d=0;d<n.length;d++){var f=n[d];if(!h(a,f)&&h(t,f)){a[f]=t[f];break}}return a}return l}function h(t,e){return t.hasOwnProperty(e)}function c(t,e){return null!=t[e]&&\"auto\"!==t[e]}function d(t,e,n){s(t,(function(t){e[t]=n[t]}))}d(u[0],t,a),d(u[1],t,o)},e.getLayoutParams=function(t){return g({},t)},e.copyLayoutParams=g},function(t,e,n){var i,r,a,o,s=n(7),l=n(25),u=s.applyTransform,h=Math.min,c=Math.max;function d(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}d.prototype={constructor:d,union:function(t){var e=h(t.x,this.x),n=h(t.y,this.y);this.width=c(t.x+t.width,this.x+this.width)-e,this.height=c(t.y+t.height,this.y+this.height)-n,this.x=e,this.y=n},applyTransform:(i=[],r=[],a=[],o=[],function(t){if(t){i[0]=a[0]=this.x,i[1]=o[1]=this.y,r[0]=o[0]=this.x+this.width,r[1]=a[1]=this.y+this.height,u(i,i,t),u(r,r,t),u(a,a,t),u(o,o,t),this.x=h(i[0],r[0],a[0],o[0]),this.y=h(i[1],r[1],a[1],o[1]);var e=c(i[0],r[0],a[0],o[0]),n=c(i[1],r[1],a[1],o[1]);this.width=e-this.x,this.height=n-this.y}}),calculateTransform:function(t){var e=this,n=t.width/e.width,i=t.height/e.height,r=l.create();return l.translate(r,r,[-e.x,-e.y]),l.scale(r,r,[n,i]),l.translate(r,r,[t.x,t.y]),r},intersect:function(t){if(!t)return!1;t instanceof d||(t=d.create(t));var e=this,n=e.x,i=e.x+e.width,r=e.y,a=e.y+e.height,o=t.x,s=t.x+t.width,l=t.y,u=t.y+t.height;return!(i<o||s<n||a<l||u<r)},contain:function(t,e){return t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height},clone:function(){return new d(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},d.create=function(t){return new d(t.x,t.y,t.width,t.height)};var f=d;t.exports=f},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(27),r=n(86),a=n(45),o=Object.defineProperty;e.f=n(18)?Object.defineProperty:function(t,e,n){if(i(t),e=a(e,!0),i(n),r)try{return o(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(12),r=n(73),a=n(0),o=a.getContext,s=a.extend,l=a.retrieve2,u=a.retrieve3,h=a.trim,c={},d=0,f=/\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g,p={};function g(t,e){var n=t+\":\"+(e=e||\"12px sans-serif\");if(c[n])return c[n];for(var i=(t+\"\").split(\"\\n\"),r=0,a=0,o=i.length;a<o;a++)r=Math.max(M(i[a],e).width,r);return d>5e3&&(d=0,c={}),d++,c[n]=r,r}function v(t,e,n){return\"right\"===n?t-=e:\"center\"===n&&(t-=e/2),t}function m(t,e,n){return\"middle\"===n?t-=e/2:\"bottom\"===n&&(t-=e),t}function y(t,e,n){var i=e.textPosition,r=e.textDistance,a=n.x,o=n.y;r=r||0;var s=n.height,l=n.width,u=s/2,h=\"left\",c=\"top\";switch(i){case\"left\":a-=r,o+=u,h=\"right\",c=\"middle\";break;case\"right\":a+=r+l,o+=u,c=\"middle\";break;case\"top\":a+=l/2,o-=r,h=\"center\",c=\"bottom\";break;case\"bottom\":a+=l/2,o+=s+r,h=\"center\";break;case\"inside\":a+=l/2,o+=u,h=\"center\",c=\"middle\";break;case\"insideLeft\":a+=r,o+=u,c=\"middle\";break;case\"insideRight\":a+=l-r,o+=u,h=\"right\",c=\"middle\";break;case\"insideTop\":a+=l/2,o+=r,h=\"center\";break;case\"insideBottom\":a+=l/2,o+=s-r,h=\"center\",c=\"bottom\";break;case\"insideTopLeft\":a+=r,o+=r;break;case\"insideTopRight\":a+=l-r,o+=r,h=\"right\";break;case\"insideBottomLeft\":a+=r,o+=s-r,c=\"bottom\";break;case\"insideBottomRight\":a+=l-r,o+=s-r,h=\"right\",c=\"bottom\"}return(t=t||{}).x=a,t.y=o,t.textAlign=h,t.textVerticalAlign=c,t}function _(t,e,n,i,r){if(!e)return\"\";var a=(t+\"\").split(\"\\n\");r=x(e,n,i,r);for(var o=0,s=a.length;o<s;o++)a[o]=b(a[o],r);return a.join(\"\\n\")}function x(t,e,n,i){(i=s({},i)).font=e;n=l(n,\"...\");i.maxIterations=l(i.maxIterations,2);var r=i.minChar=l(i.minChar,0);i.cnCharWidth=g(\"国\",e);var a=i.ascCharWidth=g(\"a\",e);i.placeholder=l(i.placeholder,\"\");for(var o=t=Math.max(0,t-1),u=0;u<r&&o>=a;u++)o-=a;var h=g(n,e);return h>o&&(n=\"\",h=0),o=t-h,i.ellipsis=n,i.ellipsisWidth=h,i.contentWidth=o,i.containerWidth=t,i}function b(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return\"\";var a=g(t,i);if(a<=n)return t;for(var o=0;;o++){if(a<=r||o>=e.maxIterations){t+=e.ellipsis;break}var s=0===o?w(t,r,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*r/a):0;a=g(t=t.substr(0,s),i)}return\"\"===t&&(t=e.placeholder),t}function w(t,e,n,i){for(var r=0,a=0,o=t.length;a<o&&r<e;a++){var s=t.charCodeAt(a);r+=0<=s&&s<=127?n:i}return a}function S(t){return g(\"国\",t)}function M(t,e){return p.measureText(t,e)}function T(t,e,n,i,r){null!=t&&(t+=\"\");var a=l(i,S(e)),o=t?t.split(\"\\n\"):[],s=o.length*a,u=s,h=!0;if(n&&(u+=n[0]+n[2]),t&&r){h=!1;var c=r.outerHeight,d=r.outerWidth;if(null!=c&&u>c)t=\"\",o=[];else if(null!=d)for(var f=x(d-(n?n[1]+n[3]:0),e,r.ellipsis,{minChar:r.minChar,placeholder:r.placeholder}),p=0,g=o.length;p<g;p++)o[p]=b(o[p],f)}return{lines:o,height:s,outerHeight:u,lineHeight:a,canCacheByTextString:h}}function I(t,e){var n={lines:[],width:0,height:0};if(null!=t&&(t+=\"\"),!t)return n;for(var i,a=f.lastIndex=0;null!=(i=f.exec(t));){var o=i.index;o>a&&C(n,t.substring(a,o)),C(n,i[2],i[1]),a=f.lastIndex}a<t.length&&C(n,t.substring(a,t.length));var s=n.lines,h=0,c=0,d=[],p=e.textPadding,v=e.truncate,m=v&&v.outerWidth,y=v&&v.outerHeight;p&&(null!=m&&(m-=p[1]+p[3]),null!=y&&(y-=p[0]+p[2]));for(var x=0;x<s.length;x++){for(var b=s[x],w=0,M=0,T=0;T<b.tokens.length;T++){var I=(N=b.tokens[T]).styleName&&e.rich[N.styleName]||{},D=N.textPadding=I.textPadding,A=N.font=I.font||e.font,k=N.textHeight=l(I.textHeight,S(A));if(D&&(k+=D[0]+D[2]),N.height=k,N.lineHeight=u(I.textLineHeight,e.textLineHeight,k),N.textAlign=I&&I.textAlign||e.textAlign,N.textVerticalAlign=I&&I.textVerticalAlign||\"middle\",null!=y&&h+N.lineHeight>y)return{lines:[],width:0,height:0};N.textWidth=g(N.text,A);var O=I.textWidth,P=null==O||\"auto\"===O;if(\"string\"==typeof O&&\"%\"===O.charAt(O.length-1))N.percentWidth=O,d.push(N),O=0;else{if(P){O=N.textWidth;var L=I.textBackgroundColor,R=L&&L.image;R&&(R=r.findExistImage(R),r.isImageReady(R)&&(O=Math.max(O,R.width*k/R.height)))}var E=D?D[1]+D[3]:0;O+=E;var z=null!=m?m-M:null;null!=z&&z<O&&(!P||z<E?(N.text=\"\",N.textWidth=O=0):(N.text=_(N.text,z-E,A,v.ellipsis,{minChar:v.minChar}),N.textWidth=g(N.text,A),O=N.textWidth+E))}M+=N.width=O,I&&(w=Math.max(w,N.lineHeight))}b.width=M,b.lineHeight=w,h+=w,c=Math.max(c,M)}n.outerWidth=n.width=l(e.textWidth,c),n.outerHeight=n.height=l(e.textHeight,h),p&&(n.outerWidth+=p[1]+p[3],n.outerHeight+=p[0]+p[2]);for(x=0;x<d.length;x++){var N,B=(N=d[x]).percentWidth;N.width=parseInt(B,10)/100*c}return n}function C(t,e,n){for(var i=\"\"===e,r=e.split(\"\\n\"),a=t.lines,o=0;o<r.length;o++){var s=r[o],l={styleName:n,text:s,isLineHolder:!s&&!i};if(o)a.push({tokens:[l]});else{var u=(a[a.length-1]||(a[0]={tokens:[]})).tokens,h=u.length;1===h&&u[0].isLineHolder?u[0]=l:(s||!h||i)&&u.push(l)}}}p.measureText=function(t,e){var n=o();return n.font=e||\"12px sans-serif\",n.measureText(t)},e.DEFAULT_FONT=\"12px sans-serif\",e.$override=function(t,e){p[t]=e},e.getWidth=g,e.getBoundingRect=function(t,e,n,r,a,o,s,l){return s?function(t,e,n,r,a,o,s,l){var u=I(t,{rich:s,truncate:l,font:e,textAlign:n,textPadding:a,textLineHeight:o}),h=u.outerWidth,c=u.outerHeight,d=v(0,h,n),f=m(0,c,r);return new i(d,f,h,c)}(t,e,n,r,a,o,s,l):function(t,e,n,r,a,o,s){var l=T(t,e,a,o,s),u=g(t,e);a&&(u+=a[1]+a[3]);var h=l.outerHeight,c=v(0,u,n),d=m(0,h,r),f=new i(c,d,u,h);return f.lineHeight=l.lineHeight,f}(t,e,n,r,a,o,l)},e.adjustTextX=v,e.adjustTextY=m,e.calculateTextPosition=y,e.adjustTextPositionOnRect=function(t,e,n){return y({},{textPosition:t,textDistance:n},e)},e.truncateText=_,e.getLineHeight=S,e.measureText=M,e.parsePlainText=T,e.parseRichText=I,e.makeFont=function(t){var e=(t.fontSize||t.fontFamily)&&[t.fontStyle,t.fontWeight,(t.fontSize||12)+\"px\",t.fontFamily||\"sans-serif\"].join(\" \");return e&&h(e)||t.textFont||t.font}},function(t,e,n){var i=n(0),r=n(6),a=n(1).makeInner,o=n(21),s=o.enableClassExtend,l=o.enableClassCheck,u=n(189),h=n(190),c=n(191),d=n(208),f=i.mixin,p=a();function g(t,e,n){this.parentModel=e,this.ecModel=n,this.option=t}function v(t,e,n){for(var i=0;i<e.length&&(!e[i]||null!=(t=t&&\"object\"==typeof t?t[e[i]]:null));i++);return null==t&&n&&(t=n.get(e)),t}function m(t,e){var n=p(t).getParent;return n?n.call(t,e):t.parentModel}g.prototype={constructor:g,init:null,mergeOption:function(t){i.merge(this.option,t,!0)},get:function(t,e){return null==t?this.option:v(this.option,this.parsePath(t),!e&&m(this,t))},getShallow:function(t,e){var n=this.option,i=null==n?n:n[t],r=!e&&m(this,t);return null==i&&r&&(i=r.getShallow(t)),i},getModel:function(t,e){var n;return new g(null==t?this.option:v(this.option,t=this.parsePath(t)),e=e||(n=m(this,t))&&n.getModel(t),this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(i.clone(this.option))},setReadOnly:function(t){},parsePath:function(t){return\"string\"==typeof t&&(t=t.split(\".\")),t},customizeGetParent:function(t){p(this).getParent=t},isAnimationEnabled:function(){if(!r.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},s(g),l(g),f(g,u),f(g,h),f(g,c),f(g,d);var y=g;t.exports=y},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){t.exports=!n(19)((function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}))},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){n(5).__DEV__;var i=n(0),r=\"___EC__COMPONENT__CONTAINER___\";function a(t){var e={main:\"\",sub:\"\"};return t&&(t=t.split(\".\"),e.main=t[0]||\"\",e.sub=t[1]||\"\"),e}var o=0;function s(t,e){var n=i.slice(arguments,2);return this.superClass.prototype[e].apply(t,n)}function l(t,e,n){return this.superClass.prototype[e].apply(t,n)}e.parseClassType=a,e.enableClassExtend=function(t,e){t.$constructor=t,t.extend=function(t){var e=this,n=function(){t.$constructor?t.$constructor.apply(this,arguments):e.apply(this,arguments)};return i.extend(n.prototype,t),n.extend=this.extend,n.superCall=s,n.superApply=l,i.inherits(n,this),n.superClass=e,n}},e.enableClassCheck=function(t){var e=[\"__\\0is_clz\",o++,Math.random().toFixed(3)].join(\"_\");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}},e.enableClassManagement=function(t,e){e=e||{};var n={};if(t.registerClass=function(t,e){if(e)if(function(t){i.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType \"'+t+'\" illegal')}(e),(e=a(e)).sub){if(e.sub!==r){(function(t){var e=n[t.main];e&&e[r]||((e=n[t.main]={})[r]=!0);return e}(e))[e.sub]=t}}else n[e.main]=t;return t},t.getClass=function(t,e,i){var a=n[t];if(a&&a[r]&&(a=e?a[e]:null),i&&!a)throw new Error(e?\"Component \"+t+\".\"+(e||\"\")+\" not exists. Load it first.\":t+\".type should be specified.\");return a},t.getClassesByMainType=function(t){t=a(t);var e=[],o=n[t.main];return o&&o[r]?i.each(o,(function(t,n){n!==r&&e.push(t)})):e.push(o),e},t.hasClass=function(t){return t=a(t),!!n[t.main]},t.getAllClassMainTypes=function(){var t=[];return i.each(n,(function(e,n){t.push(n)})),t},t.hasSubTypes=function(t){t=a(t);var e=n[t.main];return e&&e[r]},t.parseClassType=a,e.registerWhenExtend){var o=t.extend;o&&(t.extend=function(e){var n=o.call(this,e);return t.registerClass(n,e.type)})}return t},e.setReadOnly=function(t,e){}},function(t,e,n){var i=n(0),r=n(16),a=n(57),o=n(21),s=o.enableClassManagement,l=o.parseClassType,u=n(1).makeInner,h=n(11),c=n(209),d=u(),f=r.extend({type:\"component\",id:\"\",name:\"\",mainType:\"\",subType:\"\",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,n,i){r.call(this,t,e,n,i),this.uid=a.getUID(\"ec_cpt_model\")},init:function(t,e,n,i){this.mergeDefaultAndTheme(t,n)},mergeDefaultAndTheme:function(t,e){var n=this.layoutMode,r=n?h.getLayoutParams(t):{},a=e.getTheme();i.merge(t,a.get(this.mainType)),i.merge(t,this.getDefaultOption()),n&&h.mergeLayoutParam(t,r,n)},mergeOption:function(t,e){i.merge(this.option,t,!0);var n=this.layoutMode;n&&h.mergeLayoutParam(this.option,t,n)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=d(this);if(!t.defaultOption){for(var e=[],n=this.constructor;n;){var r=n.prototype.defaultOption;r&&e.push(r),n=n.superClass}for(var a={},o=e.length-1;o>=0;o--)a=i.merge(a,e[o],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+\"Index\",!0),id:this.get(t+\"Id\",!0)})}});s(f,{registerWhenExtend:!0}),a.enableSubTypeDefaulter(f),a.enableTopologicalTravel(f,(function(t){var e=[];i.each(f.getClassesByMainType(t),(function(t){e=e.concat(t.prototype.dependencies||[])})),e=i.map(e,(function(t){return l(t).main})),\"dataset\"!==t&&i.indexOf(e,\"dataset\")<=0&&e.unshift(\"dataset\");return e})),i.mixin(f,c);var p=f;t.exports=p},function(t,e,n){var i=n(14),r=n(34);t.exports=n(18)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(38);e.Dispatcher=i;var r=n(6),a=n(100),o=a.isCanvasEl,s=a.transformCoordWithViewport,l=\"undefined\"!=typeof window&&!!window.addEventListener,u=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,h=[];function c(t,e,n,i){return n=n||{},i||!r.canvasSupported?d(t,e,n):r.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):d(t,e,n),n}function d(t,e,n){if(r.domSupported&&t.getBoundingClientRect){var i=e.clientX,a=e.clientY;if(o(t)){var l=t.getBoundingClientRect();return n.zrX=i-l.left,void(n.zrY=a-l.top)}if(s(h,t,i,a))return n.zrX=h[0],void(n.zrY=h[1])}n.zrX=n.zrY=0}function f(t){return t||window.event}var p=l?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};e.clientToLocal=c,e.getNativeEvent=f,e.normalizeEvent=function(t,e,n){if(null!=(e=f(e)).zrX)return e;var i=e.type;if(i&&i.indexOf(\"touch\")>=0){var r=\"touchend\"!==i?e.targetTouches[0]:e.changedTouches[0];r&&c(t,r,e,n)}else c(t,e,e,n),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&u.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e},e.addEventListener=function(t,e,n,i){l?t.addEventListener(e,n,i):t.attachEvent(\"on\"+e,n)},e.removeEventListener=function(t,e,n,i){l?t.removeEventListener(e,n,i):t.detachEvent(\"on\"+e,n)},e.stop=p,e.isMiddleOrRightButtonOnMouseUpDown=function(t){return 2===t.which||3===t.which},e.notLeftMouse=function(t){return t.which>1}},function(t,e){var n=\"undefined\"==typeof Float32Array?Array:Float32Array;function i(){var t=new n(6);return r(t),t}function r(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function a(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}e.create=i,e.identity=r,e.copy=a,e.mul=function(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],a=e[0]*n[2]+e[2]*n[3],o=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t},e.translate=function(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t},e.rotate=function(t,e,n){var i=e[0],r=e[2],a=e[4],o=e[1],s=e[3],l=e[5],u=Math.sin(n),h=Math.cos(n);return t[0]=i*h+o*u,t[1]=-i*u+o*h,t[2]=r*h+s*u,t[3]=-r*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t},e.scale=function(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t},e.invert=function(t,e){var n=e[0],i=e[2],r=e[4],a=e[1],o=e[3],s=e[5],l=n*o-a*i;return l?(l=1/l,t[0]=o*l,t[1]=-a*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-o*r)*l,t[5]=(a*r-n*s)*l,t):null},e.clone=function(t){var e=i();return a(e,t),e}},function(t,e,n){var i=n(13),r=n(33),a=n(23),o=n(28),s=n(48),l=function(t,e,n){var u,h,c,d,f=t&l.F,p=t&l.G,g=t&l.S,v=t&l.P,m=t&l.B,y=p?i:g?i[e]||(i[e]={}):(i[e]||{}).prototype,_=p?r:r[e]||(r[e]={}),x=_.prototype||(_.prototype={});for(u in p&&(n=e),n)c=((h=!f&&y&&void 0!==y[u])?y:n)[u],d=m&&h?s(c,i):v&&\"function\"==typeof c?s(Function.call,c):c,y&&o(y,u,c,t&l.U),_[u]!=c&&a(_,u,d),v&&x[u]!=c&&(x[u]=c)};i.core=r,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,t.exports=l},function(t,e,n){var i=n(17);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(13),r=n(23),a=n(20),o=n(35)(\"src\"),s=n(146),l=(\"\"+s).split(\"toString\");n(33).inspectSource=function(t){return s.call(t)},(t.exports=function(t,e,n,s){var u=\"function\"==typeof n;u&&(a(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(u&&(a(n,o)||r(n,o,t[e]?\"\"+t[e]:l.join(String(e)))),t===i?t[e]=n:s?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",(function(){return\"function\"==typeof this&&this[o]||s.call(this)}))},function(t,e,n){var i=n(88),r=n(50);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(104),r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function a(t){return(t=Math.round(t))<0?0:t>255?255:t}function o(t){return t<0?0:t>1?1:t}function s(t){return t.length&&\"%\"===t.charAt(t.length-1)?a(parseFloat(t)/100*255):a(parseInt(t,10))}function l(t){return t.length&&\"%\"===t.charAt(t.length-1)?o(parseFloat(t)/100):o(parseFloat(t))}function u(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function h(t,e,n){return t+(e-t)*n}function c(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function d(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var f=new i(20),p=null;function g(t,e){p&&d(p,e),p=f.put(t,p||e.slice())}function v(t,e){if(t){e=e||[];var n=f.get(t);if(n)return d(e,n);var i,a=(t+=\"\").replace(/ /g,\"\").toLowerCase();if(a in r)return d(e,r[a]),g(t,e),e;if(\"#\"===a.charAt(0))return 4===a.length?(i=parseInt(a.substr(1),16))>=0&&i<=4095?(c(e,(3840&i)>>4|(3840&i)>>8,240&i|(240&i)>>4,15&i|(15&i)<<4,1),g(t,e),e):void c(e,0,0,0,1):7===a.length?(i=parseInt(a.substr(1),16))>=0&&i<=16777215?(c(e,(16711680&i)>>16,(65280&i)>>8,255&i,1),g(t,e),e):void c(e,0,0,0,1):void 0;var o=a.indexOf(\"(\"),u=a.indexOf(\")\");if(-1!==o&&u+1===a.length){var h=a.substr(0,o),p=a.substr(o+1,u-(o+1)).split(\",\"),v=1;switch(h){case\"rgba\":if(4!==p.length)return void c(e,0,0,0,1);v=l(p.pop());case\"rgb\":return 3!==p.length?void c(e,0,0,0,1):(c(e,s(p[0]),s(p[1]),s(p[2]),v),g(t,e),e);case\"hsla\":return 4!==p.length?void c(e,0,0,0,1):(p[3]=l(p[3]),m(p,e),g(t,e),e);case\"hsl\":return 3!==p.length?void c(e,0,0,0,1):(m(p,e),g(t,e),e);default:return}}c(e,0,0,0,1)}}function m(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=l(t[1]),r=l(t[2]),o=r<=.5?r*(i+1):r+i-r*i,s=2*r-o;return c(e=e||[],a(255*u(s,o,n+1/3)),a(255*u(s,o,n)),a(255*u(s,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function y(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),s=Math.ceil(i),l=e[r],u=e[s],c=i-r;return n[0]=a(h(l[0],u[0],c)),n[1]=a(h(l[1],u[1],c)),n[2]=a(h(l[2],u[2],c)),n[3]=o(h(l[3],u[3],c)),n}}var _=y;function x(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),s=Math.ceil(i),l=v(e[r]),u=v(e[s]),c=i-r,d=w([a(h(l[0],u[0],c)),a(h(l[1],u[1],c)),a(h(l[2],u[2],c)),o(h(l[3],u[3],c))],\"rgba\");return n?{color:d,leftIndex:r,rightIndex:s,value:i}:d}}var b=x;function w(t,e){if(t&&t.length){var n=t[0]+\",\"+t[1]+\",\"+t[2];return\"rgba\"!==e&&\"hsva\"!==e&&\"hsla\"!==e||(n+=\",\"+t[3]),e+\"(\"+n+\")\"}}e.parse=v,e.lift=function(t,e){var n=v(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:t[i]<0&&(n[i]=0);return w(n,4===n.length?\"rgba\":\"rgb\")}},e.toHex=function(t){var e=v(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},e.fastLerp=y,e.fastMapToColor=_,e.lerp=x,e.mapToColor=b,e.modifyHSL=function(t,e,n,i){if(t=v(t))return t=function(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,a=t[2]/255,o=Math.min(i,r,a),s=Math.max(i,r,a),l=s-o,u=(s+o)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+o):l/(2-s-o);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,d=((s-a)/6+l/2)/l;i===s?e=d-c:r===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,n,u];return null!=t[3]&&f.push(t[3]),f}}(t),null!=e&&(t[0]=(r=e,(r=Math.round(r))<0?0:r>360?360:r)),null!=n&&(t[1]=l(n)),null!=i&&(t[2]=l(i)),w(m(t),\"rgba\");var r},e.modifyAlpha=function(t,e){if((t=v(t))&&null!=e)return t[3]=o(e),w(t,\"rgba\")},e.stringify=w},function(t,e,n){var i=n(7),r=i.create,a=i.distSquare,o=Math.pow,s=Math.sqrt,l=s(3),u=r(),h=r(),c=r();function d(t){return t>-1e-8&&t<1e-8}function f(t){return t>1e-8||t<-1e-8}function p(t,e,n,i,r){var a=1-r;return a*a*(a*t+3*r*e)+r*r*(r*i+3*a*n)}function g(t,e,n,i){var r=1-i;return r*(r*t+2*i*e)+i*i*n}e.cubicAt=p,e.cubicDerivativeAt=function(t,e,n,i,r){var a=1-r;return 3*(((e-t)*a+2*(n-e)*r)*a+(i-n)*r*r)},e.cubicRootAt=function(t,e,n,i,r,a){var u=i+3*(e-n)-t,h=3*(n-2*e+t),c=3*(e-t),f=t-r,p=h*h-3*u*c,g=h*c-9*u*f,v=c*c-3*h*f,m=0;if(d(p)&&d(g)){if(d(h))a[0]=0;else(D=-c/h)>=0&&D<=1&&(a[m++]=D)}else{var y=g*g-4*p*v;if(d(y)){var _=g/p,x=-_/2;(D=-h/u+_)>=0&&D<=1&&(a[m++]=D),x>=0&&x<=1&&(a[m++]=x)}else if(y>0){var b=s(y),w=p*h+1.5*u*(-g+b),S=p*h+1.5*u*(-g-b);(D=(-h-((w=w<0?-o(-w,1/3):o(w,1/3))+(S=S<0?-o(-S,1/3):o(S,1/3))))/(3*u))>=0&&D<=1&&(a[m++]=D)}else{var M=(2*p*h-3*u*g)/(2*s(p*p*p)),T=Math.acos(M)/3,I=s(p),C=Math.cos(T),D=(-h-2*I*C)/(3*u),A=(x=(-h+I*(C+l*Math.sin(T)))/(3*u),(-h+I*(C-l*Math.sin(T)))/(3*u));D>=0&&D<=1&&(a[m++]=D),x>=0&&x<=1&&(a[m++]=x),A>=0&&A<=1&&(a[m++]=A)}}return m},e.cubicExtrema=function(t,e,n,i,r){var a=6*n-12*e+6*t,o=9*e+3*i-3*t-9*n,l=3*e-3*t,u=0;if(d(o)){if(f(a))(c=-l/a)>=0&&c<=1&&(r[u++]=c)}else{var h=a*a-4*o*l;if(d(h))r[0]=-a/(2*o);else if(h>0){var c,p=s(h),g=(-a-p)/(2*o);(c=(-a+p)/(2*o))>=0&&c<=1&&(r[u++]=c),g>=0&&g<=1&&(r[u++]=g)}}return u},e.cubicSubdivide=function(t,e,n,i,r,a){var o=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-o)*r+o,h=(l-s)*r+s,c=(h-u)*r+u;a[0]=t,a[1]=o,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=i},e.cubicProjectPoint=function(t,e,n,i,r,o,l,d,f,g,v){var m,y,_,x,b,w=.005,S=1/0;u[0]=f,u[1]=g;for(var M=0;M<1;M+=.05)h[0]=p(t,n,r,l,M),h[1]=p(e,i,o,d,M),(x=a(u,h))<S&&(m=M,S=x);S=1/0;for(var T=0;T<32&&!(w<1e-4);T++)y=m-w,_=m+w,h[0]=p(t,n,r,l,y),h[1]=p(e,i,o,d,y),x=a(h,u),y>=0&&x<S?(m=y,S=x):(c[0]=p(t,n,r,l,_),c[1]=p(e,i,o,d,_),b=a(c,u),_<=1&&b<S?(m=_,S=b):w*=.5);return v&&(v[0]=p(t,n,r,l,m),v[1]=p(e,i,o,d,m)),s(S)},e.quadraticAt=g,e.quadraticDerivativeAt=function(t,e,n,i){return 2*((1-i)*(e-t)+i*(n-e))},e.quadraticRootAt=function(t,e,n,i,r){var a=t-2*e+n,o=2*(e-t),l=t-i,u=0;if(d(a)){if(f(o))(c=-l/o)>=0&&c<=1&&(r[u++]=c)}else{var h=o*o-4*a*l;if(d(h))(c=-o/(2*a))>=0&&c<=1&&(r[u++]=c);else if(h>0){var c,p=s(h),g=(-o-p)/(2*a);(c=(-o+p)/(2*a))>=0&&c<=1&&(r[u++]=c),g>=0&&g<=1&&(r[u++]=g)}}return u},e.quadraticExtremum=function(t,e,n){var i=t+n-2*e;return 0===i?.5:(t-e)/i},e.quadraticSubdivide=function(t,e,n,i,r){var a=(e-t)*i+t,o=(n-e)*i+e,s=(o-a)*i+a;r[0]=t,r[1]=a,r[2]=s,r[3]=s,r[4]=o,r[5]=n},e.quadraticProjectPoint=function(t,e,n,i,r,o,l,d,f){var p,v=.005,m=1/0;u[0]=l,u[1]=d;for(var y=0;y<1;y+=.05){h[0]=g(t,n,r,y),h[1]=g(e,i,o,y),(w=a(u,h))<m&&(p=y,m=w)}m=1/0;for(var _=0;_<32&&!(v<1e-4);_++){var x=p-v,b=p+v;h[0]=g(t,n,r,x),h[1]=g(e,i,o,x);var w=a(h,u);if(x>=0&&w<m)p=x,m=w;else{c[0]=g(t,n,r,b),c[1]=g(e,i,o,b);var S=a(c,u);b<=1&&S<m?(p=b,m=S):v*=.5}}return f&&(f[0]=g(t,n,r,p),f[1]=g(e,i,o,p)),s(m)}},function(t,e,n){n(5).__DEV__;var i=n(1),r=i.makeInner,a=i.getDataItemValue,o=n(0),s=o.createHashMap,l=o.each,u=o.map,h=o.isArray,c=o.isString,d=o.isObject,f=o.isTypedArray,p=o.isArrayLike,g=o.extend,v=(o.assert,n(40)),m=n(41),y=m.SOURCE_FORMAT_ORIGINAL,_=m.SOURCE_FORMAT_ARRAY_ROWS,x=m.SOURCE_FORMAT_OBJECT_ROWS,b=m.SOURCE_FORMAT_KEYED_COLUMNS,w=m.SOURCE_FORMAT_UNKNOWN,S=m.SOURCE_FORMAT_TYPED_ARRAY,M=m.SERIES_LAYOUT_BY_ROW,T={Must:1,Might:2,Not:3},I=r();function C(t){if(t){var e=s();return u(t,(function(t,n){if(null==(t=g({},d(t)?t:{name:t})).name)return t;t.name+=\"\",null==t.displayName&&(t.displayName=t.name);var i=e.get(t.name);return i?t.name+=\"-\"+i.count++:e.set(t.name,{count:1}),t}))}}function D(t,e,n,i){if(null==i&&(i=1/0),e===M)for(var r=0;r<n.length&&r<i;r++)t(n[r]?n[r][0]:null,r);else{var a=n[0]||[];for(r=0;r<a.length&&r<i;r++)t(a[r],r)}}function A(t){var e=t.option;if(!e.data)return t.ecModel.getComponent(\"dataset\",e.datasetIndex||0)}function k(t,e,n,i,r,o){var s,l,u;if(f(t))return T.Not;if(i){var p=i[o];d(p)?(l=p.name,u=p.type):c(p)&&(l=p)}if(null!=u)return\"ordinal\"===u?T.Must:T.Not;if(e===_)if(n===M){for(var g=t[o],v=0;v<(g||[]).length&&v<5;v++)if(null!=(s=I(g[r+v])))return s}else for(v=0;v<t.length&&v<5;v++){var m=t[r+v];if(m&&null!=(s=I(m[o])))return s}else if(e===x){if(!l)return T.Not;for(v=0;v<t.length&&v<5;v++){if((w=t[v])&&null!=(s=I(w[l])))return s}}else if(e===b){if(!l)return T.Not;if(!(g=t[l])||f(g))return T.Not;for(v=0;v<g.length&&v<5;v++)if(null!=(s=I(g[v])))return s}else if(e===y)for(v=0;v<t.length&&v<5;v++){var w=t[v],S=a(w);if(!h(S))return T.Not;if(null!=(s=I(S[o])))return s}function I(t){var e=c(t);return null!=t&&isFinite(t)&&\"\"!==t?e?T.Might:T.Not:e&&\"-\"!==t?T.Must:void 0}return T.Not}e.BE_ORDINAL=T,e.detectSourceFormat=function(t){var e=t.option.source,n=w;if(f(e))n=S;else if(h(e)){0===e.length&&(n=_);for(var i=0,r=e.length;i<r;i++){var a=e[i];if(null!=a){if(h(a)){n=_;break}if(d(a)){n=x;break}}}}else if(d(e)){for(var o in e)if(e.hasOwnProperty(o)&&p(e[o])){n=b;break}}else if(null!=e)throw new Error(\"Invalid data\");I(t).sourceFormat=n},e.getSource=function(t){return I(t).source},e.resetSourceDefaulter=function(t){I(t).datasetMap=s()},e.prepareSource=function(t){var e=t.option,n=e.data,i=f(n)?S:y,r=!1,o=e.seriesLayoutBy,s=e.sourceHeader,u=e.dimensions,d=A(t);if(d){var p=d.option;n=p.source,i=I(d).sourceFormat,r=!0,o=o||p.seriesLayoutBy,null==s&&(s=p.sourceHeader),u=u||p.dimensions}var g=function(t,e,n,i,r){if(!t)return{dimensionsDefine:C(r)};var o,s;if(e===_)\"auto\"===i||null==i?D((function(t){null!=t&&\"-\"!==t&&(c(t)?null==s&&(s=1):s=0)}),n,t,10):s=i?1:0,r||1!==s||(r=[],D((function(t,e){r[e]=null!=t?t:\"\"}),n,t)),o=r?r.length:n===M?t.length:t[0]?t[0].length:null;else if(e===x)r||(r=function(t){var e,n=0;for(;n<t.length&&!(e=t[n++]););if(e){var i=[];return l(e,(function(t,e){i.push(e)})),i}}(t));else if(e===b)r||(r=[],l(t,(function(t,e){r.push(e)})));else if(e===y){var u=a(t[0]);o=h(u)&&u.length||1}return{startIndex:s,dimensionsDefine:C(r),dimensionsDetectCount:o}}(n,i,o,s,u);I(t).source=new v({data:n,fromDataset:r,seriesLayoutBy:o,sourceFormat:i,dimensionsDefine:g.dimensionsDefine,startIndex:g.startIndex,dimensionsDetectCount:g.dimensionsDetectCount,encodeDefine:e.encode})},e.makeSeriesEncodeForAxisCoordSys=function(t,e,n){var i={},r=A(e);if(!r||!t)return i;var a,o,s=[],u=[],h=e.ecModel,c=I(h).datasetMap,f=r.uid+\"_\"+n.seriesLayoutBy;t=t.slice(),l(t,(function(e,n){!d(e)&&(t[n]={name:e}),\"ordinal\"===e.type&&null==a&&(a=n,o=v(t[n])),i[e.name]=[]}));var p=c.get(f)||c.set(f,{categoryWayDim:o,valueWayDim:0});function g(t,e,n){for(var i=0;i<n;i++)t.push(e+i)}function v(t){var e=t.dimsDef;return e?e.length:1}return l(t,(function(t,e){var n=t.name,r=v(t);if(null==a){var o=p.valueWayDim;g(i[n],o,r),g(u,o,r),p.valueWayDim+=r}else if(a===e)g(i[n],0,r),g(s,0,r);else{o=p.categoryWayDim;g(i[n],o,r),g(u,o,r),p.categoryWayDim+=r}})),s.length&&(i.itemName=s),u.length&&(i.seriesName=u),i},e.makeSeriesEncodeForNameBased=function(t,e,n){var i={};if(!A(t))return i;var r,a=e.sourceFormat,o=e.dimensionsDefine;a!==x&&a!==b||l(o,(function(t,e){\"name\"===(d(t)?t.name:t)&&(r=e)}));var s=function(){for(var t={},i={},s=[],l=0,u=Math.min(5,n);l<u;l++){var h=k(e.data,a,e.seriesLayoutBy,o,e.startIndex,l);s.push(h);var c=h===T.Not;if(c&&null==t.v&&l!==r&&(t.v=l),(null==t.n||t.n===t.v||!c&&s[t.n]===T.Not)&&(t.n=l),d(t)&&s[t.n]!==T.Not)return t;c||(h===T.Might&&null==i.v&&l!==r&&(i.v=l),null!=i.n&&i.n!==i.v||(i.n=l))}function d(t){return null!=t.v&&null!=t.n}return d(t)?t:d(i)?i:null}();if(s){i.value=s.v;var u=null!=r?r:s.n;i.itemName=[u],i.seriesName=[u]}return i},e.guessOrdinal=function(t,e){return k(t.data,t.sourceFormat,t.seriesLayoutBy,t.dimensionsDefine,t.startIndex,e)}},function(t,e){var n=t.exports={version:\"2.6.12\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports={}},function(t,e){var n=Array.prototype.slice,i=function(t){this._$handlers={},this._$eventProcessor=t};function r(t,e,n,i,r,a){var o=t._$handlers;if(\"function\"==typeof n&&(r=i,i=n,n=null),!i||!e)return t;n=function(t,e){var n=t._$eventProcessor;return null!=e&&n&&n.normalizeQuery&&(e=n.normalizeQuery(e)),e}(t,n),o[e]||(o[e]=[]);for(var s=0;s<o[e].length;s++)if(o[e][s].h===i)return t;var l={h:i,one:a,query:n,ctx:r||t,callAtLast:i.zrEventfulCallAtLast},u=o[e].length-1,h=o[e][u];return h&&h.callAtLast?o[e].splice(u,0,l):o[e].push(l),t}i.prototype={constructor:i,one:function(t,e,n,i){return r(this,t,e,n,i,!0)},on:function(t,e,n,i){return r(this,t,e,n,i,!1)},isSilent:function(t){var e=this._$handlers;return!e[t]||!e[t].length},off:function(t,e){var n=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(n[t]){for(var i=[],r=0,a=n[t].length;r<a;r++)n[t][r].h!==e&&i.push(n[t][r]);n[t]=i}n[t]&&0===n[t].length&&delete n[t]}else delete n[t];return this},trigger:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var r=arguments,a=r.length;a>3&&(r=n.call(r,1));for(var o=e.length,s=0;s<o;){var l=e[s];if(i&&i.filter&&null!=l.query&&!i.filter(t,l.query))s++;else{switch(a){case 1:l.h.call(l.ctx);break;case 2:l.h.call(l.ctx,r[1]);break;case 3:l.h.call(l.ctx,r[1],r[2]);break;default:l.h.apply(l.ctx,r)}l.one?(e.splice(s,1),o--):s++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var r=arguments,a=r.length;a>4&&(r=n.call(r,1,r.length-1));for(var o=r[r.length-1],s=e.length,l=0;l<s;){var u=e[l];if(i&&i.filter&&null!=u.query&&!i.filter(t,u.query))l++;else{switch(a){case 1:u.h.call(o);break;case 2:u.h.call(o,r[1]);break;case 3:u.h.call(o,r[1],r[2]);break;default:u.h.apply(o,r)}u.one?(e.splice(l,1),s--):l++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this}};var a=i;t.exports=a},function(t,e,n){var i=n(0),r=n(101),a=n(12),o=function(t){for(var e in t=t||{},r.call(this,t),t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};o.prototype={constructor:o,isGroup:!0,type:\"group\",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,n=0;n<e.length;n++)if(e[n].name===t)return e[n]},childCount:function(){return this._children.length},add:function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},addBefore:function(t,e){if(t&&t!==this&&t.parent!==this&&e&&e.parent===this){var n=this._children,i=n.indexOf(e);i>=0&&(n.splice(i,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,n=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof o&&t.addChildrenToStorage(e)),n&&n.refresh()},remove:function(t){var e=this.__zr,n=this.__storage,r=this._children,a=i.indexOf(r,t);return a<0||(r.splice(a,1),t.parent=null,n&&(n.delFromStorage(t),t instanceof o&&t.delChildrenFromStorage(n)),e&&e.refresh()),this},removeAll:function(){var t,e,n=this._children,i=this.__storage;for(e=0;e<n.length;e++)t=n[e],i&&(i.delFromStorage(t),t instanceof o&&t.delChildrenFromStorage(i)),t.parent=null;return n.length=0,this},eachChild:function(t,e){for(var n=this._children,i=0;i<n.length;i++){var r=n[i];t.call(e,r,i)}return this},traverse:function(t,e){for(var n=0;n<this._children.length;n++){var i=this._children[n];t.call(e,i),\"group\"===i.type&&i.traverse(t,e)}return this},addChildrenToStorage:function(t){for(var e=0;e<this._children.length;e++){var n=this._children[e];t.addToStorage(n),n instanceof o&&n.addChildrenToStorage(t)}},delChildrenFromStorage:function(t){for(var e=0;e<this._children.length;e++){var n=this._children[e];t.delFromStorage(n),n instanceof o&&n.delChildrenFromStorage(t)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(t){for(var e=null,n=new a(0,0,0,0),i=t||this._children,r=[],o=0;o<i.length;o++){var s=i[o];if(!s.ignore&&!s.invisible){var l=s.getBoundingRect(),u=s.getLocalTransform(r);u?(n.copy(l),n.applyTransform(u),(e=e||n.clone()).union(n)):(e=e||l.clone()).union(l)}}return e||n}},i.inherits(o,r);var s=o;t.exports=s},function(t,e,n){var i=n(0),r=i.createHashMap,a=i.isTypedArray,o=n(21).enableClassCheck,s=n(41),l=s.SOURCE_FORMAT_ORIGINAL,u=s.SERIES_LAYOUT_BY_COLUMN,h=s.SOURCE_FORMAT_UNKNOWN,c=s.SOURCE_FORMAT_TYPED_ARRAY,d=s.SOURCE_FORMAT_KEYED_COLUMNS;function f(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===d?{}:[]),this.sourceFormat=t.sourceFormat||h,this.seriesLayoutBy=t.seriesLayoutBy||u,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&r(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}f.seriesDataToSource=function(t){return new f({data:t,sourceFormat:a(t)?c:l,fromDataset:!1})},o(f);var p=f;t.exports=p},function(t,e){e.SOURCE_FORMAT_ORIGINAL=\"original\",e.SOURCE_FORMAT_ARRAY_ROWS=\"arrayRows\",e.SOURCE_FORMAT_OBJECT_ROWS=\"objectRows\",e.SOURCE_FORMAT_KEYED_COLUMNS=\"keyedColumns\",e.SOURCE_FORMAT_UNKNOWN=\"unknown\",e.SOURCE_FORMAT_TYPED_ARRAY=\"typedArray\",e.SERIES_LAYOUT_BY_COLUMN=\"column\",e.SERIES_LAYOUT_BY_ROW=\"row\"},function(t,e,n){n(5).__DEV__;var i=n(0),r=(i.isTypedArray,i.extend),a=(i.assert,i.each),o=i.isObject,s=n(1),l=s.getDataItemValue,u=s.isDataItemOption,h=n(3).parseDate,c=n(40),d=n(41),f=d.SOURCE_FORMAT_TYPED_ARRAY,p=d.SOURCE_FORMAT_ARRAY_ROWS,g=d.SOURCE_FORMAT_ORIGINAL,v=d.SOURCE_FORMAT_OBJECT_ROWS;function m(t,e){c.isInstance(t)||(t=c.seriesDataToSource(t)),this._source=t;var n=this._data=t.data,i=t.sourceFormat;i===f&&(this._offset=0,this._dimSize=e,this._data=n);var a=_[i===p?i+\"_\"+t.seriesLayoutBy:i];r(this,a)}var y=m.prototype;y.pure=!1,y.persistent=!0,y.getSource=function(){return this._source};var _={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:w},arrayRows_row:{pure:!0,count:function(){var t=this._data[0];return t?Math.max(0,t.length-this._source.startIndex):0},getItem:function(t){t+=this._source.startIndex;for(var e=[],n=this._data,i=0;i<n.length;i++){var r=n[i];e.push(r?r[t]:null)}return e},appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: \"row\".')}},objectRows:{pure:!0,count:x,getItem:b,appendData:w},keyedColumns:{pure:!0,count:function(){var t=this._source.dimensionsDefine[0].name,e=this._data[t];return e?e.length:0},getItem:function(t){for(var e=[],n=this._source.dimensionsDefine,i=0;i<n.length;i++){var r=this._data[n[i].name];e.push(r?r[t]:null)}return e},appendData:function(t){var e=this._data;a(t,(function(t,n){for(var i=e[n]||(e[n]=[]),r=0;r<(t||[]).length;r++)i.push(t[r])}))}},original:{count:x,getItem:b,appendData:w},typedArray:{persistent:!1,pure:!0,count:function(){return this._data?this._data.length/this._dimSize:0},getItem:function(t,e){t-=this._offset,e=e||[];for(var n=this._dimSize*t,i=0;i<this._dimSize;i++)e[i]=this._data[n+i];return e},appendData:function(t){this._data=t},clean:function(){this._offset+=this.count(),this._data=null}}};function x(){return this._data.length}function b(t){return this._data[t]}function w(t){for(var e=0;e<t.length;e++)this._data.push(t[e])}var S={arrayRows:M,objectRows:function(t,e,n,i){return null!=n?t[i]:t},keyedColumns:M,original:function(t,e,n,i){var r=l(t);return null!=n&&r instanceof Array?r[n]:r},typedArray:M};function M(t,e,n,i){return null!=n?t[n]:t}var T={arrayRows:I,objectRows:function(t,e,n,i){return C(t[e],this._dimensionInfos[e])},keyedColumns:I,original:function(t,e,n,i){var r=t&&(null==t.value?t:t.value);return!this._rawData.pure&&u(t)&&(this.hasItemOption=!0),C(r instanceof Array?r[i]:r,this._dimensionInfos[e])},typedArray:function(t,e,n,i){return t[i]}};function I(t,e,n,i){return C(t[i],this._dimensionInfos[e])}function C(t,e){var n=e&&e.type;if(\"ordinal\"===n){var i=e&&e.ordinalMeta;return i?i.parseAndCollect(t):t}return\"time\"===n&&\"number\"!=typeof t&&null!=t&&\"-\"!==t&&(t=+h(t)),null==t||\"\"===t?NaN:+t}e.DefaultDataProvider=m,e.defaultDimValueGetters=T,e.retrieveRawValue=function(t,e,n){if(t){var i=t.getRawDataItem(e);if(null!=i){var r,a,o=t.getProvider().getSource().sourceFormat,s=t.getDimensionInfo(n);return s&&(r=s.name,a=s.index),S[o](i,e,a,r)}}},e.retrieveRawAttr=function(t,e,n){if(t){var i=t.getProvider().getSource().sourceFormat;if(i===g||i===v){var r=t.getRawDataItem(e);return i!==g||o(r)||(r=null),r?r[n]:void 0}}}},function(t,e,n){n(5).__DEV__;var i=n(0),r=n(230),a=n(85),o=n(59),s=n(3),l=n(232),u=l.prepareLayoutBarSeries,h=l.makeColumnLayout,c=l.retrieveColumnLayout,d=n(12);function f(t,e){var n,r,a,o=t.type,l=e.getMin(),d=e.getMax(),f=t.getExtent();\"ordinal\"===o?n=e.getCategories().length:(r=e.get(\"boundaryGap\"),i.isArray(r)||(r=[r||0,r||0]),\"boolean\"==typeof r[0]&&(r=[0,0]),r[0]=s.parsePercent(r[0],1),r[1]=s.parsePercent(r[1],1),a=f[1]-f[0]||Math.abs(f[0])),\"dataMin\"===l?l=f[0]:\"function\"==typeof l&&(l=l({min:f[0],max:f[1]})),\"dataMax\"===d?d=f[1]:\"function\"==typeof d&&(d=d({min:f[0],max:f[1]}));var p=null!=l,g=null!=d;null==l&&(l=\"ordinal\"===o?n?0:NaN:f[0]-r[0]*a),null==d&&(d=\"ordinal\"===o?n?n-1:NaN:f[1]+r[1]*a),(null==l||!isFinite(l))&&(l=NaN),(null==d||!isFinite(d))&&(d=NaN),t.setBlank(i.eqNaN(l)||i.eqNaN(d)||\"ordinal\"===o&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(l>0&&d>0&&!p&&(l=0),l<0&&d<0&&!g&&(d=0));var v=e.ecModel;if(v&&\"time\"===o){var m,y=u(\"bar\",v);if(i.each(y,(function(t){m|=t.getBaseAxis()===e.axis})),m){var _=h(y),x=function(t,e,n,r){var a=n.axis.getExtent(),o=a[1]-a[0],s=c(r,n.axis);if(void 0===s)return{min:t,max:e};var l=1/0;i.each(s,(function(t){l=Math.min(t.offset,l)}));var u=-1/0;i.each(s,(function(t){u=Math.max(t.offset+t.width,u)})),l=Math.abs(l),u=Math.abs(u);var h=l+u,d=e-t,f=d/(1-(l+u)/o)-d;return{min:t-=f*(l/h),max:e+=f*(u/h)}}(l,d,e,_);l=x.min,d=x.max}}return{extent:[l,d],fixMin:p,fixMax:g}}function p(t){var e,n=t.getLabelModel().get(\"formatter\"),i=\"category\"===t.type?t.scale.getExtent()[0]:null;return\"string\"==typeof n?(e=n,n=function(n){return n=t.scale.getLabel(n),e.replace(\"{value}\",null!=n?n:\"\")}):\"function\"==typeof n?function(e,r){return null!=i&&(r=e-i),n(g(t,e),r)}:function(e){return t.scale.getLabel(e)}}function g(t,e){return\"category\"===t.type?t.scale.getLabel(e):e}function v(t){var e=t.get(\"interval\");return null==e?\"auto\":e}n(233),n(234),e.getScaleExtent=f,e.niceScaleExtent=function(t,e){var n=f(t,e),i=n.extent,r=e.get(\"splitNumber\");\"log\"===t.type&&(t.base=e.get(\"logBase\"));var a=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:r,fixMin:n.fixMin,fixMax:n.fixMax,minInterval:\"interval\"===a||\"time\"===a?e.get(\"minInterval\"):null,maxInterval:\"interval\"===a||\"time\"===a?e.get(\"maxInterval\"):null});var o=e.get(\"interval\");null!=o&&t.setInterval&&t.setInterval(o)},e.createScaleByModel=function(t,e){if(e=e||t.get(\"type\"))switch(e){case\"category\":return new r(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case\"value\":return new a;default:return(o.getClass(e)||a).create(t)}},e.ifAxisCrossZero=function(t){var e=t.scale.getExtent(),n=e[0],i=e[1];return!(n>0&&i>0||n<0&&i<0)},e.makeLabelFormatter=p,e.getAxisRawValue=g,e.estimateLabelUnionRect=function(t){var e=t.model,n=t.scale;if(e.get(\"axisLabel.show\")&&!n.isBlank()){var i,r,a=\"category\"===t.type,o=n.getExtent();r=a?n.count():(i=n.getTicks()).length;var s,l,u,h,c,f,g,v,m,y=t.getLabelModel(),_=p(t),x=1;r>40&&(x=Math.ceil(r/40));for(var b=0;b<r;b+=x){var w=_(i?i[b]:o[0]+b),S=y.getTextRect(w),M=(l=S,u=y.get(\"rotate\")||0,h=void 0,c=void 0,f=void 0,g=void 0,v=void 0,m=void 0,void 0,h=u*Math.PI/180,c=l.plain(),f=c.width,g=c.height,v=f*Math.abs(Math.cos(h))+Math.abs(g*Math.sin(h)),m=f*Math.abs(Math.sin(h))+Math.abs(g*Math.cos(h)),new d(c.x,c.y,v,m));s?s.union(M):s=M}return s}},e.getOptionCategoryInterval=v,e.shouldShowAllLabels=function(t){return\"category\"===t.type&&0===v(t.getLabelModel())}},function(t,e,n){var i=n(0),r=n(30),a=n(3).linearMap,o=i.each,s=i.isObject,l=function(t){var e=t.mappingMethod,n=t.type,r=this.option=i.clone(t);this.type=n,this.mappingMethod=e,this._normalizeData=_[e];var a=u[n];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._doMap=a._doMap[e],\"piecewise\"===e?(h(r),function(t){var e=t.pieceList;t.hasSpecialVisual=!1,i.each(e,(function(e,n){e.originIndex=n,null!=e.visual&&(t.hasSpecialVisual=!0)}))}(r)):\"category\"===e?r.categories?function(t){var e=t.categories,n=t.visual,r=t.categoryMap={};if(o(e,(function(t,e){r[t]=e})),!i.isArray(n)){var a=[];i.isObject(n)?o(n,(function(t,e){var n=r[e];a[null!=n?n:-1]=t})):a[-1]=n,n=y(t,a)}for(var s=e.length-1;s>=0;s--)null==n[s]&&(delete r[e[s]],e.pop())}(r):h(r,!0):(i.assert(\"linear\"!==e||r.dataExtent),h(r))};l.prototype={constructor:l,mapValueToVisual:function(t){var e=this._normalizeData(t);return this._doMap(e,t)},getNormalizer:function(){return i.bind(this._normalizeData,this)}};var u=l.visualHandlers={color:{applyVisual:f(\"color\"),getColorMapper:function(){var t=this.option;return i.bind(\"category\"===t.mappingMethod?function(t,e){return!e&&(t=this._normalizeData(t)),p.call(this,t)}:function(e,n,i){var a=!!i;return!n&&(e=this._normalizeData(e)),i=r.fastLerp(e,t.parsedVisual,i),a?i:r.stringify(i,\"rgba\")},this)},_doMap:{linear:function(t){return r.stringify(r.fastLerp(t,this.option.parsedVisual),\"rgba\")},category:p,piecewise:function(t,e){var n=m.call(this,e);return null==n&&(n=r.stringify(r.fastLerp(t,this.option.parsedVisual),\"rgba\")),n},fixed:g}},colorHue:c((function(t,e){return r.modifyHSL(t,e)})),colorSaturation:c((function(t,e){return r.modifyHSL(t,null,e)})),colorLightness:c((function(t,e){return r.modifyHSL(t,null,null,e)})),colorAlpha:c((function(t,e){return r.modifyAlpha(t,e)})),opacity:{applyVisual:f(\"opacity\"),_doMap:v([0,1])},liftZ:{applyVisual:f(\"liftZ\"),_doMap:{linear:g,category:g,piecewise:g,fixed:g}},symbol:{applyVisual:function(t,e,n){var r=this.mapValueToVisual(t);if(i.isString(r))n(\"symbol\",r);else if(s(r))for(var a in r)r.hasOwnProperty(a)&&n(a,r[a])},_doMap:{linear:d,category:p,piecewise:function(t,e){var n=m.call(this,e);return null==n&&(n=d.call(this,t)),n},fixed:g}},symbolSize:{applyVisual:f(\"symbolSize\"),_doMap:v([0,1])}};function h(t,e){var n=t.visual,r=[];i.isObject(n)?o(n,(function(t){r.push(t)})):null!=n&&r.push(n);e||1!==r.length||{color:1,symbol:1}.hasOwnProperty(t.type)||(r[1]=r[0]),y(t,r)}function c(t){return{applyVisual:function(e,n,i){e=this.mapValueToVisual(e),i(\"color\",t(n(\"color\"),e))},_doMap:v([0,1])}}function d(t){var e=this.option.visual;return e[Math.round(a(t,[0,1],[0,e.length-1],!0))]||{}}function f(t){return function(e,n,i){i(t,this.mapValueToVisual(e))}}function p(t){var e=this.option.visual;return e[this.option.loop&&-1!==t?t%e.length:t]}function g(){return this.option.visual[0]}function v(t){return{linear:function(e){return a(e,t,this.option.visual,!0)},category:p,piecewise:function(e,n){var i=m.call(this,n);return null==i&&(i=a(e,t,this.option.visual,!0)),i},fixed:g}}function m(t){var e=this.option,n=e.pieceList;if(e.hasSpecialVisual){var i=n[l.findPieceIndex(t,n)];if(i&&i.visual)return i.visual[this.type]}}function y(t,e){return t.visual=e,\"color\"===t.type&&(t.parsedVisual=i.map(e,(function(t){return r.parse(t)}))),e}var _={linear:function(t){return a(t,this.option.dataExtent,[0,1],!0)},piecewise:function(t){var e=this.option.pieceList,n=l.findPieceIndex(t,e,!0);if(null!=n)return a(n,[0,e.length-1],[0,1],!0)},category:function(t){var e=this.option.categories?this.option.categoryMap[t]:t;return null==e?-1:e},fixed:i.noop};function x(t,e,n){return t?e<=n:e<n}l.listVisualTypes=function(){var t=[];return i.each(u,(function(e,n){t.push(n)})),t},l.addVisualHandler=function(t,e){u[t]=e},l.isValidType=function(t){return u.hasOwnProperty(t)},l.eachVisual=function(t,e,n){i.isObject(t)?i.each(t,e,n):e.call(n,t)},l.mapVisual=function(t,e,n){var r,a=i.isArray(t)?[]:i.isObject(t)?{}:(r=!0,null);return l.eachVisual(t,(function(t,i){var o=e.call(n,t,i);r?a=o:a[i]=o})),a},l.retrieveVisuals=function(t){var e,n={};return t&&o(u,(function(i,r){t.hasOwnProperty(r)&&(n[r]=t[r],e=!0)})),e?n:null},l.prepareVisualTypes=function(t){if(s(t)){var e=[];o(t,(function(t,n){e.push(n)})),t=e}else{if(!i.isArray(t))return[];t=t.slice()}return t.sort((function(t,e){return\"color\"===e&&\"color\"!==t&&0===t.indexOf(\"color\")?1:-1})),t},l.dependsOn=function(t,e){return\"color\"===e?!(!t||0!==t.indexOf(e)):t===e},l.findPieceIndex=function(t,e,n){for(var i,r=1/0,a=0,o=e.length;a<o;a++){var s=e[a].value;if(null!=s){if(s===t||\"string\"==typeof s&&s===t+\"\")return a;n&&c(s,a)}}for(a=0,o=e.length;a<o;a++){var l=e[a],u=l.interval,h=l.close;if(u){if(u[0]===-1/0){if(x(h[1],t,u[1]))return a}else if(u[1]===1/0){if(x(h[0],u[0],t))return a}else if(x(h[0],u[0],t)&&x(h[1],t,u[1]))return a;n&&c(u[0],a),n&&c(u[1],a)}}if(n)return t===1/0?e.length-1:t===-1/0?0:i;function c(e,n){var a=Math.abs(e-t);a<r&&(r=a,i=n)}};var b=l;t.exports=b},function(t,e,n){var i=n(17);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(33),r=n(13),a=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:i.version,mode:n(47)?\"pure\":\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})},function(t,e){t.exports=!1},function(t,e,n){var i=n(147);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(50);t.exports=function(t){return Object(i(t))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError(\"Can't call method on  \"+t);return t}},function(t,e,n){var i=n(62),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(91),r=n(65);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){var n=1;\"undefined\"!=typeof window&&(n=Math.max(window.devicePixelRatio||1,1));var i=n;e.debugMode=0,e.devicePixelRatio=i},function(t,e){e.ContextCachedBy={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},e.WILL_BE_RESTORED=9},function(t,e,n){var i=n(0),r=n(71),a=n(101),o=n(186);function s(t){for(var e in t=t||{},a.call(this,t),t)t.hasOwnProperty(e)&&\"style\"!==e&&(this[e]=t[e]);this.style=new r(t.style,this),this._rect=null,this.__clipPaths=null}s.prototype={constructor:s,type:\"displayable\",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:\"pointer\",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(t){},afterBrush:function(t){},brush:function(t,e){},getBoundingRect:function(){},contain:function(t,e){return this.rectContain(t,e)},traverse:function(t,e){t.call(e,this)},rectContain:function(t,e){var n=this.transformCoordToLocal(t,e);return this.getBoundingRect().contain(n[0],n[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate(\"style\",t)},attrKV:function(t,e){\"style\"!==t?a.prototype.attrKV.call(this,t,e):this.style.set(e)},setStyle:function(t,e){return this.style.set(t,e),this.dirty(!1),this},useStyle:function(t){return this.style=new r(t,this),this.dirty(!1),this},calculateTextPosition:null},i.inherits(s,a),i.mixin(s,o);var l=s;t.exports=l},function(t,e,n){var i=n(31),r=n(7),a=n(113),o=n(12),s=n(53).devicePixelRatio,l={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},u=[],h=[],c=[],d=[],f=Math.min,p=Math.max,g=Math.cos,v=Math.sin,m=Math.sqrt,y=Math.abs,_=\"undefined\"!=typeof Float32Array,x=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};x.prototype={constructor:x,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e,n){n=n||0,this._ux=y(n/s/t)||0,this._uy=y(n/s/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(l.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var n=y(t-this._xi)>this._ux||y(e-this._yi)>this._uy||this._len<5;return this.addData(l.L,t,e),this._ctx&&n&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),n&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,n,i,r,a){return this.addData(l.C,t,e,n,i,r,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,n,i,r,a):this._ctx.bezierCurveTo(t,e,n,i,r,a)),this._xi=r,this._yi=a,this},quadraticCurveTo:function(t,e,n,i){return this.addData(l.Q,t,e,n,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,n,i):this._ctx.quadraticCurveTo(t,e,n,i)),this._xi=n,this._yi=i,this},arc:function(t,e,n,i,r,a){return this.addData(l.A,t,e,n,n,i,r-i,0,a?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,a),this._xi=g(r)*n+t,this._yi=v(r)*n+e,this},arcTo:function(t,e,n,i,r){return this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},rect:function(t,e,n,i){return this._ctx&&this._ctx.rect(t,e,n,i),this.addData(l.R,t,e,n,i),this},closePath:function(){this.addData(l.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,n),t.closePath()),this._xi=e,this._yi=n,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,n=0;n<t.length;n++)e+=t[n];this._dashSum=e}return this},setLineDashOffset:function(t){return this._dashOffset=t,this},len:function(){return this._len},setData:function(t){var e=t.length;this.data&&this.data.length===e||!_||(this.data=new Float32Array(e));for(var n=0;n<e;n++)this.data[n]=t[n];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,n=0,i=this._len,r=0;r<e;r++)n+=t[r].len();_&&this.data instanceof Float32Array&&(this.data=new Float32Array(i+n));for(r=0;r<e;r++)for(var a=t[r].data,o=0;o<a.length;o++)this.data[i++]=a[o];this._len=i},addData:function(t){if(this._saveData){var e=this.data;this._len+arguments.length>e.length&&(this._expandData(),e=this.data);for(var n=0;n<arguments.length;n++)e[this._len++]=arguments[n];this._prevCmd=t}},_expandData:function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e<this._len;e++)t[e]=this.data[e];this.data=t}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(t,e){var n,i,r=this._dashSum,a=this._dashOffset,o=this._lineDash,s=this._ctx,l=this._xi,u=this._yi,h=t-l,c=e-u,d=m(h*h+c*c),g=l,v=u,y=o.length;for(a<0&&(a=r+a),g-=(a%=r)*(h/=d),v-=a*(c/=d);h>0&&g<=t||h<0&&g>=t||0===h&&(c>0&&v<=e||c<0&&v>=e);)g+=h*(n=o[i=this._dashIdx]),v+=c*n,this._dashIdx=(i+1)%y,h>0&&g<l||h<0&&g>l||c>0&&v<u||c<0&&v>u||s[i%2?\"moveTo\":\"lineTo\"](h>=0?f(g,t):p(g,t),c>=0?f(v,e):p(v,e));h=g-t,c=v-e,this._dashOffset=-m(h*h+c*c)},_dashedBezierTo:function(t,e,n,r,a,o){var s,l,u,h,c,d=this._dashSum,f=this._dashOffset,p=this._lineDash,g=this._ctx,v=this._xi,y=this._yi,_=i.cubicAt,x=0,b=this._dashIdx,w=p.length,S=0;for(f<0&&(f=d+f),f%=d,s=0;s<1;s+=.1)l=_(v,t,n,a,s+.1)-_(v,t,n,a,s),u=_(y,e,r,o,s+.1)-_(y,e,r,o,s),x+=m(l*l+u*u);for(;b<w&&!((S+=p[b])>f);b++);for(s=(S-f)/x;s<=1;)h=_(v,t,n,a,s),c=_(y,e,r,o,s),b%2?g.moveTo(h,c):g.lineTo(h,c),s+=p[b]/x,b=(b+1)%w;b%2!=0&&g.lineTo(a,o),l=a-h,u=o-c,this._dashOffset=-m(l*l+u*u)},_dashedQuadraticTo:function(t,e,n,i){var r=n,a=i;n=(n+2*t)/3,i=(i+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,n,i,r,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,_&&(this.data=new Float32Array(t)))},getBoundingRect:function(){u[0]=u[1]=c[0]=c[1]=Number.MAX_VALUE,h[0]=h[1]=d[0]=d[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,n=0,i=0,s=0,f=0;f<t.length;){var p=t[f++];switch(1===f&&(i=e=t[f],s=n=t[f+1]),p){case l.M:e=i=t[f++],n=s=t[f++],c[0]=i,c[1]=s,d[0]=i,d[1]=s;break;case l.L:a.fromLine(e,n,t[f],t[f+1],c,d),e=t[f++],n=t[f++];break;case l.C:a.fromCubic(e,n,t[f++],t[f++],t[f++],t[f++],t[f],t[f+1],c,d),e=t[f++],n=t[f++];break;case l.Q:a.fromQuadratic(e,n,t[f++],t[f++],t[f],t[f+1],c,d),e=t[f++],n=t[f++];break;case l.A:var m=t[f++],y=t[f++],_=t[f++],x=t[f++],b=t[f++],w=t[f++]+b;f+=1;var S=1-t[f++];1===f&&(i=g(b)*_+m,s=v(b)*x+y),a.fromArc(m,y,_,x,b,w,S,c,d),e=g(w)*_+m,n=v(w)*x+y;break;case l.R:i=e=t[f++],s=n=t[f++];var M=t[f++],T=t[f++];a.fromLine(i,s,i+M,s+T,c,d);break;case l.Z:e=i,n=s}r.min(u,u,c),r.max(h,h,d)}return 0===f&&(u[0]=u[1]=h[0]=h[1]=0),new o(u[0],u[1],h[0]-u[0],h[1]-u[1])},rebuildPath:function(t){for(var e,n,i,r,a,o,s=this.data,u=this._ux,h=this._uy,c=this._len,d=0;d<c;){var f=s[d++];switch(1===d&&(e=i=s[d],n=r=s[d+1]),f){case l.M:e=i=s[d++],n=r=s[d++],t.moveTo(i,r);break;case l.L:a=s[d++],o=s[d++],(y(a-i)>u||y(o-r)>h||d===c-1)&&(t.lineTo(a,o),i=a,r=o);break;case l.C:t.bezierCurveTo(s[d++],s[d++],s[d++],s[d++],s[d++],s[d++]),i=s[d-2],r=s[d-1];break;case l.Q:t.quadraticCurveTo(s[d++],s[d++],s[d++],s[d++]),i=s[d-2],r=s[d-1];break;case l.A:var p=s[d++],m=s[d++],_=s[d++],x=s[d++],b=s[d++],w=s[d++],S=s[d++],M=s[d++],T=_>x?_:x,I=_>x?1:_/x,C=_>x?x/_:1,D=b+w;Math.abs(_-x)>.001?(t.translate(p,m),t.rotate(S),t.scale(I,C),t.arc(0,0,T,b,D,1-M),t.scale(1/I,1/C),t.rotate(-S),t.translate(-p,-m)):t.arc(p,m,T,b,D,1-M),1===d&&(e=g(b)*_+p,n=v(b)*x+m),i=g(D)*_+p,r=v(D)*x+m;break;case l.R:e=i=s[d],n=r=s[d+1],t.rect(s[d++],s[d++],s[d++],s[d++]);break;case l.Z:t.closePath(),i=e,r=n}}}},x.CMD=l;var b=x;t.exports=b},function(t,e,n){var i=n(0),r=n(21).parseClassType,a=0;e.getUID=function(t){return[t||\"\",a++,Math.random().toFixed(5)].join(\"_\")},e.enableSubTypeDefaulter=function(t){var e={};return t.registerSubTypeDefaulter=function(t,n){t=r(t),e[t.main]=n},t.determineSubType=function(n,i){var a=i.type;if(!a){var o=r(n).main;t.hasSubTypes(n)&&e[o]&&(a=e[o](i))}return a},t},e.enableTopologicalTravel=function(t,e){function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}t.topologicalTravel=function(t,r,a,o){if(t.length){var s=function(t){var r={},a=[];return i.each(t,(function(o){var s=n(r,o),l=function(t,e){var n=[];return i.each(t,(function(t){i.indexOf(e,t)>=0&&n.push(t)})),n}(s.originalDeps=e(o),t);s.entryCount=l.length,0===s.entryCount&&a.push(o),i.each(l,(function(t){i.indexOf(s.predecessor,t)<0&&s.predecessor.push(t);var e=n(r,t);i.indexOf(e.successor,t)<0&&e.successor.push(o)}))})),{graph:r,noEntryList:a}}(r),l=s.graph,u=s.noEntryList,h={};for(i.each(t,(function(t){h[t]=!0}));u.length;){var c=u.pop(),d=l[c],f=!!h[c];f&&(a.call(o,c,d.originalDeps.slice()),delete h[c]),i.each(d.successor,f?g:p)}i.each(h,(function(){throw new Error(\"Circle dependency may exists\")}))}function p(t){l[t].entryCount--,0===l[t].entryCount&&u.push(t)}function g(t){h[t]=!0,p(t)}}}},function(t,e,n){var i=n(0),r={};function a(){this._coordinateSystems=[]}a.prototype={constructor:a,create:function(t,e){var n=[];i.each(r,(function(i,r){var a=i.create(t,e);n=n.concat(a||[])})),this._coordinateSystems=n},update:function(t,e){i.each(this._coordinateSystems,(function(n){n.update&&n.update(t,e)}))},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},a.register=function(t,e){r[t]=e},a.get=function(t){return r[t]};var o=a;t.exports=o},function(t,e,n){var i=n(21);function r(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}r.prototype.parse=function(t){return t},r.prototype.getSetting=function(t){return this._setting[t]},r.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},r.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},r.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},r.prototype.unionExtent=function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1])},r.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},r.prototype.isBlank=function(){return this._isBlank},r.prototype.setBlank=function(t){this._isBlank=t},r.prototype.getLabel=null,i.enableClassExtend(r),i.enableClassManagement(r,{registerWhenExtend:!0});var a=r;t.exports=a},function(t,e,n){var i=n(0),r=n(4),a=n(12),o=n(15).calculateTextPosition,s=r.extendShape({type:\"triangle\",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,a=e.height/2;t.moveTo(n,i-a),t.lineTo(n+r,i+a),t.lineTo(n-r,i+a),t.closePath()}}),l=r.extendShape({type:\"diamond\",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,a=e.height/2;t.moveTo(n,i-a),t.lineTo(n+r,i),t.lineTo(n,i+a),t.lineTo(n-r,i),t.closePath()}}),u=r.extendShape({type:\"pin\",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.x,i=e.y,r=e.width/5*3,a=Math.max(r,e.height),o=r/2,s=o*o/(a-o),l=i-a+o+s,u=Math.asin(s/o),h=Math.cos(u)*o,c=Math.sin(u),d=Math.cos(u),f=.6*o,p=.7*o;t.moveTo(n-h,l+s),t.arc(n,l,o,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(n+h-c*f,l+s+d*f,n,i-p,n,i),t.bezierCurveTo(n,i-p,n-h+c*f,l+s+d*f,n-h,l+s),t.closePath()}}),h=r.extendShape({type:\"arrow\",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.height,i=e.width,r=e.x,a=e.y,o=i/3*2;t.moveTo(r,a),t.lineTo(r+o,a+n),t.lineTo(r,a+n/4*3),t.lineTo(r-o,a+n),t.lineTo(r,a),t.closePath()}}),c={line:r.Line,rect:r.Rect,roundRect:r.Rect,square:r.Rect,circle:r.Circle,diamond:l,pin:u,arrow:h,triangle:s},d={line:function(t,e,n,i,r){r.x1=t,r.y1=e+i/2,r.x2=t+n,r.y2=e+i/2},rect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i},roundRect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i,r.r=Math.min(n,i)/4},square:function(t,e,n,i,r){var a=Math.min(n,i);r.x=t,r.y=e,r.width=a,r.height=a},circle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.r=Math.min(n,i)/2},diamond:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i},pin:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},arrow:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},triangle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i}},f={};i.each(c,(function(t,e){f[e]=new t}));var p=r.extendShape({type:\"symbol\",shape:{symbolType:\"\",x:0,y:0,width:0,height:0},calculateTextPosition:function(t,e,n){var i=o(t,e,n),r=this.shape;return r&&\"pin\"===r.symbolType&&\"inside\"===e.textPosition&&(i.y=n.y+.4*n.height),i},buildPath:function(t,e,n){var i=e.symbolType;if(\"none\"!==i){var r=f[i];r||(r=f[i=\"rect\"]),d[i](e.x,e.y,e.width,e.height,r.shape),r.buildPath(t,r.shape,n)}}});function g(t,e){if(\"image\"!==this.type){var n=this.style,i=this.shape;i&&\"line\"===i.symbolType?n.stroke=t:this.__isEmptyBrush?(n.stroke=t,n.fill=e||\"#fff\"):(n.fill&&(n.fill=t),n.stroke&&(n.stroke=t)),this.dirty(!1)}}e.createSymbol=function(t,e,n,i,o,s,l){var u,h=0===t.indexOf(\"empty\");return h&&(t=t.substr(5,1).toLowerCase()+t.substr(6)),(u=0===t.indexOf(\"image://\")?r.makeImage(t.slice(8),new a(e,n,i,o),l?\"center\":\"cover\"):0===t.indexOf(\"path://\")?r.makePath(t.slice(7),{},new a(e,n,i,o),l?\"center\":\"cover\"):new p({shape:{symbolType:t,x:e,y:n,width:i,height:o}})).__isEmptyBrush=h,u.setColor=g,u.setColor(s),u}},function(t,e,n){var i=n(0),r=n(16),a=i.each,o=i.curry;function s(t,e){return\"all\"===t||i.isArray(t)&&i.indexOf(t,e)>=0||t===e}function l(t){var e=(t.ecModel.getComponent(\"axisPointer\")||{}).coordSysAxesInfo;return e&&e.axesInfo[h(t)]}function u(t){return!!t.get(\"handle.show\")}function h(t){return t.type+\"||\"+t.id}e.collect=function(t,e){var n={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return function(t,e,n){var l=e.getComponent(\"tooltip\"),c=e.getComponent(\"axisPointer\"),d=c.get(\"link\",!0)||[],f=[];a(n.getCoordinateSystems(),(function(n){if(n.axisPointerEnabled){var p=h(n.model),g=t.coordSysAxesInfo[p]={};t.coordSysMap[p]=n;var v=n.model.getModel(\"tooltip\",l);if(a(n.getAxes(),o(x,!1,null)),n.getTooltipAxes&&l&&v.get(\"show\")){var m=\"axis\"===v.get(\"trigger\"),y=\"cross\"===v.get(\"axisPointer.type\"),_=n.getTooltipAxes(v.get(\"axisPointer.axis\"));(m||y)&&a(_.baseAxes,o(x,!y||\"cross\",m)),y&&a(_.otherAxes,o(x,\"cross\",!1))}}function x(o,l,p){var m=p.model.getModel(\"axisPointer\",c),y=m.get(\"show\");if(y&&(\"auto\"!==y||o||u(m))){null==l&&(l=m.get(\"triggerTooltip\"));var _=(m=o?function(t,e,n,o,s,l){var u=e.getModel(\"axisPointer\"),h={};a([\"type\",\"snap\",\"lineStyle\",\"shadowStyle\",\"label\",\"animation\",\"animationDurationUpdate\",\"animationEasingUpdate\",\"z\"],(function(t){h[t]=i.clone(u.get(t))})),h.snap=\"category\"!==t.type&&!!l,\"cross\"===u.get(\"type\")&&(h.type=\"line\");var c=h.label||(h.label={});if(null==c.show&&(c.show=!1),\"cross\"===s){var d=u.get(\"label.show\");if(c.show=null==d||d,!l){var f=h.lineStyle=u.get(\"crossStyle\");f&&i.defaults(c,f.textStyle)}}return t.model.getModel(\"axisPointer\",new r(h,n,o))}(p,v,c,e,o,l):m).get(\"snap\"),x=h(p.model),b=l||_||\"category\"===p.type,w=t.axesInfo[x]={key:x,axis:p,coordSys:n,axisPointerModel:m,triggerTooltip:l,involveSeries:b,snap:_,useHandle:u(m),seriesModels:[]};g[x]=w,t.seriesInvolved|=b;var S=function(t,e){for(var n=e.model,i=e.dim,r=0;r<t.length;r++){var a=t[r]||{};if(s(a[i+\"AxisId\"],n.id)||s(a[i+\"AxisIndex\"],n.componentIndex)||s(a[i+\"AxisName\"],n.name))return r}}(d,p);if(null!=S){var M=f[S]||(f[S]={axesInfo:{}});M.axesInfo[x]=w,M.mapper=d[S].mapper,w.linkGroup=M}}}}))}(n,t,e),n.seriesInvolved&&function(t,e){e.eachSeries((function(e){var n=e.coordinateSystem,i=e.get(\"tooltip.trigger\",!0),r=e.get(\"tooltip.show\",!0);n&&\"none\"!==i&&!1!==i&&\"item\"!==i&&!1!==r&&!1!==e.get(\"axisPointer.show\",!0)&&a(t.coordSysAxesInfo[h(n.model)],(function(t){var i=t.axis;n.getAxis(i.dim)===i&&(t.seriesModels.push(e),null==t.seriesDataCount&&(t.seriesDataCount=0),t.seriesDataCount+=e.getData().count())}))}),this)}(n,t),n},e.fixValue=function(t){var e=l(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,a=n.get(\"status\"),o=n.get(\"value\");null!=o&&(o=i.parse(o));var s=u(n);null==a&&(r.status=s?\"show\":\"hide\");var h=i.getExtent().slice();h[0]>h[1]&&h.reverse(),(null==o||o>h[1])&&(o=h[1]),o<h[0]&&(o=h[0]),r.value=o,s&&(r.status=e.axis.scale.isBlank()?\"hide\":\"show\")}},e.getAxisInfo=l,e.getAxisPointerModel=function(t){var e=l(t);return e&&e.axisPointerModel},e.makeKey=h},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(14).f,r=n(20),a=n(10)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,a)&&i(t,a,{configurable:!0,value:e})}},function(t,e,n){var i=n(46)(\"keys\"),r=n(35);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(27),r=n(158),a=n(65),o=n(64)(\"IE_PROTO\"),s=function(){},l=function(){var t,e=n(87)(\"iframe\"),i=a.length;for(e.style.display=\"none\",n(94).appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),l=t.F;i--;)delete l.prototype[a[i]];return l()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=i(t),n=new s,s.prototype=null,n[o]=t):n=l(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(91),r=n(65).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(66),r=n(34),a=n(29),o=n(45),s=n(20),l=n(86),u=Object.getOwnPropertyDescriptor;e.f=n(18)?u:function(t,e){if(t=a(t),e=o(e,!0),l)try{return u(t,e)}catch(t){}if(s(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e){function n(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r<n&&i(t[r],t[r-1])<0;)r++;!function(t,e,n){n--;for(;e<n;){var i=t[e];t[e++]=t[n],t[n--]=i}}(t,e,r)}else for(;r<n&&i(t[r],t[r-1])>=0;)r++;return r-e}function i(t,e,n,i,r){for(i===e&&i++;i<n;i++){for(var a,o=t[i],s=e,l=i;s<l;)r(o,t[a=s+l>>>1])<0?l=a:s=a+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=o}}function r(t,e,n,i,r,a){var o=0,s=0,l=1;if(a(t,e[n+r])>0){for(s=i-r;l<s&&a(t,e[n+r+l])>0;)o=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),o+=r,l+=r}else{for(s=r+1;l<s&&a(t,e[n+r-l])<=0;)o=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}for(o++;o<l;){var h=o+(l-o>>>1);a(t,e[n+h])>0?o=h+1:l=h}return l}function a(t,e,n,i,r,a){var o=0,s=0,l=1;if(a(t,e[n+r])<0){for(s=r+1;l<s&&a(t,e[n+r-l])<0;)o=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}else{for(s=i-r;l<s&&a(t,e[n+r+l])>=0;)o=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),o+=r,l+=r}for(o++;o<l;){var h=o+(l-o>>>1);a(t,e[n+h])<0?l=h:o=h+1}return l}function o(t,e){var n,i,o,s=7,l=0;n=t.length;var u=[];function h(n){var h=i[n],c=o[n],d=i[n+1],f=o[n+1];o[n]=c+f,n===l-3&&(i[n+1]=i[n+2],o[n+1]=o[n+2]),l--;var p=a(t[d],t,h,c,0,e);h+=p,0!==(c-=p)&&0!==(f=r(t[h+c-1],t,d,f,f-1,e))&&(c<=f?function(n,i,o,l){var h=0;for(h=0;h<i;h++)u[h]=t[n+h];var c=0,d=o,f=n;if(t[f++]=t[d++],0==--l){for(h=0;h<i;h++)t[f+h]=u[c+h];return}if(1===i){for(h=0;h<l;h++)t[f+h]=t[d+h];return void(t[f+l]=u[c])}var p,g,v,m=s;for(;;){p=0,g=0,v=!1;do{if(e(t[d],u[c])<0){if(t[f++]=t[d++],g++,p=0,0==--l){v=!0;break}}else if(t[f++]=u[c++],p++,g=0,1==--i){v=!0;break}}while((p|g)<m);if(v)break;do{if(0!==(p=a(t[d],u,c,i,0,e))){for(h=0;h<p;h++)t[f+h]=u[c+h];if(f+=p,c+=p,(i-=p)<=1){v=!0;break}}if(t[f++]=t[d++],0==--l){v=!0;break}if(0!==(g=r(u[c],t,d,l,0,e))){for(h=0;h<g;h++)t[f+h]=t[d+h];if(f+=g,d+=g,0===(l-=g)){v=!0;break}}if(t[f++]=u[c++],1==--i){v=!0;break}m--}while(p>=7||g>=7);if(v)break;m<0&&(m=0),m+=2}if((s=m)<1&&(s=1),1===i){for(h=0;h<l;h++)t[f+h]=t[d+h];t[f+l]=u[c]}else{if(0===i)throw new Error;for(h=0;h<i;h++)t[f+h]=u[c+h]}}(h,c,d,f):function(n,i,o,l){var h=0;for(h=0;h<l;h++)u[h]=t[o+h];var c=n+i-1,d=l-1,f=o+l-1,p=0,g=0;if(t[f--]=t[c--],0==--i){for(p=f-(l-1),h=0;h<l;h++)t[p+h]=u[h];return}if(1===l){for(g=(f-=i)+1,p=(c-=i)+1,h=i-1;h>=0;h--)t[g+h]=t[p+h];return void(t[f]=u[d])}var v=s;for(;;){var m=0,y=0,_=!1;do{if(e(u[d],t[c])<0){if(t[f--]=t[c--],m++,y=0,0==--i){_=!0;break}}else if(t[f--]=u[d--],y++,m=0,1==--l){_=!0;break}}while((m|y)<v);if(_)break;do{if(0!==(m=i-a(u[d],t,n,i,i-1,e))){for(i-=m,g=(f-=m)+1,p=(c-=m)+1,h=m-1;h>=0;h--)t[g+h]=t[p+h];if(0===i){_=!0;break}}if(t[f--]=u[d--],1==--l){_=!0;break}if(0!==(y=l-r(t[c],u,0,l,l-1,e))){for(l-=y,g=(f-=y)+1,p=(d-=y)+1,h=0;h<y;h++)t[g+h]=u[p+h];if(l<=1){_=!0;break}}if(t[f--]=t[c--],0==--i){_=!0;break}v--}while(m>=7||y>=7);if(_)break;v<0&&(v=0),v+=2}(s=v)<1&&(s=1);if(1===l){for(g=(f-=i)+1,p=(c-=i)+1,h=i-1;h>=0;h--)t[g+h]=t[p+h];t[f]=u[d]}else{if(0===l)throw new Error;for(p=f-(l-1),h=0;h<l;h++)t[p+h]=u[h]}}(h,c,d,f))}i=[],o=[],this.mergeRuns=function(){for(;l>1;){var t=l-2;if(t>=1&&o[t-1]<=o[t]+o[t+1]||t>=2&&o[t-2]<=o[t]+o[t-1])o[t-1]<o[t+1]&&t--;else if(o[t]>o[t+1])break;h(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&o[t-1]<o[t+1]&&t--,h(t)}},this.pushRun=function(t,e){i[l]=t,o[l]=e,l+=1}}t.exports=function(t,e,r,a){r||(r=0),a||(a=t.length);var s=a-r;if(!(s<2)){var l=0;if(s<32)i(t,r,a,r+(l=n(t,r,a,e)),e);else{var u=new o(t,e),h=function(t){for(var e=0;t>=32;)e|=1&t,t>>=1;return t+e}(s);do{if((l=n(t,r,a,e))<h){var c=s;c>h&&(c=h),i(t,r,r+c,r+l,e),l=c}u.pushRun(r,l),u.mergeRuns(),s-=l,r+=l}while(0!==s);u.forceMergeRuns()}}}},function(t,e,n){var i=n(106),r=n(54).ContextCachedBy,a=[[\"shadowBlur\",0],[\"shadowOffsetX\",0],[\"shadowOffsetY\",0],[\"shadowColor\",\"#000\"],[\"lineCap\",\"butt\"],[\"lineJoin\",\"miter\"],[\"miterLimit\",10]],o=function(t){this.extendFrom(t,!1)};function s(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,a=null==e.y?0:e.y,o=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,a=a*n.height+n.y,o=o*n.height+n.y),i=isNaN(i)?0:i,r=isNaN(r)?1:r,a=isNaN(a)?0:a,o=isNaN(o)?0:o,t.createLinearGradient(i,a,r,o)}function l(t,e,n){var i=n.width,r=n.height,a=Math.min(i,r),o=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(o=o*i+n.x,s=s*r+n.y,l*=a),t.createRadialGradient(o,s,0,o,s,l)}for(var u=o.prototype={constructor:o,fill:\"#000\",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:\"#000\",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:\"inside\",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:\"transparent\",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:\"transparent\",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,n){var o=n&&n.style,s=!o||t.__attrCachedBy!==r.STYLE_BIND;t.__attrCachedBy=r.STYLE_BIND;for(var l=0;l<a.length;l++){var u=a[l],h=u[0];(s||this[h]!==o[h])&&(t[h]=i(t,h,this[h]||u[1]))}if((s||this.fill!==o.fill)&&(t.fillStyle=this.fill),(s||this.stroke!==o.stroke)&&(t.strokeStyle=this.stroke),(s||this.opacity!==o.opacity)&&(t.globalAlpha=null==this.opacity?1:this.opacity),(s||this.blend!==o.blend)&&(t.globalCompositeOperation=this.blend||\"source-over\"),this.hasStroke()){var c=this.lineWidth;t.lineWidth=c/(this.strokeNoScale&&e&&e.getLineScale?e.getLineScale():1)}},hasFill:function(){var t=this.fill;return null!=t&&\"none\"!==t},hasStroke:function(){var t=this.stroke;return null!=t&&\"none\"!==t&&this.lineWidth>0},extendFrom:function(t,e){if(t)for(var n in t)!t.hasOwnProperty(n)||!0!==e&&(!1===e?this.hasOwnProperty(n):null==t[n])||(this[n]=t[n])},set:function(t,e){\"string\"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,n){for(var i=(\"radial\"===e.type?l:s)(t,e,n),r=e.colorStops,a=0;a<r.length;a++)i.addColorStop(r[a].offset,r[a].color);return i}},h=0;h<a.length;h++){var c=a[h];c[0]in u||(u[c[0]]=c[1])}o.getGradient=u.getGradient;var d=o;t.exports=d},function(t,e,n){var i=n(55),r=n(12),a=n(0),o=n(73);function s(t){i.call(this,t)}s.prototype={constructor:s,type:\"image\",brush:function(t,e){var n=this.style,i=n.image;n.bind(t,this,e);var r=this._image=o.createOrUpdateImage(i,this._image,this,this.onload);if(r&&o.isImageReady(r)){var a=n.x||0,s=n.y||0,l=n.width,u=n.height,h=r.width/r.height;if(null==l&&null!=u?l=u*h:null==u&&null!=l?u=l/h:null==l&&null==u&&(l=r.width,u=r.height),this.setTransform(t),n.sWidth&&n.sHeight){var c=n.sx||0,d=n.sy||0;t.drawImage(r,c,d,n.sWidth,n.sHeight,a,s,l,u)}else if(n.sx&&n.sy){var f=l-(c=n.sx),p=u-(d=n.sy);t.drawImage(r,c,d,f,p,a,s,l,u)}else t.drawImage(r,a,s,l,u);null!=n.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))}},getBoundingRect:function(){var t=this.style;return this._rect||(this._rect=new r(t.x||0,t.y||0,t.width||0,t.height||0)),this._rect}},a.inherits(s,i);var l=s;t.exports=l},function(t,e,n){var i=new(n(104))(50);function r(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<t.pending.length;e++){var n=t.pending[e],i=n.cb;i&&i(this,n.cbPayload),n.hostEl.dirty()}t.pending.length=0}function a(t){return t&&t.width&&t.height}e.findExistImage=function(t){if(\"string\"==typeof t){var e=i.get(t);return e&&e.image}return t},e.createOrUpdateImage=function(t,e,n,o,s){if(t){if(\"string\"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var l=i.get(t),u={hostEl:n,cb:o,cbPayload:s};return l?!a(e=l.image)&&l.pending.push(u):((e=new Image).onload=e.onerror=r,i.put(t,e.__cachedImgObj={image:e,pending:[u]}),e.src=e.__zrImageSrc=t),e}return t}return e},e.isImageReady=a},function(t,e,n){var i=n(0);t.exports=function(t){for(var e=0;e<t.length;e++)t[e][1]||(t[e][1]=t[e][0]);return function(e,n,r){for(var a={},o=0;o<t.length;o++){var s=t[o][1];if(!(n&&i.indexOf(n,s)>=0||r&&i.indexOf(r,s)<0)){var l=e.getShallow(s);null!=l&&(a[t[o][0]]=l)}}return a}}},function(t,e,n){var i=n(55),r=n(0),a=n(15),o=n(109),s=n(54).ContextCachedBy,l=function(t){i.call(this,t)};l.prototype={constructor:l,type:\"text\",brush:function(t,e){var n=this.style;this.__dirty&&o.normalizeTextStyle(n,!0),n.fill=n.stroke=n.shadowBlur=n.shadowColor=n.shadowOffsetX=n.shadowOffsetY=null;var i=n.text;null!=i&&(i+=\"\"),o.needDrawText(i,n)?(this.setTransform(t),o.renderText(this,t,i,n,null,e),this.restoreTransform(t)):t.__attrCachedBy=s.NONE},getBoundingRect:function(){var t=this.style;if(this.__dirty&&o.normalizeTextStyle(t,!0),!this._rect){var e=t.text;null!=e?e+=\"\":e=\"\";var n=a.getBoundingRect(t.text+\"\",t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich);if(n.x+=t.x||0,n.y+=t.y||0,o.getStroke(t.textStroke,t.textStrokeWidth)){var i=t.textStrokeWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect}},r.inherits(l,i);var u=l;t.exports=u},function(t,e){var n=Math.round;function i(t,e,i){if(!e)return t;var r=n(2*t);return(r+n(e))%2==0?r/2:(r+(i?1:-1))/2}e.subPixelOptimizeLine=function(t,e,r){if(e){var a=e.x1,o=e.x2,s=e.y1,l=e.y2;t.x1=a,t.x2=o,t.y1=s,t.y2=l;var u=r&&r.lineWidth;u&&(n(2*a)===n(2*o)&&(t.x1=t.x2=i(a,u,!0)),n(2*s)===n(2*l)&&(t.y1=t.y2=i(s,u,!0)))}},e.subPixelOptimizeRect=function(t,e,n){if(e){var r=e.x,a=e.y,o=e.width,s=e.height;t.x=r,t.y=a,t.width=o,t.height=s;var l=n&&n.lineWidth;l&&(t.x=i(r,l,!0),t.y=i(a,l,!0),t.width=Math.max(i(r+o,l,!1)-t.x,0===o?0:1),t.height=Math.max(i(a+s,l,!1)-t.y,0===s?0:1))}},e.subPixelOptimize=i},function(t,e,n){var i=n(0),r=n(78),a=function(t,e,n,i,a,o){this.x=null==t?0:t,this.y=null==e?0:e,this.x2=null==n?1:n,this.y2=null==i?0:i,this.type=\"linear\",this.global=o||!1,r.call(this,a)};a.prototype={constructor:a},i.inherits(a,r);var o=a;t.exports=o},function(t,e){var n=function(t){this.colorStops=t||[]};n.prototype={constructor:n,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}};var i=n;t.exports=i},function(t,e,n){var i=n(0),r=(i.assert,i.isArray);n(5).__DEV__;function a(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0,this.context}var o=a.prototype;o.perform=function(t){var e,n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var a=this.context;a.data=a.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!i&&(e=this._plan(this.context));var o,s=d(this._modBy),u=this._modDataCount||0,h=d(t&&t.modBy),c=t&&t.modDataCount||0;function d(t){return!(t>=1)&&(t=1),t}s===h&&u===c||(e=\"reset\"),(this._dirty||\"reset\"===e)&&(this._dirty=!1,o=function(t,e){var n,i;t._dueIndex=t._outputDueEnd=t._dueEnd=0,t._settedOutputEnd=null,!e&&t._reset&&((n=t._reset(t.context))&&n.progress&&(i=n.forceFirstProgress,n=n.progress),r(n)&&!n.length&&(n=null));t._progress=n,t._modBy=t._modDataCount=null;var a=t._downstream;return a&&a.dirty(),i}(this,i)),this._modBy=h,this._modDataCount=c;var f=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var p=this._dueIndex,g=Math.min(null!=f?this._dueIndex+f:1/0,this._dueEnd);if(!i&&(o||p<g)){var v=this._progress;if(r(v))for(var m=0;m<v.length;m++)l(this,v[m],p,g,h,c);else l(this,v,p,g,h,c)}this._dueIndex=g;var y=null!=this._settedOutputEnd?this._settedOutputEnd:g;this._outputDueEnd=y}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var s=function(){var t,e,n,i,r,a={reset:function(l,u,h,c){e=l,t=u,n=h,i=c,r=Math.ceil(i/n),a.next=n>1&&i>0?s:o}};return a;function o(){return e<t?e++:null}function s(){var a=e%r*n+Math.ceil(e/r),o=e>=t?null:a<i?a:e;return e++,o}}();function l(t,e,n,i,r,a){s.reset(n,i,r,a),t._callingProgress=e,t._callingProgress({start:n,end:i,count:i-n,next:s.next},t.context)}o.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},o.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},o.pipe=function(t){(this._downstream!==t||this._dirty)&&(this._downstream=t,t._upstream=this,t.dirty())},o.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},o.getUpstream=function(){return this._upstream},o.getDownstream=function(){return this._downstream},o.setOutputEnd=function(t){this._outputDueEnd=this._settedOutputEnd=t},e.createTask=function(t){return new a(t)}},function(t,e){var n=\"\\0__throttleOriginMethod\",i=\"\\0__throttleRate\";function r(t,e,n){var i,r,a,o,s,l=0,u=0,h=null;function c(){u=(new Date).getTime(),h=null,t.apply(a,o||[])}e=e||0;var d=function(){i=(new Date).getTime(),a=this,o=arguments;var t=s||e,d=s||n;s=null,r=i-(d?l:u)-t,clearTimeout(h),d?h=setTimeout(c,t):r>=0?c():h=setTimeout(c,-r),l=i};return d.clear=function(){h&&(clearTimeout(h),h=null)},d.debounceNextCall=function(t){s=t},d}e.throttle=r,e.createOrUpdate=function(t,e,a,o){var s=t[e];if(s){var l=s[n]||s,u=s[\"\\0__throttleType\"];if(s[i]!==a||u!==o){if(null==a||!o)return t[e]=l;(s=t[e]=r(l,a,\"debounce\"===o))[n]=l,s[\"\\0__throttleType\"]=o,s[i]=a}return s}},e.clear=function(t,e){var i=t[e];i&&i[n]&&(t[e]=i[n])}},function(t,e,n){n(5).__DEV__;var i=n(0),r=n(16),a=n(228),o=n(40),s=n(42),l=s.defaultDimValueGetters,u=s.DefaultDataProvider,h=n(82).summarizeDimensions,c=n(130),d=i.isObject,f={float:\"undefined\"==typeof Float64Array?Array:Float64Array,int:\"undefined\"==typeof Int32Array?Array:Int32Array,ordinal:Array,number:Array,time:Array},p=\"undefined\"==typeof Uint32Array?Array:Uint32Array,g=\"undefined\"==typeof Int32Array?Array:Int32Array,v=\"undefined\"==typeof Uint16Array?Array:Uint16Array;function m(t){return t._rawCount>65535?p:v}var y=[\"hasItemOption\",\"_nameList\",\"_idList\",\"_invertedIndicesMap\",\"_rawData\",\"_chunkSize\",\"_chunkCount\",\"_dimValueGetter\",\"_count\",\"_rawCount\",\"_nameDimIdx\",\"_idDimIdx\"],_=[\"_extent\",\"_approximateExtent\",\"_rawExtent\"];function x(t,e){i.each(y.concat(e.__wrappedMethods||[]),(function(n){e.hasOwnProperty(n)&&(t[n]=e[n])})),t.__wrappedMethods=e.__wrappedMethods,i.each(_,(function(n){t[n]=i.clone(e[n])})),t._calculationInfo=i.extend(e._calculationInfo)}var b=function(t,e){t=t||[\"x\",\"y\"];for(var n={},r=[],a={},o=0;o<t.length;o++){var s=t[o];i.isString(s)?s=new c({name:s}):s instanceof c||(s=new c(s));var l=s.name;s.type=s.type||\"float\",s.coordDim||(s.coordDim=l,s.coordDimIndex=0),s.otherDims=s.otherDims||{},r.push(l),n[l]=s,s.index=o,s.createInvertedIndices&&(a[l]=[])}this.dimensions=r,this._dimensionInfos=n,this.hostModel=e,this.dataType,this._indices=null,this._count=0,this._rawCount=0,this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this._visual={},this._layout={},this._itemVisuals=[],this.hasItemVisual={},this._itemLayouts=[],this._graphicEls=[],this._chunkSize=1e5,this._chunkCount=0,this._rawData,this._rawExtent={},this._extent={},this._approximateExtent={},this._dimensionsSummary=h(this),this._invertedIndicesMap=a,this._calculationInfo={},this.userOutput=this._dimensionsSummary.userOutput},w=b.prototype;function S(t,e,n,i,r){var a=f[e.type],o=i-1,s=e.name,l=t[s][o];if(l&&l.length<n){for(var u=new a(Math.min(r-o*n,n)),h=0;h<l.length;h++)u[h]=l[h];t[s][o]=u}for(var c=i*n;c<r;c+=n)t[s].push(new a(Math.min(r-c,n)))}function M(t){var e=t._invertedIndicesMap;i.each(e,(function(n,i){var r=t._dimensionInfos[i].ordinalMeta;if(r){n=e[i]=new g(r.categories.length);for(var a=0;a<n.length;a++)n[a]=-1;for(a=0;a<t._count;a++)n[t.get(i,a)]=a}}))}function T(t,e,n){var i;if(null!=e){var r=t._chunkSize,a=Math.floor(n/r),o=n%r,s=t.dimensions[e],l=t._storage[s][a];if(l){i=l[o];var u=t._dimensionInfos[s].ordinalMeta;u&&u.categories.length&&(i=u.categories[i])}}return i}function I(t){return t}function C(t){return t<this._count&&t>=0?this._indices[t]:-1}function D(t,e){var n=t._idList[e];return null==n&&(n=T(t,t._idDimIdx,e)),null==n&&(n=\"e\\0\\0\"+e),n}function A(t){return i.isArray(t)||(t=[t]),t}function k(t,e){var n=t.dimensions,r=new b(i.map(n,t.getDimensionInfo,t),t.hostModel);x(r,t);for(var a=r._storage={},o=t._storage,s=0;s<n.length;s++){var l=n[s];o[l]&&(i.indexOf(e,l)>=0?(a[l]=O(o[l]),r._rawExtent[l]=P(),r._extent[l]=null):a[l]=o[l])}return r}function O(t){for(var e,n,i=new Array(t.length),r=0;r<t.length;r++)i[r]=(e=t[r],n=void 0,(n=e.constructor)===Array?e.slice():new n(e));return i}function P(){return[1/0,-1/0]}w.type=\"list\",w.hasItemOption=!0,w.getDimension=function(t){return\"number\"!=typeof t&&(isNaN(t)||this._dimensionInfos.hasOwnProperty(t))||(t=this.dimensions[t]),t},w.getDimensionInfo=function(t){return this._dimensionInfos[this.getDimension(t)]},w.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()},w.mapDimension=function(t,e){var n=this._dimensionsSummary;if(null==e)return n.encodeFirstDimNotExtra[t];var i=n.encode[t];return!0===e?(i||[]).slice():i&&i[e]},w.initData=function(t,e,n){(o.isInstance(t)||i.isArrayLike(t))&&(t=new u(t,this.dimensions.length)),this._rawData=t,this._storage={},this._indices=null,this._nameList=e||[],this._idList=[],this._nameRepeatCount={},n||(this.hasItemOption=!1),this.defaultDimValueGetter=l[this._rawData.getSource().sourceFormat],this._dimValueGetter=n=n||this.defaultDimValueGetter,this._dimValueGetterArrayRows=l.arrayRows,this._rawExtent={},this._initDataFromProvider(0,t.count()),t.pure&&(this.hasItemOption=!1)},w.getProvider=function(){return this._rawData},w.appendData=function(t){var e=this._rawData,n=this.count();e.appendData(t);var i=e.count();e.persistent||(i+=n),this._initDataFromProvider(n,i)},w.appendValues=function(t,e){for(var n=this._chunkSize,i=this._storage,r=this.dimensions,a=r.length,o=this._rawExtent,s=this.count(),l=s+Math.max(t.length,e?e.length:0),u=this._chunkCount,h=0;h<a;h++){o[m=r[h]]||(o[m]=P()),i[m]||(i[m]=[]),S(i,this._dimensionInfos[m],n,u,l),this._chunkCount=i[m].length}for(var c=new Array(a),d=s;d<l;d++){for(var f=d-s,p=Math.floor(d/n),g=d%n,v=0;v<a;v++){var m=r[v],y=this._dimValueGetterArrayRows(t[f]||c,m,f,v);i[m][p][g]=y;var _=o[m];y<_[0]&&(_[0]=y),y>_[1]&&(_[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},M(this)},w._initDataFromProvider=function(t,e){if(!(t>=e)){for(var n,i=this._chunkSize,r=this._rawData,a=this._storage,o=this.dimensions,s=o.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;p<s;p++){c[b=o[p]]||(c[b]=P());var g=l[b];0===g.otherDims.itemName&&(n=this._nameDimIdx=p),0===g.otherDims.itemId&&(this._idDimIdx=p),a[b]||(a[b]=[]),S(a,g,i,f,e),this._chunkCount=a[b].length}for(var v=new Array(s),m=t;m<e;m++){v=r.getItem(m,v);for(var y=Math.floor(m/i),_=m%i,x=0;x<s;x++){var b,w=a[b=o[x]][y],T=this._dimValueGetter(v,b,m,x);w[_]=T;var I=c[b];T<I[0]&&(I[0]=T),T>I[1]&&(I[1]=T)}if(!r.pure){var C=u[m];if(v&&null==C)if(null!=v.name)u[m]=C=v.name;else if(null!=n){var D=o[n],A=a[D][y];if(A){C=A[_];var k=l[D].ordinalMeta;k&&k.categories.length&&(C=k.categories[C])}}var O=null==v?null:v.id;null==O&&null!=C&&(d[C]=d[C]||0,O=C,d[C]>0&&(O+=\"__ec__\"+d[C]),d[C]++),null!=O&&(h[m]=O)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=e,this._extent={},M(this)}},w.count=function(){return this._count},w.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,n=this._count;if(e===Array){r=new e(n);for(var i=0;i<n;i++)r[i]=t[i]}else r=new e(t.buffer,0,n)}else{var r=new(e=m(this))(this.count());for(i=0;i<r.length;i++)r[i]=i}return r},w.get=function(t,e){if(!(e>=0&&e<this._count))return NaN;var n=this._storage;if(!n[t])return NaN;e=this.getRawIndex(e);var i=Math.floor(e/this._chunkSize),r=e%this._chunkSize;return n[t][i][r]},w.getByRawIndex=function(t,e){if(!(e>=0&&e<this._rawCount))return NaN;var n=this._storage[t];if(!n)return NaN;var i=Math.floor(e/this._chunkSize),r=e%this._chunkSize;return n[i][r]},w._getFast=function(t,e){var n=Math.floor(e/this._chunkSize),i=e%this._chunkSize;return this._storage[t][n][i]},w.getValues=function(t,e){var n=[];i.isArray(t)||(e=t,t=this.dimensions);for(var r=0,a=t.length;r<a;r++)n.push(this.get(t[r],e));return n},w.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,n=0,i=e.length;n<i;n++)if(isNaN(this.get(e[n],t)))return!1;return!0},w.getDataExtent=function(t){t=this.getDimension(t);var e=this._storage[t],n=P();if(!e)return n;var i,r=this.count();if(!this._indices)return this._rawExtent[t].slice();if(i=this._extent[t])return i.slice();for(var a=(i=n)[0],o=i[1],s=0;s<r;s++){var l=this._getFast(t,this.getRawIndex(s));l<a&&(a=l),l>o&&(o=l)}return i=[a,o],this._extent[t]=i,i},w.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},w.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},w.getCalculationInfo=function(t){return this._calculationInfo[t]},w.setCalculationInfo=function(t,e){d(t)?i.extend(this._calculationInfo,t):this._calculationInfo[t]=e},w.getSum=function(t){var e=0;if(this._storage[t])for(var n=0,i=this.count();n<i;n++){var r=this.get(t,n);isNaN(r)||(e+=r)}return e},w.getMedian=function(t){var e=[];this.each(t,(function(t,n){isNaN(t)||e.push(t)}));var n=[].concat(e).sort((function(t,e){return t-e})),i=this.count();return 0===i?0:i%2==1?n[(i-1)/2]:(n[i/2]+n[i/2-1])/2},w.rawIndexOf=function(t,e){var n=(t&&this._invertedIndicesMap[t])[e];return null==n||isNaN(n)?-1:n},w.indexOfName=function(t){for(var e=0,n=this.count();e<n;e++)if(this.getName(e)===t)return e;return-1},w.indexOfRawIndex=function(t){if(t>=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&n<this._count&&n===t)return t;for(var i=0,r=this._count-1;i<=r;){var a=(i+r)/2|0;if(e[a]<t)i=a+1;else{if(!(e[a]>t))return a;r=a-1}}return-1},w.indicesOfNearest=function(t,e,n){var i=[];if(!this._storage[t])return i;null==n&&(n=1/0);for(var r=1/0,a=-1,o=0,s=0,l=this.count();s<l;s++){var u=e-this.get(t,s),h=Math.abs(u);h<=n&&((h<r||h===r&&u>=0&&a<0)&&(r=h,a=u,o=0),u===a&&(i[o++]=s))}return i.length=o,i},w.getRawIndex=I,w.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],n=0;n<this.dimensions.length;n++){var i=this.dimensions[n];e.push(this.get(i,t))}return e},w.getName=function(t){var e=this.getRawIndex(t);return this._nameList[e]||T(this,this._nameDimIdx,e)||\"\"},w.getId=function(t){return D(this,this.getRawIndex(t))},w.each=function(t,e,n,r){\"use strict\";if(this._count){\"function\"==typeof t&&(r=n,n=e,e=t,t=[]),n=n||r||this;for(var a=(t=i.map(A(t),this.getDimension,this)).length,o=0;o<this.count();o++)switch(a){case 0:e.call(n,o);break;case 1:e.call(n,this.get(t[0],o),o);break;case 2:e.call(n,this.get(t[0],o),this.get(t[1],o),o);break;default:for(var s=0,l=[];s<a;s++)l[s]=this.get(t[s],o);l[s]=o,e.apply(n,l)}}},w.filterSelf=function(t,e,n,r){\"use strict\";if(this._count){\"function\"==typeof t&&(r=n,n=e,e=t,t=[]),n=n||r||this,t=i.map(A(t),this.getDimension,this);for(var a=this.count(),o=new(m(this))(a),s=[],l=t.length,u=0,h=t[0],c=0;c<a;c++){var d,f=this.getRawIndex(c);if(0===l)d=e.call(n,c);else if(1===l){var p=this._getFast(h,f);d=e.call(n,p,c)}else{for(var g=0;g<l;g++)s[g]=this._getFast(h,f);s[g]=c,d=e.apply(n,s)}d&&(o[u++]=f)}return u<a&&(this._indices=o),this._count=u,this._extent={},this.getRawIndex=this._indices?C:I,this}},w.selectRange=function(t){\"use strict\";if(this._count){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);var i=e.length;if(i){var r=this.count(),a=new(m(this))(r),o=0,s=e[0],l=t[s][0],u=t[s][1],h=!1;if(!this._indices){var c=0;if(1===i){for(var d=this._storage[e[0]],f=0;f<this._chunkCount;f++)for(var p=d[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),v=0;v<g;v++){((w=p[v])>=l&&w<=u||isNaN(w))&&(a[o++]=c),c++}h=!0}else if(2===i){d=this._storage[s];var y=this._storage[e[1]],_=t[e[1]][0],x=t[e[1]][1];for(f=0;f<this._chunkCount;f++){p=d[f];var b=y[f];for(g=Math.min(this._count-f*this._chunkSize,this._chunkSize),v=0;v<g;v++){var w=p[v],S=b[v];(w>=l&&w<=u||isNaN(w))&&(S>=_&&S<=x||isNaN(S))&&(a[o++]=c),c++}}h=!0}}if(!h)if(1===i)for(v=0;v<r;v++){var M=this.getRawIndex(v);((w=this._getFast(s,M))>=l&&w<=u||isNaN(w))&&(a[o++]=M)}else for(v=0;v<r;v++){var T=!0;for(M=this.getRawIndex(v),f=0;f<i;f++){var D=e[f];((w=this._getFast(n,M))<t[D][0]||w>t[D][1])&&(T=!1)}T&&(a[o++]=this.getRawIndex(v))}return o<r&&(this._indices=a),this._count=o,this._extent={},this.getRawIndex=this._indices?C:I,this}}},w.mapArray=function(t,e,n,i){\"use strict\";\"function\"==typeof t&&(i=n,n=e,e=t,t=[]),n=n||i||this;var r=[];return this.each(t,(function(){r.push(e&&e.apply(this,arguments))}),n),r},w.map=function(t,e,n,r){\"use strict\";n=n||r||this;var a=k(this,t=i.map(A(t),this.getDimension,this));a._indices=this._indices,a.getRawIndex=a._indices?C:I;for(var o=a._storage,s=[],l=this._chunkSize,u=t.length,h=this.count(),c=[],d=a._rawExtent,f=0;f<h;f++){for(var p=0;p<u;p++)c[p]=this.get(t[p],f);c[u]=f;var g=e&&e.apply(n,c);if(null!=g){\"object\"!=typeof g&&(s[0]=g,g=s);for(var v=this.getRawIndex(f),m=Math.floor(v/l),y=v%l,_=0;_<g.length;_++){var x=t[_],b=g[_],w=d[x],S=o[x];S&&(S[m][y]=b),b<w[0]&&(w[0]=b),b>w[1]&&(w[1]=b)}}}return a},w.downSample=function(t,e,n,i){for(var r=k(this,[t]),a=r._storage,o=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=r._rawExtent[t],d=new(m(this))(u),f=0,p=0;p<u;p+=s){s>u-p&&(s=u-p,o.length=s);for(var g=0;g<s;g++){var v=this.getRawIndex(p+g),y=Math.floor(v/h),_=v%h;o[g]=l[y][_]}var x=n(o),b=this.getRawIndex(Math.min(p+i(o,x)||0,u-1)),w=b%h;l[Math.floor(b/h)][w]=x,x<c[0]&&(c[0]=x),x>c[1]&&(c[1]=x),d[f++]=b}return r._count=f,r._indices=d,r.getRawIndex=C,r},w.getItemModel=function(t){var e=this.hostModel;return new r(this.getRawDataItem(t),e,e&&e.ecModel)},w.diff=function(t){var e=this;return new a(t?t.getIndices():[],this.getIndices(),(function(e){return D(t,e)}),(function(t){return D(e,t)}))},w.getVisual=function(t){var e=this._visual;return e&&e[t]},w.setVisual=function(t,e){if(d(t))for(var n in t)t.hasOwnProperty(n)&&this.setVisual(n,t[n]);else this._visual=this._visual||{},this._visual[t]=e},w.setLayout=function(t,e){if(d(t))for(var n in t)t.hasOwnProperty(n)&&this.setLayout(n,t[n]);else this._layout[t]=e},w.getLayout=function(t){return this._layout[t]},w.getItemLayout=function(t){return this._itemLayouts[t]},w.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?i.extend(this._itemLayouts[t]||{},e):e},w.clearItemLayouts=function(){this._itemLayouts.length=0},w.getItemVisual=function(t,e,n){var i=this._itemVisuals[t],r=i&&i[e];return null!=r||n?r:this.getVisual(e)},w.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{},r=this.hasItemVisual;if(this._itemVisuals[t]=i,d(e))for(var a in e)e.hasOwnProperty(a)&&(i[a]=e[a],r[a]=!0);else i[e]=n,r[e]=!0},w.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var L=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};w.setItemGraphicEl=function(t,e){var n=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=n&&n.seriesIndex,\"group\"===e.type&&e.traverse(L,e)),this._graphicEls[t]=e},w.getItemGraphicEl=function(t){return this._graphicEls[t]},w.eachItemGraphicEl=function(t,e){i.each(this._graphicEls,(function(n,i){n&&t&&t.call(e,n,i)}))},w.cloneShallow=function(t){if(!t){var e=i.map(this.dimensions,this.getDimensionInfo,this);t=new b(e,this.hostModel)}if(t._storage=this._storage,x(t,this),this._indices){var n=this._indices.constructor;t._indices=new n(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?C:I,t},w.wrapMethod=function(t,e){var n=this[t];\"function\"==typeof n&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(i.slice(arguments)))})},w.TRANSFERABLE_METHODS=[\"cloneShallow\",\"downSample\",\"map\"],w.CHANGABLE_METHODS=[\"filterSelf\",\"selectRange\"];var R=b;t.exports=R},function(t,e,n){var i=n(0),r=i.each,a=i.createHashMap,o=(i.assert,n(5).__DEV__,a([\"tooltip\",\"label\",\"itemName\",\"itemId\",\"seriesName\"]));function s(t,e){return t.hasOwnProperty(e)||(t[e]=[]),t[e]}e.OTHER_DIMENSIONS=o,e.summarizeDimensions=function(t){var e={},n=e.encode={},i=a(),l=[],u=[],h=e.userOutput={dimensionNames:t.dimensions.slice(),encode:{}};r(t.dimensions,(function(e){var r,a=t.getDimensionInfo(e),c=a.coordDim;if(c){var d=a.coordDimIndex;s(n,c)[d]=e,a.isExtraCoord||(i.set(c,1),\"ordinal\"!==(r=a.type)&&\"time\"!==r&&(l[0]=e),s(h.encode,c)[d]=a.index),a.defaultTooltip&&u.push(e)}o.each((function(t,e){var i=s(n,e),r=a.otherDims[e];null!=r&&!1!==r&&(i[r]=a.name)}))}));var c=[],d={};i.each((function(t,e){var i=n[e];d[e]=i[0],c=c.concat(i)})),e.dataDimsOnCoord=c,e.encodeFirstDimNotExtra=d;var f=n.label;f&&f.length&&(l=f.slice());var p=n.tooltip;return p&&p.length?u=p.slice():u.length||(u=l.slice()),n.defaultedLabel=l,n.defaultedTooltip=u,e},e.getDimensionTypeByAxis=function(t){return\"category\"===t?\"ordinal\":\"time\"===t?\"time\":\"float\"}},function(t,e,n){var i=n(131);t.exports=function(t,e){return i((e=e||{}).coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,encodeDefaulter:e.encodeDefaulter,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})}},function(t,e,n){var i=n(0),r=i.each,a=i.isString;function o(t,e){return!!e&&e===t.getCalculationInfo(\"stackedDimension\")}e.enableDataStack=function(t,e,n){var i,o,s,l,u=(n=n||{}).byIndex,h=n.stackedCoordDimension,c=!(!t||!t.get(\"stack\"));if(r(e,(function(t,n){a(t)&&(e[n]=t={name:t}),c&&!t.isExtraCoord&&(u||i||!t.ordinalMeta||(i=t),o||\"ordinal\"===t.type||\"time\"===t.type||h&&h!==t.coordDim||(o=t))})),!o||u||i||(u=!0),o){s=\"__\\0ecstackresult\",l=\"__\\0ecstackedover\",i&&(i.createInvertedIndices=!0);var d=o.coordDim,f=o.type,p=0;r(e,(function(t){t.coordDim===d&&p++})),e.push({name:s,coordDim:d,coordDimIndex:p,type:f,isExtraCoord:!0,isCalculationCoord:!0}),p++,e.push({name:l,coordDim:l,coordDimIndex:p,type:f,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:o&&o.name,stackedByDimension:i&&i.name,isStackedByIndex:u,stackedOverDimension:l,stackResultDimension:s}},e.isDimensionStacked=o,e.getStackedDimension=function(t,e){return o(t,e)?t.getCalculationInfo(\"stackResultDimension\"):e}},function(t,e,n){var i=n(3),r=n(9),a=n(59),o=n(132),s=i.round,l=a.extend({type:\"interval\",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1]),l.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=o.getIntervalPrecision(t)},getTicks:function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,a=[];if(!e)return a;n[0]<i[0]&&(t?a.push(s(i[0]-e,r)):a.push(n[0]));for(var o=i[0];o<=i[1]&&(a.push(o),(o=s(o+e,r))!==a[a.length-1]);)if(a.length>1e4)return[];var l=a.length?a[a.length-1]:i[1];return n[1]>l&&(t?a.push(s(l+e,r)):a.push(n[1])),a},getMinorTicks:function(t){for(var e=this.getTicks(!0),n=[],r=this.getExtent(),a=1;a<e.length;a++){for(var o=e[a],s=e[a-1],l=0,u=[],h=(o-s)/t;l<t-1;){var c=i.round(s+(l+1)*h);c>r[0]&&c<r[1]&&u.push(c),l++}n.push(u)}return n},getLabel:function(t,e){if(null==t)return\"\";var n=e&&e.precision;return null==n?n=i.getPrecisionSafe(t)||0:\"auto\"===n&&(n=this._intervalPrecision),t=s(t,n,!0),r.addCommas(t)},niceTicks:function(t,e,n){t=t||5;var i=this._extent,r=i[1]-i[0];if(isFinite(r)){r<0&&(r=-r,i.reverse());var a=o.intervalScaleNiceTicks(i,t,e,n);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var n=e[0];t.fixMax||(e[1]+=n/2),e[0]-=n/2}else e[1]=1;var i=e[1]-e[0];isFinite(i)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var r=this._interval;t.fixMin||(e[0]=s(Math.floor(e[0]/r)*r)),t.fixMax||(e[1]=s(Math.ceil(e[1]/r)*r))}});l.create=function(){return new l};var u=l;t.exports=u},function(t,e,n){t.exports=!n(18)&&!n(19)((function(){return 7!=Object.defineProperty(n(87)(\"div\"),\"a\",{get:function(){return 7}}).a}))},function(t,e,n){var i=n(17),r=n(13).document,a=i(r)&&i(r.createElement);t.exports=function(t){return a?r.createElement(t):{}}},function(t,e,n){var i=n(36);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(36);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){e.f=n(10)},function(t,e,n){var i=n(20),r=n(29),a=n(157)(!1),o=n(64)(\"IE_PROTO\");t.exports=function(t,e){var n,s=r(t),l=0,u=[];for(n in s)n!=o&&i(s,n)&&u.push(n);for(;e.length>l;)i(s,n=e[l++])&&(~a(u,n)||u.push(n));return u}},function(t,e,n){var i=n(62),r=Math.max,a=Math.min;t.exports=function(t,e){return(t=i(t))<0?r(t+e,0):a(t,e)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(13).document;t.exports=i&&i.documentElement},function(t,e,n){\"use strict\";var i=n(47),r=n(26),a=n(28),o=n(23),s=n(37),l=n(162),u=n(63),h=n(163),c=n(10)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),f=function(){return this};t.exports=function(t,e,n,p,g,v,m){l(n,e,p);var y,_,x,b=function(t){if(!d&&t in T)return T[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+\" Iterator\",S=\"values\"==g,M=!1,T=t.prototype,I=T[c]||T[\"@@iterator\"]||g&&T[g],C=I||b(g),D=g?S?b(\"entries\"):C:void 0,A=\"Array\"==e&&T.entries||I;if(A&&(x=h(A.call(new t)))!==Object.prototype&&x.next&&(u(x,w,!0),i||\"function\"==typeof x[c]||o(x,c,f)),S&&I&&\"values\"!==I.name&&(M=!0,C=function(){return I.call(this)}),i&&!m||!d&&!M&&T[c]||o(T,c,C),s[e]=C,s[w]=f,g)if(y={values:S?C:b(\"values\"),keys:v?C:b(\"keys\"),entries:D},m)for(_ in y)_ in T||a(T,_,y[_]);else r(r.P+r.F*(d||M),e,y);return y}},function(t,e,n){var i=n(36),r=n(10)(\"toStringTag\"),a=\"Arguments\"==i(function(){return arguments}());t.exports=function(t){var e,n,o;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),r))?n:a?i(e):\"Object\"==(o=i(e))&&\"function\"==typeof e.callee?\"Arguments\":o}},function(t,e,n){\"use strict\";var i=n(165),r=n(166),a=n(37),o=n(29);t.exports=n(95)(Array,\"Array\",(function(t,e){this._t=o(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):r(0,\"keys\"==e?n:\"values\"==e?t[n]:[n,t[n]])}),\"values\"),a.Arguments=a.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(99),r=n(6),a=n(0),o=n(176),s=n(180),l=n(184),u=n(187),h=n(188),c=!r.canvasSupported,d={canvas:l},f={};var p=function(t,e,n){n=n||{},this.dom=e,this.id=t;var i=this,l=new s,f=n.renderer;if(c){if(!d.vml)throw new Error(\"You need to require 'zrender/vml/vml' to support IE8\");f=\"vml\"}else f&&d[f]||(f=\"canvas\");var p=new d[f](e,l,n,t);this.storage=l,this.painter=p;var g=r.node||r.worker?null:new h(p.getViewportRoot(),p.root);this.handler=new o(l,p,g,p.root),this.animation=new u({stage:{update:a.bind(this.flush,this)}}),this.animation.start(),this._needsRefresh;var v=l.delFromStorage,m=l.addToStorage;l.delFromStorage=function(t){v.call(l,t),t&&t.removeSelfFromZr(i)},l.addToStorage=function(t){m.call(l,t),t.addSelfToZr(i)}};p.prototype={constructor:p,getId:function(){return this.id},add:function(t){this.storage.addRoot(t),this._needsRefresh=!0},remove:function(t){this.storage.delRoot(t),this._needsRefresh=!0},configLayer:function(t,e){this.painter.configLayer&&this.painter.configLayer(t,e),this._needsRefresh=!0},setBackgroundColor:function(t){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(t),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=this._needsRefreshHover=!1,this.painter.refresh(),this._needsRefresh=this._needsRefreshHover=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var t;this._needsRefresh&&(t=!0,this.refreshImmediately()),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately()),t&&this.trigger(\"rendered\")},addHover:function(t,e){if(this.painter.addHover){var n=this.painter.addHover(t,e);return this.refreshHover(),n}},removeHover:function(t){this.painter.removeHover&&(this.painter.removeHover(t),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(t,e){return this.painter.pathToImage(t,e)},setCursorStyle:function(t){this.handler.setCursorStyle(t)},findHover:function(t,e){return this.handler.findHover(t,e)},on:function(t,e,n){this.handler.on(t,e,n)},off:function(t,e){this.handler.off(t,e)},trigger:function(t,e){this.handler.trigger(t,e)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){var t;this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,t=this.id,delete f[t]}},e.version=\"4.3.2\",e.init=function(t,e){var n=new p(i(),t,e);return f[n.id]=n,n},e.dispose=function(t){if(t)t.dispose();else{for(var e in f)f.hasOwnProperty(e)&&f[e].dispose();f={}}return this},e.getInstance=function(t){return f[t]},e.registerPainter=function(t,e){d[t]=e}},function(t,e){var n=2311;t.exports=function(){return n++}},function(t,e,n){var i=n(6),r=n(178).buildTransformer,a=[];function o(t,e,n,a,o){if(e.getBoundingClientRect&&i.domSupported&&!s(e)){var l=e.___zrEVENTSAVED||(e.___zrEVENTSAVED={}),u=function(t,e,n){for(var i=n?\"invTrans\":\"trans\",a=e[i],o=e.srcCoords,s=!0,l=[],u=[],h=0;h<4;h++){var c=t[h].getBoundingClientRect(),d=2*h,f=c.left,p=c.top;l.push(f,p),s=s&&o&&f===o[d]&&p===o[d+1],u.push(t[h].offsetLeft,t[h].offsetTop)}return s&&a?a:(e.srcCoords=l,e[i]=n?r(u,l):r(l,u))}(function(t,e){var n=e.markers;if(n)return n;n=e.markers=[];for(var i=[\"left\",\"right\"],r=[\"top\",\"bottom\"],a=0;a<4;a++){var o=document.createElement(\"div\"),s=o.style,l=a%2,u=(a>>1)%2;s.cssText=[\"position: absolute\",\"visibility: hidden\",\"padding: 0\",\"margin: 0\",\"border-width: 0\",\"user-select: none\",\"width:0\",\"height:0\",i[l]+\":0\",r[u]+\":0\",i[1-l]+\":auto\",r[1-u]+\":auto\",\"\"].join(\"!important;\"),t.appendChild(o),n.push(o)}return n}(e,l),l,o);if(u)return u(t,n,a),!0}return!1}function s(t){return\"CANVAS\"===t.nodeName.toUpperCase()}e.transformLocalCoord=function(t,e,n,i,r){return o(a,e,i,r,!0)&&o(t,n,a[0],a[1])},e.transformCoordWithViewport=o,e.isCanvasEl=s},function(t,e,n){var i=n(99),r=n(38),a=n(102),o=n(181),s=n(0),l=function(t){a.call(this,t),r.call(this,t),o.call(this,t),this.id=t.id||i()};l.prototype={type:\"element\",name:\"\",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case\"horizontal\":e=0;break;case\"vertical\":t=0}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=t,n[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if(\"position\"===t||\"scale\"===t||\"origin\"===t){if(e){var n=this[t];n||(n=this[t]=[]),n[0]=e[0],n[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if(\"string\"==typeof t)this.attrKV(t,e);else if(s.isObject(t))for(var n in t)t.hasOwnProperty(n)&&this.attrKV(n,t[n]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var n=0;n<e.length;n++)t.animation.addAnimator(e[n]);this.clipPath&&this.clipPath.addSelfToZr(t)},removeSelfFromZr:function(t){this.__zr=null;var e=this.animators;if(e)for(var n=0;n<e.length;n++)t.animation.removeAnimator(e[n]);this.clipPath&&this.clipPath.removeSelfFromZr(t)}},s.mixin(l,o),s.mixin(l,a),s.mixin(l,r);var u=l;t.exports=u},function(t,e,n){var i=n(25),r=n(7),a=i.identity;function o(t){return t>5e-5||t<-5e-5}var s=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},l=s.prototype;l.transform=null,l.needLocalTransform=function(){return o(this.rotation)||o(this.position[0])||o(this.position[1])||o(this.scale[0]-1)||o(this.scale[1]-1)};var u=[];l.updateTransform=function(){var t=this.parent,e=t&&t.transform,n=this.needLocalTransform(),r=this.transform;if(n||e){r=r||i.create(),n?this.getLocalTransform(r):a(r),e&&(n?i.mul(r,t.transform,r):i.copy(r,t.transform)),this.transform=r;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(u);var s=u[0]<0?-1:1,l=u[1]<0?-1:1,h=((u[0]-s)*o+s)/u[0]||0,c=((u[1]-l)*o+l)/u[1]||0;r[0]*=h,r[1]*=h,r[2]*=c,r[3]*=c}this.invTransform=this.invTransform||i.create(),i.invert(this.invTransform,r)}else r&&a(r)},l.getLocalTransform=function(t){return s.getLocalTransform(this,t)},l.setTransform=function(t){var e=this.transform,n=t.dpr||1;e?t.setTransform(n*e[0],n*e[1],n*e[2],n*e[3],n*e[4],n*e[5]):t.setTransform(n,0,0,n,0,0)},l.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var h=[],c=i.create();l.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=this.position,r=this.scale;o(e-1)&&(e=Math.sqrt(e)),o(n-1)&&(n=Math.sqrt(n)),t[0]<0&&(e=-e),t[3]<0&&(n=-n),i[0]=t[4],i[1]=t[5],r[0]=e,r[1]=n,this.rotation=Math.atan2(-t[1]/n,t[0]/e)}},l.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(i.mul(h,t.invTransform,e),e=h);var n=this.origin;n&&(n[0]||n[1])&&(c[4]=n[0],c[5]=n[1],i.mul(h,e,c),h[4]-=n[0],h[5]-=n[1],e=h),this.setLocalTransform(e)}},l.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},l.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&r.applyTransform(n,n,i),n},l.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&r.applyTransform(n,n,i),n},s.getLocalTransform=function(t,e){a(e=e||[]);var n=t.origin,r=t.scale||[1,1],o=t.rotation||0,s=t.position||[0,0];return n&&(e[4]-=n[0],e[5]-=n[1]),i.scale(e,e,r),o&&i.rotate(e,e,o),n&&(e[4]+=n[0],e[5]+=n[1]),e[4]+=s[0],e[5]+=s[1],e};var d=s;t.exports=d},function(t,e,n){var i=n(182),r=n(30),a=n(0).isArrayLike,o=Array.prototype.slice;function s(t,e){return t[e]}function l(t,e,n){t[e]=n}function u(t,e,n){return(e-t)*n+t}function h(t,e,n){return n>.5?e:t}function c(t,e,n,i,r){var a=t.length;if(1===r)for(var o=0;o<a;o++)i[o]=u(t[o],e[o],n);else{var s=a&&t[0].length;for(o=0;o<a;o++)for(var l=0;l<s;l++)i[o][l]=u(t[o][l],e[o][l],n)}}function d(t,e,n){var i=t.length,r=e.length;if(i!==r)if(i>r)t.length=r;else for(var a=i;a<r;a++)t.push(1===n?e[a]:o.call(e[a]));var s=t[0]&&t[0].length;for(a=0;a<t.length;a++)if(1===n)isNaN(t[a])&&(t[a]=e[a]);else for(var l=0;l<s;l++)isNaN(t[a][l])&&(t[a][l]=e[a][l])}function f(t,e,n){if(t===e)return!0;var i=t.length;if(i!==e.length)return!1;if(1===n){for(var r=0;r<i;r++)if(t[r]!==e[r])return!1}else{var a=t[0].length;for(r=0;r<i;r++)for(var o=0;o<a;o++)if(t[r][o]!==e[r][o])return!1}return!0}function p(t,e,n,i,r,a,o,s,l){var u=t.length;if(1===l)for(var h=0;h<u;h++)s[h]=g(t[h],e[h],n[h],i[h],r,a,o);else{var c=t[0].length;for(h=0;h<u;h++)for(var d=0;d<c;d++)s[h][d]=g(t[h][d],e[h][d],n[h][d],i[h][d],r,a,o)}}function g(t,e,n,i,r,a,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*o+(-3*(e-n)-2*s-l)*a+s*r+e}function v(t){if(a(t)){var e=t.length;if(a(t[0])){for(var n=[],i=0;i<e;i++)n.push(o.call(t[i]));return n}return o.call(t)}return t}function m(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),\"rgba(\"+t.join(\",\")+\")\"}function y(t,e,n,o,s,l){var v=t._getter,y=t._setter,_=\"spline\"===e,x=o.length;if(x){var b,w=o[0].value,S=a(w),M=!1,T=!1,I=S?function(t){var e=t[t.length-1].value;return a(e&&e[0])?2:1}(o):0;o.sort((function(t,e){return t.time-e.time})),b=o[x-1].time;for(var C=[],D=[],A=o[0].value,k=!0,O=0;O<x;O++){C.push(o[O].time/b);var P=o[O].value;if(S&&f(P,A,I)||!S&&P===A||(k=!1),A=P,\"string\"==typeof P){var L=r.parse(P);L?(P=L,M=!0):T=!0}D.push(P)}if(l||!k){var R=D[x-1];for(O=0;O<x-1;O++)S?d(D[O],R,I):!isNaN(D[O])||isNaN(R)||T||M||(D[O]=R);S&&d(v(t._target,s),R,I);var E,z,N,B,F,V=0,H=0;if(M)var W=[0,0,0,0];var G=new i({target:t._target,life:b,loop:t._loop,delay:t._delay,onframe:function(t,e){var n;if(e<0)n=0;else if(e<H){for(n=Math.min(V+1,x-1);n>=0&&!(C[n]<=e);n--);n=Math.min(n,x-2)}else{for(n=V;n<x&&!(C[n]>e);n++);n=Math.min(n-1,x-2)}V=n,H=e;var i=C[n+1]-C[n];if(0!==i)if(E=(e-C[n])/i,_)if(N=D[n],z=D[0===n?n:n-1],B=D[n>x-2?x-1:n+1],F=D[n>x-3?x-1:n+2],S)p(z,N,B,F,E,E*E,E*E*E,v(t,s),I);else{if(M)r=p(z,N,B,F,E,E*E,E*E*E,W,1),r=m(W);else{if(T)return h(N,B,E);r=g(z,N,B,F,E,E*E,E*E*E)}y(t,s,r)}else if(S)c(D[n],D[n+1],E,v(t,s),I);else{var r;if(M)c(D[n],D[n+1],E,W,1),r=m(W);else{if(T)return h(D[n],D[n+1],E);r=u(D[n],D[n+1],E)}y(t,s,r)}},ondestroy:n});return e&&\"spline\"!==e&&(G.easing=e),G}}}var _=function(t,e,n,i){this._tracks={},this._target=t,this._loop=e||!1,this._getter=n||s,this._setter=i||l,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};_.prototype={when:function(t,e){var n=this._tracks;for(var i in e)if(e.hasOwnProperty(i)){if(!n[i]){n[i]=[];var r=this._getter(this._target,i);if(null==r)continue;0!==t&&n[i].push({time:0,value:v(r)})}n[i].push({time:t,value:e[i]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].pause();this._paused=!0},resume:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,n=0;n<e;n++)t[n].call(this)},start:function(t,e){var n,i=this,r=0,a=function(){--r||i._doneCallback()};for(var o in this._tracks)if(this._tracks.hasOwnProperty(o)){var s=y(this,t,a,this._tracks[o],o,e);s&&(this._clipList.push(s),r++,this.animation&&this.animation.addClip(s),n=s)}if(n){var l=n.onframe;n.onframe=function(t,e){l(t,e);for(var n=0;n<i._onframeList.length;n++)i._onframeList[n](t,e)}}return r||this._doneCallback(),this},stop:function(t){for(var e=this._clipList,n=this.animation,i=0;i<e.length;i++){var r=e[i];t&&r.onframe(this._target,1),n&&n.removeClip(r)}e.length=0},delay:function(t){return this._delay=t,this},done:function(t){return t&&this._doneList.push(t),this},getClips:function(){return this._clipList}};var x=_;t.exports=x},function(t,e){var n=function(){this.head=null,this.tail=null,this._len=0},i=n.prototype;i.insert=function(t){var e=new r(t);return this.insertEntry(e),e},i.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},i.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},i.len=function(){return this._len},i.clear=function(){this.head=this.tail=null,this._len=0};var r=function(t){this.value=t,this.next,this.prev},a=function(t){this._list=new n,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},o=a.prototype;o.put=function(t,e){var n=this._list,i=this._map,a=null;if(null==i[t]){var o=n.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=n.head;n.remove(l),delete i[l.key],a=l.value,this._lastRemovedEntry=l}s?s.value=e:s=new r(e),s.key=t,n.insertEntry(s),i[t]=s}return a},o.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},o.clear=function(){this._list.clear(),this._map={}};var s=a;t.exports=s},function(t,e,n){var i=function(){};1===n(53).debugMode&&(i=console.error);var r=i;t.exports=r},function(t,e){var n={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1};t.exports=function(t,e,i){return n.hasOwnProperty(e)?i*t.dpr:i}},function(t,e){var n=function(t,e){this.image=t,this.repeat=e,this.type=\"pattern\"};n.prototype.getCanvasPattern=function(t){return t.createPattern(this.image,this.repeat||\"repeat\")};var i=n;t.exports=i},function(t,e){var n=\"undefined\"!=typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)};t.exports=n},function(t,e,n){var i=n(0),r=i.retrieve2,a=i.retrieve3,o=i.each,s=i.normalizeCssArray,l=i.isString,u=i.isObject,h=n(15),c=n(110),d=n(73),f=n(106),p=n(54),g=p.ContextCachedBy,v=p.WILL_BE_RESTORED,m=h.DEFAULT_FONT,y={left:1,right:1,center:1},_={top:1,bottom:1,middle:1},x=[[\"textShadowBlur\",\"shadowBlur\",0],[\"textShadowOffsetX\",\"shadowOffsetX\",0],[\"textShadowOffsetY\",\"shadowOffsetY\",0],[\"textShadowColor\",\"shadowColor\",\"transparent\"]],b={},w={};function S(t){if(t){t.font=h.makeFont(t);var e=t.textAlign;\"middle\"===e&&(e=\"center\"),t.textAlign=null==e||y[e]?e:\"left\";var n=t.textVerticalAlign||t.textBaseline;\"center\"===n&&(n=\"middle\"),t.textVerticalAlign=null==n||_[n]?n:\"top\",t.textPadding&&(t.textPadding=s(t.textPadding))}}function M(t,e,n,i,r){if(n&&e.textRotation){var a=e.textOrigin;\"center\"===a?(i=n.width/2+n.x,r=n.height/2+n.y):a&&(i=a[0]+n.x,r=a[1]+n.y),t.translate(i,r),t.rotate(-e.textRotation),t.translate(-i,-r)}}function T(t,e,n,i,o,s,l,u){var h=i.rich[n.styleName]||{};h.text=n.text;var c=n.textVerticalAlign,d=s+o/2;\"top\"===c?d=s+n.height/2:\"bottom\"===c&&(d=s+o-n.height/2),!n.isLineHolder&&I(h)&&C(t,e,h,\"right\"===u?l-n.width:\"center\"===u?l-n.width/2:l,d-n.height/2,n.width,n.height);var f=n.textPadding;f&&(l=R(l,u,f),d-=n.height/2-f[2]-n.textHeight/2),k(e,\"shadowBlur\",a(h.textShadowBlur,i.textShadowBlur,0)),k(e,\"shadowColor\",h.textShadowColor||i.textShadowColor||\"transparent\"),k(e,\"shadowOffsetX\",a(h.textShadowOffsetX,i.textShadowOffsetX,0)),k(e,\"shadowOffsetY\",a(h.textShadowOffsetY,i.textShadowOffsetY,0)),k(e,\"textAlign\",u),k(e,\"textBaseline\",\"middle\"),k(e,\"font\",n.font||m);var p=O(h.textStroke||i.textStroke,v),g=P(h.textFill||i.textFill),v=r(h.textStrokeWidth,i.textStrokeWidth);p&&(k(e,\"lineWidth\",v),k(e,\"strokeStyle\",p),e.strokeText(n.text,l,d)),g&&(k(e,\"fillStyle\",g),e.fillText(n.text,l,d))}function I(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function C(t,e,n,i,r,a,o){var s=n.textBackgroundColor,h=n.textBorderWidth,f=n.textBorderColor,p=l(s);if(k(e,\"shadowBlur\",n.textBoxShadowBlur||0),k(e,\"shadowColor\",n.textBoxShadowColor||\"transparent\"),k(e,\"shadowOffsetX\",n.textBoxShadowOffsetX||0),k(e,\"shadowOffsetY\",n.textBoxShadowOffsetY||0),p||h&&f){e.beginPath();var g=n.textBorderRadius;g?c.buildPath(e,{x:i,y:r,width:a,height:o,r:g}):e.rect(i,r,a,o),e.closePath()}if(p)if(k(e,\"fillStyle\",s),null!=n.fillOpacity){var v=e.globalAlpha;e.globalAlpha=n.fillOpacity*n.opacity,e.fill(),e.globalAlpha=v}else e.fill();else if(u(s)){var m=s.image;(m=d.createOrUpdateImage(m,null,t,D,s))&&d.isImageReady(m)&&e.drawImage(m,i,r,a,o)}if(h&&f)if(k(e,\"lineWidth\",h),k(e,\"strokeStyle\",f),null!=n.strokeOpacity){v=e.globalAlpha;e.globalAlpha=n.strokeOpacity*n.opacity,e.stroke(),e.globalAlpha=v}else e.stroke()}function D(t,e){e.image=t}function A(t,e,n,i){var r=n.x||0,a=n.y||0,o=n.textAlign,s=n.textVerticalAlign;if(i){var l=n.textPosition;if(l instanceof Array)r=i.x+L(l[0],i.width),a=i.y+L(l[1],i.height);else{var u=e&&e.calculateTextPosition?e.calculateTextPosition(b,n,i):h.calculateTextPosition(b,n,i);r=u.x,a=u.y,o=o||u.textAlign,s=s||u.textVerticalAlign}var c=n.textOffset;c&&(r+=c[0],a+=c[1])}return(t=t||{}).baseX=r,t.baseY=a,t.textAlign=o,t.textVerticalAlign=s,t}function k(t,e,n){return t[e]=f(t,e,n),t[e]}function O(t,e){return null==t||e<=0||\"transparent\"===t||\"none\"===t?null:t.image||t.colorStops?\"#000\":t}function P(t){return null==t||\"none\"===t?null:t.image||t.colorStops?\"#000\":t}function L(t,e){return\"string\"==typeof t?t.lastIndexOf(\"%\")>=0?parseFloat(t)/100*e:parseFloat(t):t}function R(t,e,n){return\"right\"===e?t-n[1]:\"center\"===e?t+n[3]/2-n[1]/2:t+n[3]}e.normalizeTextStyle=function(t){return S(t),o(t.rich,S),t},e.renderText=function(t,e,n,i,r,a){i.rich?function(t,e,n,i,r,a){a!==v&&(e.__attrCachedBy=g.NONE);var o=t.__textCotentBlock;o&&!t.__dirtyText||(o=t.__textCotentBlock=h.parseRichText(n,i));!function(t,e,n,i,r){var a=n.width,o=n.outerWidth,s=n.outerHeight,l=i.textPadding,u=A(w,t,i,r),c=u.baseX,d=u.baseY,f=u.textAlign,p=u.textVerticalAlign;M(e,i,r,c,d);var g=h.adjustTextX(c,o,f),v=h.adjustTextY(d,s,p),m=g,y=v;l&&(m+=l[3],y+=l[0]);var _=m+a;I(i)&&C(t,e,i,g,v,o,s);for(var x=0;x<n.lines.length;x++){for(var b,S=n.lines[x],D=S.tokens,k=D.length,O=S.lineHeight,P=S.width,L=0,R=m,E=_,z=k-1;L<k&&(!(b=D[L]).textAlign||\"left\"===b.textAlign);)T(t,e,b,i,O,y,R,\"left\"),P-=b.width,R+=b.width,L++;for(;z>=0&&\"right\"===(b=D[z]).textAlign;)T(t,e,b,i,O,y,E,\"right\"),P-=b.width,E-=b.width,z--;for(R+=(a-(R-m)-(_-E)-P)/2;L<=z;)b=D[L],T(t,e,b,i,O,y,R+b.width/2,\"center\"),R+=b.width,L++;y+=O}}(t,e,o,i,r)}(t,e,n,i,r,a):function(t,e,n,i,r,a){\"use strict\";var o,s=I(i),l=!1,u=e.__attrCachedBy===g.PLAIN_TEXT;a!==v?(a&&(o=a.style,l=!s&&u&&o),e.__attrCachedBy=s?g.NONE:g.PLAIN_TEXT):u&&(e.__attrCachedBy=g.NONE);var c=i.font||m;l&&c===(o.font||m)||(e.font=c);var d=t.__computedFont;t.__styleFont!==c&&(t.__styleFont=c,d=t.__computedFont=e.font);var p=i.textPadding,y=i.textLineHeight,_=t.__textCotentBlock;_&&!t.__dirtyText||(_=t.__textCotentBlock=h.parsePlainText(n,d,p,y,i.truncate));var b=_.outerHeight,S=_.lines,T=_.lineHeight,D=A(w,t,i,r),k=D.baseX,L=D.baseY,E=D.textAlign||\"left\",z=D.textVerticalAlign;M(e,i,r,k,L);var N=h.adjustTextY(L,b,z),B=k,F=N;if(s||p){var V=h.getWidth(n,d);p&&(V+=p[1]+p[3]);var H=h.adjustTextX(k,V,E);s&&C(t,e,i,H,N,V,b),p&&(B=R(k,E,p),F+=p[0])}e.textAlign=E,e.textBaseline=\"middle\",e.globalAlpha=i.opacity||1;for(var W=0;W<x.length;W++){var G=x[W],j=G[0],U=G[1],Y=i[j];l&&Y===o[j]||(e[U]=f(e,U,Y||G[2]))}F+=T/2;var X=i.textStrokeWidth,q=l?o.textStrokeWidth:null,Z=!l||X!==q,K=!l||Z||i.textStroke!==o.textStroke,$=O(i.textStroke,X),J=P(i.textFill);$&&(Z&&(e.lineWidth=X),K&&(e.strokeStyle=$));J&&(l&&i.textFill===o.textFill||(e.fillStyle=J));if(1===S.length)$&&e.strokeText(S[0],B,F),J&&e.fillText(S[0],B,F);else for(W=0;W<S.length;W++)$&&e.strokeText(S[W],B,F),J&&e.fillText(S[W],B,F),F+=T}(t,e,n,i,r,a)},e.getBoxPosition=A,e.getStroke=O,e.getFill=P,e.parsePercent=L,e.needDrawText=function(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}},function(t,e){e.buildPath=function(t,e){var n,i,r,a,o,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),\"number\"==typeof c?n=i=r=a=c:c instanceof Array?1===c.length?n=i=r=a=c[0]:2===c.length?(n=r=c[0],i=a=c[1]):3===c.length?(n=c[0],i=a=c[1],r=c[2]):(n=c[0],i=c[1],r=c[2],a=c[3]):n=i=r=a=0,n+i>u&&(n*=u/(o=n+i),i*=u/o),r+a>u&&(r*=u/(o=r+a),a*=u/o),i+r>h&&(i*=h/(o=i+r),r*=h/o),n+a>h&&(n*=h/(o=n+a),a*=h/o),t.moveTo(s+n,l),t.lineTo(s+u-i,l),0!==i&&t.arc(s+u-i,l+i,i,-Math.PI/2,0),t.lineTo(s+u,l+h-r),0!==r&&t.arc(s+u-r,l+h-r,r,0,Math.PI/2),t.lineTo(s+a,l+h),0!==a&&t.arc(s+a,l+h-a,a,Math.PI/2,Math.PI),t.lineTo(s,l+n),0!==n&&t.arc(s+n,l+n,n,Math.PI,1.5*Math.PI)}},function(t,e,n){n(5).__DEV__;var i=n(0),r=i.each,a=i.filter,o=i.map,s=i.isArray,l=i.indexOf,u=i.isObject,h=i.isString,c=i.createHashMap,d=i.assert,f=i.clone,p=i.merge,g=i.extend,v=i.mixin,m=n(1),y=n(16),_=n(22),x=n(210),b=n(122),w=n(32).resetSourceDefaulter,S=y.extend({init:function(t,e,n,i){n=n||{},this.option=null,this._theme=new y(n),this._optionManager=i},setOption:function(t,e){d(!(\"\\0_ec_inner\"in t),\"please use chart.getOption()\"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,n=this._optionManager;if(!t||\"recreate\"===t){var i=n.mountOption(\"recreate\"===t);this.option&&\"recreate\"!==t?(this.restoreData(),this.mergeOption(i)):M.call(this,i),e=!0}if(\"timeline\"!==t&&\"media\"!==t||this.restoreData(),!t||\"recreate\"===t||\"timeline\"===t){var a=n.getTimelineOption(this);a&&(this.mergeOption(a),e=!0)}if(!t||\"recreate\"===t||\"media\"===t){var o=n.getMediaOption(this,this._api);o.length&&r(o,(function(t){this.mergeOption(t,e=!0)}),this)}return e},mergeOption:function(t){var e=this.option,n=this._componentsMap,i=[];w(this),r(t,(function(t,n){null!=t&&(_.hasClass(n)?n&&i.push(n):e[n]=null==e[n]?f(t):p(e[n],t,!0))})),_.topologicalTravel(i,_.getAllClassMainTypes(),(function(i,a){var o=m.normalizeToArray(t[i]),l=m.mappingToExists(n.get(i),o);m.makeIdAndName(l),r(l,(function(t,e){var n=t.option;u(n)&&(t.keyInfo.mainType=i,t.keyInfo.subType=function(t,e,n){return e.type?e.type:n?n.subType:_.determineSubType(t,e)}(i,n,t.exist))}));var h=function(t,e){s(e)||(e=e?[e]:[]);var n={};return r(e,(function(e){n[e]=(t.get(e)||[]).slice()})),n}(n,a);e[i]=[],n.set(i,[]),r(l,(function(t,r){var a=t.exist,o=t.option;if(d(u(o)||a,\"Empty component definition\"),o){var s=_.getClass(i,t.keyInfo.subType,!0);if(a&&a.constructor===s)a.name=t.keyInfo.name,a.mergeOption(o,this),a.optionUpdated(o,!1);else{var l=g({dependentModels:h,componentIndex:r},t.keyInfo);a=new s(o,this,this,l),g(a,l),a.init(o,this,this,l),a.optionUpdated(null,!0)}}else a.mergeOption({},this),a.optionUpdated({},!1);n.get(i)[r]=a,e[i][r]=a.option}),this),\"series\"===i&&T(this,n.get(\"series\"))}),this),this._seriesIndicesMap=c(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=f(this.option);return r(t,(function(e,n){if(_.hasClass(n)){for(var i=(e=m.normalizeToArray(e)).length-1;i>=0;i--)m.isIdInner(e[i])&&e.splice(i,1);t[n]=e}})),delete t[\"\\0_ec_inner\"],t},getTheme:function(){return this._theme},getComponent:function(t,e){var n=this._componentsMap.get(t);if(n)return n[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var n,i=t.index,r=t.id,u=t.name,h=this._componentsMap.get(e);if(!h||!h.length)return[];if(null!=i)s(i)||(i=[i]),n=a(o(i,(function(t){return h[t]})),(function(t){return!!t}));else if(null!=r){var c=s(r);n=a(h,(function(t){return c&&l(r,t.id)>=0||!c&&t.id===r}))}else if(null!=u){var d=s(u);n=a(h,(function(t){return d&&l(u,t.name)>=0||!d&&t.name===u}))}else n=h.slice();return I(n,t)},findComponents:function(t){var e,n,i,r,o,s=t.query,l=t.mainType,u=(n=l+\"Index\",i=l+\"Id\",r=l+\"Name\",!(e=s)||null==e[n]&&null==e[i]&&null==e[r]?null:{mainType:l,index:e[n],id:e[i],name:e[r]}),h=u?this.queryComponents(u):this._componentsMap.get(l);return o=I(h,t),t.filter?a(o,t.filter):o},eachComponent:function(t,e,n){var i=this._componentsMap;if(\"function\"==typeof t)n=e,e=t,i.each((function(t,i){r(t,(function(t,r){e.call(n,i,t,r)}))}));else if(h(t))r(i.get(t),e,n);else if(u(t)){var a=this.findComponents(t);r(a,e,n)}},getSeriesByName:function(t){var e=this._componentsMap.get(\"series\");return a(e,(function(e){return e.name===t}))},getSeriesByIndex:function(t){return this._componentsMap.get(\"series\")[t]},getSeriesByType:function(t){var e=this._componentsMap.get(\"series\");return a(e,(function(e){return e.subType===t}))},getSeries:function(){return this._componentsMap.get(\"series\").slice()},getSeriesCount:function(){return this._componentsMap.get(\"series\").length},eachSeries:function(t,e){r(this._seriesIndices,(function(n){var i=this._componentsMap.get(\"series\")[n];t.call(e,i,n)}),this)},eachRawSeries:function(t,e){r(this._componentsMap.get(\"series\"),t,e)},eachSeriesByType:function(t,e,n){r(this._seriesIndices,(function(i){var r=this._componentsMap.get(\"series\")[i];r.subType===t&&e.call(n,r,i)}),this)},eachRawSeriesByType:function(t,e,n){return r(this.getSeriesByType(t),e,n)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){T(this,a(this._componentsMap.get(\"series\"),t,e))},restoreData:function(t){var e=this._componentsMap;T(this,e.get(\"series\"));var n=[];e.each((function(t,e){n.push(e)})),_.topologicalTravel(n,_.getAllClassMainTypes(),(function(n,i){r(e.get(n),(function(e){(\"series\"!==n||!function(t,e){if(e){var n=e.seiresIndex,i=e.seriesId,r=e.seriesName;return null!=n&&t.componentIndex!==n||null!=i&&t.id!==i||null!=r&&t.name!==r}}(e,t))&&e.restoreData()}))}))}});function M(t){var e,n,i;t=t,this.option={},this.option[\"\\0_ec_inner\"]=1,this._componentsMap=c({series:[]}),this._seriesIndices,this._seriesIndicesMap,e=t,n=this._theme.option,i=e.color&&!e.colorLayer,r(n,(function(t,n){\"colorLayer\"===n&&i||_.hasClass(n)||(\"object\"==typeof t?e[n]=e[n]?p(e[n],t,!1):f(t):null==e[n]&&(e[n]=t))})),p(t,x,!1),this.mergeOption(t)}function T(t,e){t._seriesIndicesMap=c(t._seriesIndices=o(e,(function(t){return t.componentIndex}))||[])}function I(t,e){return e.hasOwnProperty(\"subType\")?a(t,(function(t){return t.subType===e.subType})):t}v(S,b);var C=S;t.exports=C},function(t,e,n){var i=n(8),r=n(56),a=n(197),o=Math.sqrt,s=Math.sin,l=Math.cos,u=Math.PI,h=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},c=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(h(t)*h(e))},d=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(c(t,e))};function f(t,e,n,i,r,a,h,f,p,g,v){var m=p*(u/180),y=l(m)*(t-n)/2+s(m)*(e-i)/2,_=-1*s(m)*(t-n)/2+l(m)*(e-i)/2,x=y*y/(h*h)+_*_/(f*f);x>1&&(h*=o(x),f*=o(x));var b=(r===a?-1:1)*o((h*h*(f*f)-h*h*(_*_)-f*f*(y*y))/(h*h*(_*_)+f*f*(y*y)))||0,w=b*h*_/f,S=b*-f*y/h,M=(t+n)/2+l(m)*w-s(m)*S,T=(e+i)/2+s(m)*w+l(m)*S,I=d([1,0],[(y-w)/h,(_-S)/f]),C=[(y-w)/h,(_-S)/f],D=[(-1*y-w)/h,(-1*_-S)/f],A=d(C,D);c(C,D)<=-1&&(A=u),c(C,D)>=1&&(A=0),0===a&&A>0&&(A-=2*u),1===a&&A<0&&(A+=2*u),v.addData(g,M,T,h,f,I,A,m,a)}var p=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,g=/-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;function v(t,e){var n=function(t){if(!t)return new r;for(var e,n=0,i=0,a=n,o=i,s=new r,l=r.CMD,u=t.match(p),h=0;h<u.length;h++){for(var c,d=u[h],v=d.charAt(0),m=d.match(g)||[],y=m.length,_=0;_<y;_++)m[_]=parseFloat(m[_]);for(var x=0;x<y;){var b,w,S,M,T,I,C,D=n,A=i;switch(v){case\"l\":n+=m[x++],i+=m[x++],c=l.L,s.addData(c,n,i);break;case\"L\":n=m[x++],i=m[x++],c=l.L,s.addData(c,n,i);break;case\"m\":n+=m[x++],i+=m[x++],c=l.M,s.addData(c,n,i),a=n,o=i,v=\"l\";break;case\"M\":n=m[x++],i=m[x++],c=l.M,s.addData(c,n,i),a=n,o=i,v=\"L\";break;case\"h\":n+=m[x++],c=l.L,s.addData(c,n,i);break;case\"H\":n=m[x++],c=l.L,s.addData(c,n,i);break;case\"v\":i+=m[x++],c=l.L,s.addData(c,n,i);break;case\"V\":i=m[x++],c=l.L,s.addData(c,n,i);break;case\"C\":c=l.C,s.addData(c,m[x++],m[x++],m[x++],m[x++],m[x++],m[x++]),n=m[x-2],i=m[x-1];break;case\"c\":c=l.C,s.addData(c,m[x++]+n,m[x++]+i,m[x++]+n,m[x++]+i,m[x++]+n,m[x++]+i),n+=m[x-2],i+=m[x-1];break;case\"S\":b=n,w=i;var k=s.len(),O=s.data;e===l.C&&(b+=n-O[k-4],w+=i-O[k-3]),c=l.C,D=m[x++],A=m[x++],n=m[x++],i=m[x++],s.addData(c,b,w,D,A,n,i);break;case\"s\":b=n,w=i;k=s.len(),O=s.data;e===l.C&&(b+=n-O[k-4],w+=i-O[k-3]),c=l.C,D=n+m[x++],A=i+m[x++],n+=m[x++],i+=m[x++],s.addData(c,b,w,D,A,n,i);break;case\"Q\":D=m[x++],A=m[x++],n=m[x++],i=m[x++],c=l.Q,s.addData(c,D,A,n,i);break;case\"q\":D=m[x++]+n,A=m[x++]+i,n+=m[x++],i+=m[x++],c=l.Q,s.addData(c,D,A,n,i);break;case\"T\":b=n,w=i;k=s.len(),O=s.data;e===l.Q&&(b+=n-O[k-4],w+=i-O[k-3]),n=m[x++],i=m[x++],c=l.Q,s.addData(c,b,w,n,i);break;case\"t\":b=n,w=i;k=s.len(),O=s.data;e===l.Q&&(b+=n-O[k-4],w+=i-O[k-3]),n+=m[x++],i+=m[x++],c=l.Q,s.addData(c,b,w,n,i);break;case\"A\":S=m[x++],M=m[x++],T=m[x++],I=m[x++],C=m[x++],f(D=n,A=i,n=m[x++],i=m[x++],I,C,S,M,T,c=l.A,s);break;case\"a\":S=m[x++],M=m[x++],T=m[x++],I=m[x++],C=m[x++],f(D=n,A=i,n+=m[x++],i+=m[x++],I,C,S,M,T,c=l.A,s)}}\"z\"!==v&&\"Z\"!==v||(c=l.Z,s.addData(c),n=a,i=o),e=c}return s.toStatic(),s}(t);return(e=e||{}).buildPath=function(t){if(t.setData){t.setData(n.data),(e=t.getContext())&&t.rebuildPath(e)}else{var e=t;n.rebuildPath(e)}},e.applyTransform=function(t){a(n,t),this.dirty(!0)},e}e.createFromString=function(t,e){return new i(v(t,e))},e.extendFromString=function(t,e){return i.extend(v(t,e))},e.mergePath=function(t,e){for(var n=[],r=t.length,a=0;a<r;a++){var o=t[a];o.path||o.createPathProxy(),o.__dirtyPath&&o.buildPath(o.path,o.shape,!0),n.push(o.path)}var s=new i(e);return s.createPathProxy(),s.buildPath=function(t){t.appendPath(n);var e=t.getContext();e&&t.rebuildPath(e)},s}},function(t,e,n){var i=n(7),r=n(31),a=Math.min,o=Math.max,s=Math.sin,l=Math.cos,u=2*Math.PI,h=i.create(),c=i.create(),d=i.create();var f=[],p=[];e.fromPoints=function(t,e,n){if(0!==t.length){var i,r=t[0],s=r[0],l=r[0],u=r[1],h=r[1];for(i=1;i<t.length;i++)r=t[i],s=a(s,r[0]),l=o(l,r[0]),u=a(u,r[1]),h=o(h,r[1]);e[0]=s,e[1]=u,n[0]=l,n[1]=h}},e.fromLine=function(t,e,n,i,r,s){r[0]=a(t,n),r[1]=a(e,i),s[0]=o(t,n),s[1]=o(e,i)},e.fromCubic=function(t,e,n,i,s,l,u,h,c,d){var g,v=r.cubicExtrema,m=r.cubicAt,y=v(t,n,s,u,f);for(c[0]=1/0,c[1]=1/0,d[0]=-1/0,d[1]=-1/0,g=0;g<y;g++){var _=m(t,n,s,u,f[g]);c[0]=a(_,c[0]),d[0]=o(_,d[0])}for(y=v(e,i,l,h,p),g=0;g<y;g++){var x=m(e,i,l,h,p[g]);c[1]=a(x,c[1]),d[1]=o(x,d[1])}c[0]=a(t,c[0]),d[0]=o(t,d[0]),c[0]=a(u,c[0]),d[0]=o(u,d[0]),c[1]=a(e,c[1]),d[1]=o(e,d[1]),c[1]=a(h,c[1]),d[1]=o(h,d[1])},e.fromQuadratic=function(t,e,n,i,s,l,u,h){var c=r.quadraticExtremum,d=r.quadraticAt,f=o(a(c(t,n,s),1),0),p=o(a(c(e,i,l),1),0),g=d(t,n,s,f),v=d(e,i,l,p);u[0]=a(t,s,g),u[1]=a(e,l,v),h[0]=o(t,s,g),h[1]=o(e,l,v)},e.fromArc=function(t,e,n,r,a,o,f,p,g){var v=i.min,m=i.max,y=Math.abs(a-o);if(y%u<1e-4&&y>1e-4)return p[0]=t-n,p[1]=e-r,g[0]=t+n,void(g[1]=e+r);if(h[0]=l(a)*n+t,h[1]=s(a)*r+e,c[0]=l(o)*n+t,c[1]=s(o)*r+e,v(p,h,c),m(g,h,c),(a%=u)<0&&(a+=u),(o%=u)<0&&(o+=u),a>o&&!f?o+=u:a<o&&f&&(a+=u),f){var _=o;o=a,a=_}for(var x=0;x<o;x+=Math.PI/2)x>a&&(d[0]=l(x)*n+t,d[1]=s(x)*r+e,v(p,d,p),m(g,d,g))}},function(t,e){var n=2*Math.PI;e.normalizeRadian=function(t){return(t%=n)<0&&(t+=n),t}},function(t,e){t.exports=function(t,e,n,i,r,a){if(a>e&&a>i||a<e&&a<i)return 0;if(i===e)return 0;var o=i<e?1:-1,s=(a-e)/(i-e);1!==s&&0!==s||(o=i<e?.5:-.5);var l=s*(n-t)+t;return l===r?1/0:l>r?o:0}},function(t,e,n){var i=n(8).extend({type:\"circle\",shape:{cx:0,cy:0,r:0},buildPath:function(t,e,n){n&&t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}});t.exports=i},function(t,e,n){var i=n(8),r=n(118),a=i.extend({type:\"polygon\",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){r.buildPath(t,e,!0)}});t.exports=a},function(t,e,n){var i=n(201),r=n(202);e.buildPath=function(t,e,n){var a=e.points,o=e.smooth;if(a&&a.length>=2){if(o&&\"spline\"!==o){var s=r(a,o,n,e.smoothConstraint);t.moveTo(a[0][0],a[0][1]);for(var l=a.length,u=0;u<(n?l:l-1);u++){var h=s[2*u],c=s[2*u+1],d=a[(u+1)%l];t.bezierCurveTo(h[0],h[1],c[0],c[1],d[0],d[1])}}else{\"spline\"===o&&(a=i(a,n)),t.moveTo(a[0][0],a[0][1]);u=1;for(var f=a.length;u<f;u++)t.lineTo(a[u][0],a[u][1])}n&&t.closePath()}}},function(t,e,n){var i=n(8),r=n(118),a=i.extend({type:\"polyline\",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){r.buildPath(t,e,!1)}});t.exports=a},function(t,e,n){var i=n(8),r=n(110),a=n(76).subPixelOptimizeRect,o={},s=i.extend({type:\"rect\",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var n,i,s,l;this.subPixelOptimize?(a(o,e,this.style),n=o.x,i=o.y,s=o.width,l=o.height,o.r=e.r,e=o):(n=e.x,i=e.y,s=e.width,l=e.height),e.r?r.buildPath(t,e):t.rect(n,i,s,l),t.closePath()}});t.exports=s},function(t,e,n){var i=n(8),r=n(76).subPixelOptimizeLine,a={},o=i.extend({type:\"line\",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){var n,i,o,s;this.subPixelOptimize?(r(a,e,this.style),n=a.x1,i=a.y1,o=a.x2,s=a.y2):(n=e.x1,i=e.y1,o=e.x2,s=e.y2);var l=e.percent;0!==l&&(t.moveTo(n,i),l<1&&(o=n*(1-l)+o*l,s=i*(1-l)+s*l),t.lineTo(o,s))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}});t.exports=o},function(t,e,n){var i=n(1),r=i.makeInner,a=i.normalizeToArray,o=r();var s={clearColorPalette:function(){o(this).colorIdx=0,o(this).colorNameMap={}},getColorFromPalette:function(t,e,n){var i=o(e=e||this),r=i.colorIdx||0,s=i.colorNameMap=i.colorNameMap||{};if(s.hasOwnProperty(t))return s[t];var l=a(this.get(\"color\",!0)),u=this.get(\"colorLayer\",!0),h=null!=n&&u?function(t,e){for(var n=t.length,i=0;i<n;i++)if(t[i].length>e)return t[i];return t[n-1]}(u,n):l;if((h=h||l)&&h.length){var c=h[r];return t&&(s[t]=c),i.colorIdx=(r+1)%h.length,c}}};t.exports=s},function(t,e,n){var i=n(0),r=[\"getDom\",\"getZr\",\"getWidth\",\"getHeight\",\"getDevicePixelRatio\",\"dispatchAction\",\"isDisposed\",\"on\",\"off\",\"getDataURL\",\"getConnectedDataURL\",\"getModel\",\"getOption\",\"getViewOfComponentModel\",\"getViewOfSeriesModel\"];var a=function(t){i.each(r,(function(e){this[e]=i.bind(t[e],t)}),this)};t.exports=a},function(t,e,n){n(5).__DEV__;var i=n(0),r=n(6),a=n(9),o=a.formatTime,s=a.encodeHTML,l=a.addCommas,u=a.getTooltipMarker,h=n(1),c=n(22),d=n(122),f=n(215),p=n(11),g=p.getLayoutParams,v=p.mergeLayoutParam,m=n(79).createTask,y=n(32),_=y.prepareSource,x=y.getSource,b=n(42).retrieveRawValue,w=h.makeInner(),S=c.extend({type:\"series.__base__\",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendVisualProvider:null,visualColorAccessPath:\"itemStyle.color\",visualBorderColorAccessPath:\"itemStyle.borderColor\",layoutMode:null,init:function(t,e,n,i){this.seriesIndex=this.componentIndex,this.dataTask=m({count:T,reset:I}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n),_(this);var r=this.getInitialData(t,n);D(r,this),this.dataTask.context.data=r,w(this).dataBeforeProcessed=r,M(this)},mergeDefaultAndTheme:function(t,e){var n=this.layoutMode,r=n?g(t):{},a=this.subType;c.hasClass(a)&&(a+=\"Series\"),i.merge(t,e.getTheme().get(this.subType)),i.merge(t,this.getDefaultOption()),h.defaultEmphasis(t,\"label\",[\"show\"]),this.fillDataTextStyle(t.data),n&&v(t,r,n)},mergeOption:function(t,e){t=i.merge(this.option,t,!0),this.fillDataTextStyle(t.data);var n=this.layoutMode;n&&v(this.option,t,n),_(this);var r=this.getInitialData(t,e);D(r,this),this.dataTask.dirty(),this.dataTask.context.data=r,w(this).dataBeforeProcessed=r,M(this)},fillDataTextStyle:function(t){if(t&&!i.isTypedArray(t))for(var e=[\"show\"],n=0;n<t.length;n++)t[n]&&t[n].label&&h.defaultEmphasis(t[n],\"label\",e)},getInitialData:function(){},appendData:function(t){this.getRawData().appendData(t.data)},getData:function(t){var e=k(this);if(e){var n=e.context.data;return null==t?n:n.getLinkedData(t)}return w(this).data},setData:function(t){var e=k(this);if(e){var n=e.context;n.data!==t&&e.modifyOutputEnd&&e.setOutputEnd(t.count()),n.outputData=t,e!==this.dataTask&&(n.data=t)}w(this).data=t},getSource:function(){return x(this)},getRawData:function(){return w(this).dataBeforeProcessed},getBaseAxis:function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},formatTooltip:function(t,e,n,r){var a=this,c=\"html\"===(r=r||\"html\")?\"<br/>\":\"\\n\",d=\"richText\"===r,f={},p=0;function g(t){return{renderMode:r,content:s(l(t)),style:f}}var v=this.getData(),m=v.mapDimension(\"defaultedTooltip\",!0),y=m.length,_=this.getRawValue(t),x=i.isArray(_),w=v.getItemVisual(t,\"color\");i.isObject(w)&&w.colorStops&&(w=(w.colorStops[0]||{}).color),w=w||\"transparent\";var S=(y>1||x&&!y?function(n){var h=i.reduce(n,(function(t,e,n){var i=v.getDimensionInfo(n);return t|(i&&!1!==i.tooltip&&null!=i.displayName)}),0),c=[];function g(t,n){var i=v.getDimensionInfo(n);if(i&&!1!==i.otherDims.tooltip){var g=i.type,m=\"sub\"+a.seriesIndex+\"at\"+p,y=u({color:w,type:\"subItem\",renderMode:r,markerId:m}),_=\"string\"==typeof y?y:y.content,x=(h?_+s(i.displayName||\"-\")+\": \":\"\")+s(\"ordinal\"===g?t+\"\":\"time\"===g?e?\"\":o(\"yyyy/MM/dd hh:mm:ss\",t):l(t));x&&c.push(x),d&&(f[m]=w,++p)}}m.length?i.each(m,(function(e){g(b(v,t,e),e)})):i.each(n,g);var y=h?d?\"\\n\":\"<br/>\":\"\",_=y+c.join(y||\", \");return{renderMode:r,content:_,style:f}}(_):g(y?b(v,t,m[0]):x?_[0]:_)).content,M=a.seriesIndex+\"at\"+p,T=u({color:w,type:\"item\",renderMode:r,markerId:M});f[M]=w,++p;var I=v.getName(t),C=this.name;h.isNameSpecified(this)||(C=\"\"),C=C?s(C)+(e?\": \":c):\"\";var D=\"string\"==typeof T?T:T.content;return{html:e?D+C+S:C+D+(I?s(I)+\": \"+S:S),markers:f}},isAnimationEnabled:function(){if(r.node)return!1;var t=this.getShallow(\"animation\");return t&&this.getData().count()>this.getShallow(\"animationThreshold\")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,n){var i=this.ecModel,r=d.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get(\"progressive\")},getProgressiveThreshold:function(){return this.get(\"progressiveThreshold\")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});function M(t){var e=t.name;h.isNameSpecified(t)||(t.name=function(t){var e=t.getRawData(),n=e.mapDimension(\"seriesName\",!0),r=[];return i.each(n,(function(t){var n=e.getDimensionInfo(t);n.displayName&&r.push(n.displayName)})),r.join(\" \")}(t)||e)}function T(t){return t.model.getRawData().count()}function I(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),C}function C(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function D(t,e){i.each(t.CHANGABLE_METHODS,(function(n){t.wrapMethod(n,i.curry(A,e))}))}function A(t){var e=k(t);e&&e.setOutputEnd(this.count())}function k(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}i.mixin(S,f),i.mixin(S,d);var O=S;t.exports=O},function(t,e,n){var i=n(39),r=n(57),a=n(21),o=function(){this.group=new i,this.uid=r.getUID(\"viewComponent\")},s=o.prototype={constructor:o,init:function(t,e){},render:function(t,e,n,i){},dispose:function(){},filterForExposedEvent:null};s.updateView=s.updateLayout=s.updateVisual=function(t,e,n,i){},a.enableClassExtend(o),a.enableClassManagement(o,{registerWhenExtend:!0});var l=o;t.exports=l},function(t,e,n){var i=n(0).each,r=n(39),a=n(57),o=n(21),s=n(1),l=n(4),u=n(79).createTask,h=n(127),c=s.makeInner(),d=h();function f(){this.group=new r,this.uid=a.getUID(\"viewChart\"),this.renderTask=u({plan:m,reset:y}),this.renderTask.context={view:this}}f.prototype={type:\"chart\",init:function(t,e){},render:function(t,e,n,i){},highlight:function(t,e,n,i){v(t.getData(),i,\"emphasis\")},downplay:function(t,e,n,i){v(t.getData(),i,\"normal\")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var p=f.prototype;function g(t,e,n){if(t&&(t.trigger(e,n),t.isGroup&&!l.isHighDownDispatcher(t)))for(var i=0,r=t.childCount();i<r;i++)g(t.childAt(i),e,n)}function v(t,e,n){var r=s.queryDataIndex(t,e),a=e&&null!=e.highlightKey?l.getHighlightDigit(e.highlightKey):null;null!=r?i(s.normalizeToArray(r),(function(e){g(t.getItemGraphicEl(e),n,a)})):t.eachItemGraphicEl((function(t){g(t,n,a)}))}function m(t){return d(t.model)}function y(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,a=e.pipelineContext.progressiveRender,o=t.view,s=r&&c(r).updateMethod,l=a?\"incrementalPrepareRender\":s&&o[s]?s:\"render\";return\"render\"!==l&&o[l](e,n,i,r),_[l]}p.updateView=p.updateLayout=p.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},o.enableClassExtend(f,[\"dispose\"]),o.enableClassManagement(f,{registerWhenExtend:!0}),f.markUpdateMethod=function(t,e){c(t).updateMethod=e};var _={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},x=f;t.exports=x},function(t,e,n){var i=n(1).makeInner;t.exports=function(){var t=i();return function(e){var n=t(e),i=e.pipelineContext,r=n.large,a=n.progressiveRender,o=n.large=i&&i.large,s=n.progressiveRender=i&&i.progressiveRender;return!!(r^o||a^s)&&\"reset\"}}},function(t,e){t.exports={legend:{selector:{all:\"全选\",inverse:\"反选\"}},toolbox:{brush:{title:{rect:\"矩形选择\",polygon:\"圈选\",lineX:\"横向选择\",lineY:\"纵向选择\",keep:\"保持选择\",clear:\"清除选择\"}},dataView:{title:\"数据视图\",lang:[\"数据视图\",\"关闭\",\"刷新\"]},dataZoom:{title:{zoom:\"区域缩放\",back:\"区域缩放还原\"}},magicType:{title:{line:\"切换为折线图\",bar:\"切换为柱状图\",stack:\"切换为堆叠\",tiled:\"切换为平铺\"}},restore:{title:\"还原\"},saveAsImage:{title:\"保存为图片\",lang:[\"右键另存为图片\"]}},series:{typeNames:{pie:\"饼图\",bar:\"柱状图\",line:\"折线图\",scatter:\"散点图\",effectScatter:\"涟漪散点图\",radar:\"雷达图\",tree:\"树图\",treemap:\"矩形树图\",boxplot:\"箱型图\",candlestick:\"K线图\",k:\"K线图\",heatmap:\"热力图\",map:\"地图\",parallel:\"平行坐标图\",lines:\"线图\",graph:\"关系图\",sankey:\"桑基图\",funnel:\"漏斗图\",gauge:\"仪表盘图\",pictorialBar:\"象形柱图\",themeRiver:\"主题河流图\",sunburst:\"旭日图\"}},aria:{general:{withTitle:\"这是一个关于“{title}”的图表。\",withoutTitle:\"这是一个图表，\"},series:{single:{prefix:\"\",withName:\"图表类型是{seriesType}，表示{seriesName}。\",withoutName:\"图表类型是{seriesType}。\"},multiple:{prefix:\"它由{seriesCount}个图表系列组成。\",withName:\"第{seriesId}个系列是一个表示{seriesName}的{seriesType}，\",withoutName:\"第{seriesId}个系列是一个{seriesType}，\",separator:{middle:\"；\",end:\"。\"}}},data:{allData:\"其数据是——\",partialData:\"其中，前{displayCnt}项是——\",withName:\"{name}的数据是{value}\",withoutName:\"{value}\",separator:{middle:\"，\",end:\"\"}}}}},function(t,e,n){var i=n(0),r=n(81),a=n(83),o=n(41).SOURCE_FORMAT_ORIGINAL,s=n(82).getDimensionTypeByAxis,l=n(1).getDataItemValue,u=n(58),h=n(229).getCoordSysInfoBySeries,c=n(40),d=n(84).enableDataStack,f=n(32).makeSeriesEncodeForAxisCoordSys;var p=function(t,e,n){n=n||{},c.isInstance(t)||(t=c.seriesDataToSource(t));var p,g=e.get(\"coordinateSystem\"),v=u.get(g),m=h(e);m&&(p=i.map(m.coordSysDims,(function(t){var e={name:t},n=m.axisMap.get(t);if(n){var i=n.get(\"type\");e.type=s(i)}return e}))),p||(p=v&&(v.getDimensionsInfo?v.getDimensionsInfo():v.dimensions.slice())||[\"x\",\"y\"]);var y,_,x=a(t,{coordDimensions:p,generateCoord:n.generateCoord,encodeDefaulter:n.useEncodeDefaulter?i.curry(f,p,e):null});m&&i.each(x,(function(t,e){var n=t.coordDim,i=m.categoryAxisMap.get(n);i&&(null==y&&(y=e),t.ordinalMeta=i.getOrdinalMeta()),null!=t.otherDims.itemName&&(_=!0)})),_||null==y||(x[y].otherDims.itemName=0);var b=d(e,x),w=new r(x,e);w.setCalculationInfo(b);var S=null!=y&&function(t){if(t.sourceFormat===o){var e=function(t){var e=0;for(;e<t.length&&null==t[e];)e++;return t[e]}(t.data||[]);return null!=e&&!i.isArray(l(e))}}(t)?function(t,e,n,i){return i===y?n:this.defaultDimValueGetter(t,e,n,i)}:null;return w.hasItemOption=!1,w.initData(t,null,S),w};t.exports=p},function(t,e,n){var i=n(0);var r=function(t){null!=t&&i.extend(this,t),this.otherDims={}};t.exports=r},function(t,e,n){var i=n(0),r=i.createHashMap,a=i.each,o=i.isString,s=i.defaults,l=i.extend,u=i.isObject,h=i.clone,c=n(1).normalizeToArray,d=n(32),f=d.guessOrdinal,p=d.BE_ORDINAL,g=n(40),v=n(82).OTHER_DIMENSIONS,m=n(130);function y(t,e,n){if(n||null!=e.get(t)){for(var i=0;null!=e.get(t+i);)i++;t+=i}return e.set(t,!0),t}var _=function(t,e,n){g.isInstance(e)||(e=g.seriesDataToSource(e)),n=n||{},t=(t||[]).slice();for(var i=(n.dimsDef||[]).slice(),d=r(),_=r(),x=[],b=function(t,e,n,i){var r=Math.max(t.dimensionsDetectCount||1,e.length,n.length,i||0);return a(e,(function(t){var e=t.dimsDef;e&&(r=Math.max(r,e.length))})),r}(e,t,i,n.dimCount),w=0;w<b;w++){var S=i[w]=l({},u(i[w])?i[w]:{name:i[w]}),M=S.name,T=x[w]=new m;null!=M&&null==d.get(M)&&(T.name=T.displayName=M,d.set(M,w)),null!=S.type&&(T.type=S.type),null!=S.displayName&&(T.displayName=S.displayName)}var I=n.encodeDef;!I&&n.encodeDefaulter&&(I=n.encodeDefaulter(e,b)),(I=r(I)).each((function(t,e){if(1===(t=c(t).slice()).length&&!o(t[0])&&t[0]<0)I.set(e,!1);else{var n=I.set(e,[]);a(t,(function(t,i){o(t)&&(t=d.get(t)),null!=t&&t<b&&(n[i]=t,D(x[t],e,i))}))}}));var C=0;function D(t,e,n){null!=v.get(e)?t.otherDims[e]=n:(t.coordDim=e,t.coordDimIndex=n,_.set(e,!0))}a(t,(function(t,e){var n,i,r;if(o(t))n=t,t={};else{n=t.name;var l=t.ordinalMeta;t.ordinalMeta=null,(t=h(t)).ordinalMeta=l,i=t.dimsDef,r=t.otherDims,t.name=t.coordDim=t.coordDimIndex=t.dimsDef=t.otherDims=null}if(!1!==(d=I.get(n))){var d;if(!(d=c(d)).length)for(var f=0;f<(i&&i.length||1);f++){for(;C<x.length&&null!=x[C].coordDim;)C++;C<x.length&&d.push(C++)}a(d,(function(e,a){var o=x[e];if(D(s(o,t),n,a),null==o.name&&i){var l=i[a];!u(l)&&(l={name:l}),o.name=o.displayName=l.name,o.defaultTooltip=l.defaultTooltip}r&&s(o.otherDims,r)}))}}));var A=n.generateCoord,k=n.generateCoordCount,O=null!=k;k=A?k||1:0;for(var P=A||\"value\",L=0;L<b;L++){null==(T=x[L]=x[L]||new m).coordDim&&(T.coordDim=y(P,_,O),T.coordDimIndex=0,(!A||k<=0)&&(T.isExtraCoord=!0),k--),null==T.name&&(T.name=y(T.coordDim,d)),null!=T.type||f(e,L,T.name)!==p.Must&&(!T.isExtraCoord||null==T.otherDims.itemName&&null==T.otherDims.seriesName)||(T.type=\"ordinal\")}return x};t.exports=_},function(t,e,n){var i=n(3),r=i.round;function a(t){return i.getPrecisionSafe(t)+2}function o(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function s(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),o(t,0,e),o(t,1,e),t[0]>t[1]&&(t[0]=t[1])}e.intervalScaleNiceTicks=function(t,e,n,o){var l={},u=t[1]-t[0],h=l.interval=i.nice(u/e,!0);null!=n&&h<n&&(h=l.interval=n),null!=o&&h>o&&(h=l.interval=o);var c=l.intervalPrecision=a(h);return s(l.niceTickExtent=[r(Math.ceil(t[0]/h)*h,c),r(Math.floor(t[1]/h)*h,c)],t),l},e.getIntervalPrecision=a,e.fixExtent=s},function(t,e,n){var i=n(0),r=i.each;function a(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}t.exports=function(t){var e=t&&t.visualMap;i.isArray(e)||(e=e?[e]:[]),r(e,(function(t){if(t){a(t,\"splitList\")&&!a(t,\"pieces\")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&i.isArray(e)&&r(e,(function(t){i.isObject(t)&&(a(t,\"start\")&&!a(t,\"min\")&&(t.min=t.start),a(t,\"end\")&&!a(t,\"max\")&&(t.max=t.end))}))}}))}},function(t,e,n){n(22).registerSubTypeDefaulter(\"visualMap\",(function(t){return t.categories||(t.pieces?t.pieces.length>0:t.splitNumber>0)&&!t.calculable?\"piecewise\":\"continuous\"}))},function(t,e,n){var i=n(2),r=n(0),a=n(136),o=n(44),s=i.PRIORITY.VISUAL.COMPONENT;function l(t,e,n,i){for(var r=e.targetVisuals[i],a=o.prepareVisualTypes(r),s={color:t.getData().getVisual(\"color\")},l=0,u=a.length;l<u;l++){var h=a[l],c=r[\"opacity\"===h?\"__alphaForOpacity\":h];c&&c.applyVisual(n,d,f)}return s.color;function d(t){return s[t]}function f(t,e){s[t]=e}}i.registerVisual(s,{createOnAllSeries:!0,reset:function(t,e){var n=[];return e.eachComponent(\"visualMap\",(function(e){var i=t.pipelineContext;!e.isTargetSeries(t)||i&&i.large||n.push(a.incrementalApplyVisual(e.stateList,e.targetVisuals,r.bind(e.getValueState,e),e.getDataDimension(t.getData())))})),n}}),i.registerVisual(s,{createOnAllSeries:!0,reset:function(t,e){var n=t.getData(),i=[];e.eachComponent(\"visualMap\",(function(e){if(e.isTargetSeries(t)){var a=e.getVisualMeta(r.bind(l,null,t,e))||{stops:[],outerColors:[]},o=e.getDataDimension(n),s=n.getDimensionInfo(o);null!=s&&(a.dimension=s.index,i.push(a))}})),t.getData().setVisual(\"visualMeta\",i)}})},function(t,e,n){var i=n(0),r=n(44),a=i.each;function o(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}e.createVisualMappings=function(t,e,n){var o={};return a(e,(function(e){var s,l=o[e]=((s=function(){}).prototype.__hidden=s.prototype,new s);a(t[e],(function(t,a){if(r.isValidType(a)){var o={type:a,visual:t};n&&n(o,e),l[a]=new r(o),\"opacity\"===a&&((o=i.clone(o)).type=\"colorAlpha\",l.__hidden.__alphaForOpacity=new r(o))}}))})),o},e.replaceVisualOption=function(t,e,n){var r;i.each(n,(function(t){e.hasOwnProperty(t)&&o(e[t])&&(r=!0)})),r&&i.each(n,(function(n){e.hasOwnProperty(n)&&o(e[n])?t[n]=i.clone(e[n]):delete t[n]}))},e.applyVisual=function(t,e,n,a,o,s){var l,u={};function h(t){return n.getItemVisual(l,t)}function c(t,e){n.setItemVisual(l,t,e)}function d(t,i){l=null==s?t:i;var r=n.getRawDataItem(l);if(!r||!1!==r.visualMap)for(var d=a.call(o,t),f=e[d],p=u[d],g=0,v=p.length;g<v;g++){var m=p[g];f[m]&&f[m].applyVisual(t,h,c)}}i.each(t,(function(t){var n=r.prepareVisualTypes(e[t]);u[t]=n})),null==s?n.each(d):n.each([s],d)},e.incrementalApplyVisual=function(t,e,n,a){var o={};return i.each(t,(function(t){var n=r.prepareVisualTypes(e[t]);o[t]=n})),{progress:function(t,i){function r(t){return i.getItemVisual(l,t)}function s(t,e){i.setItemVisual(l,t,e)}var l;for(null!=a&&(a=i.getDimension(a));null!=(l=t.next());){var u=i.getRawDataItem(l);if(!u||!1!==u.visualMap)for(var h=null!=a?i.get(a,l,!0):l,c=n(h),d=e[c],f=o[c],p=0,g=f.length;p<g;p++){var v=f[p];d[v]&&d[v].applyVisual(h,r,s)}}}}}},function(t,e,n){var i=n(2),r=n(0),a=n(6),o=n(138),s=n(44),l=n(136),u=n(1),h=n(3),c=s.mapVisual,d=s.eachVisual,f=r.isArray,p=r.each,g=h.asc,v=h.linearMap,m=r.noop,y=i.extendComponentModel({type:\"visualMap\",dependencies:[\"series\"],stateList:[\"inRange\",\"outOfRange\"],replacableOptionKeys:[\"inRange\",\"outOfRange\",\"target\",\"controller\",\"color\"],dataBound:[-1/0,1/0],layoutMode:{type:\"box\",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:\"all\",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:\"vertical\",backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",contentColor:\"#5793f3\",inactiveColor:\"#aaa\",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:\"#333\"}},init:function(t,e,n){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,n)},optionUpdated:function(t,e){var n=this.option;a.canvasSupported||(n.realtime=!1),!e&&l.replaceVisualOption(n,t,this.replacableOptionKeys),this.textStyleModel=this.getModel(\"textStyle\"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=r.bind(t,this),this.controllerVisuals=l.createVisualMappings(this.option.controller,e,t),this.targetVisuals=l.createVisualMappings(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,e=[];return null==t||\"all\"===t?this.ecModel.eachSeries((function(t,n){e.push(n)})):e=u.normalizeToArray(t),e},eachTargetSeries:function(t,e){r.each(this.getTargetSeriesIndices(),(function(n){t.call(e,this.ecModel.getSeriesByIndex(n))}),this)},isTargetSeries:function(t){var e=!1;return this.eachTargetSeries((function(n){n===t&&(e=!0)})),e},formatValueText:function(t,e,n){var i,a,o=this.option,s=o.precision,l=this.dataBound,u=o.formatter;return n=n||[\"<\",\">\"],r.isArray(t)&&(t=t.slice(),i=!0),a=e?t:i?[h(t[0]),h(t[1])]:h(t),r.isString(u)?u.replace(\"{value}\",i?a[0]:a).replace(\"{value2}\",i?a[1]:a):r.isFunction(u)?i?u(t[0],t[1]):u(t):i?t[0]===l[0]?n[0]+\" \"+a[1]:t[1]===l[1]?n[1]+\" \"+a[0]:a[0]+\" - \"+a[1]:a;function h(t){return t===l[0]?\"min\":t===l[1]?\"max\":(+t).toFixed(Math.min(s,20))}},resetExtent:function(){var t=this.option,e=g([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,n=t.dimensions;if(null!=e||n.length){if(null!=e)return t.getDimension(e);for(var i=t.dimensions,r=i.length-1;r>=0;r--){var a=i[r];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var t=this.ecModel,e=this.option,n={inRange:e.inRange,outOfRange:e.outOfRange},i=e.target||(e.target={}),a=e.controller||(e.controller={});r.merge(i,n),r.merge(a,n);var l=this.isCategory();function u(n){f(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get(\"gradientColor\")},p(this.stateList,(function(t){var e=n[t];if(r.isString(e)){var i=o.get(e,\"active\",l);i?(n[t]={},n[t][e]=i):delete n[t]}}),this)}u.call(this,i),u.call(this,a),function(t,e,n){var i=t[e],r=t[n];i&&!r&&(r=t[n]={},p(i,(function(t,e){if(s.isValidType(e)){var n=o.get(e,\"inactive\",l);null!=n&&(r[e]=n,\"color\"!==e||r.hasOwnProperty(\"opacity\")||r.hasOwnProperty(\"colorAlpha\")||(r.opacity=[0,0]))}})))}.call(this,i,\"inRange\",\"outOfRange\"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,i=this.get(\"inactiveColor\");p(this.stateList,(function(a){var o=this.itemSize,s=t[a];s||(s=t[a]={color:l?i:[i]}),null==s.symbol&&(s.symbol=e&&r.clone(e)||(l?\"roundRect\":[\"roundRect\"])),null==s.symbolSize&&(s.symbolSize=n&&r.clone(n)||(l?o[0]:[o[0],o[0]])),s.symbol=c(s.symbol,(function(t){return\"none\"===t||\"square\"===t?\"roundRect\":t}));var u=s.symbolSize;if(null!=u){var h=-1/0;d(u,(function(t){t>h&&(h=t)})),s.symbolSize=c(u,(function(t){return v(t,[0,h],[0,o[0]],!0)}))}}),this)}.call(this,a)},resetItemSize:function(){this.itemSize=[parseFloat(this.get(\"itemWidth\")),parseFloat(this.get(\"itemHeight\"))]},isCategory:function(){return!!this.option.categories},setSelected:m,getValueState:m,getVisualMeta:m});t.exports=y},function(t,e,n){var i=n(0),r={get:function(t,e,n){var r=i.clone((a[t]||{})[e]);return n&&i.isArray(r)?r[r.length-1]:r}},a={color:{active:[\"#006edd\",\"#e0ffff\"],inactive:[\"rgba(0,0,0,0)\"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:[\"circle\",\"roundRect\",\"diamond\"],inactive:[\"none\"]},symbolSize:{active:[10,50],inactive:[0,0]}},o=r;t.exports=o},function(t,e,n){var i=n(2),r=n(0),a=n(4),o=n(9),s=n(11),l=n(44),u=i.extendComponentView({type:\"visualMap\",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(t,e){this.ecModel=t,this.api=e,this.visualMapModel},render:function(t,e,n,i){this.visualMapModel=t,!1!==t.get(\"show\")?this.doRender.apply(this,arguments):this.group.removeAll()},renderBackground:function(t){var e=this.visualMapModel,n=o.normalizeCssArray(e.get(\"padding\")||0),i=t.getBoundingRect();t.add(new a.Rect({z2:-1,silent:!0,shape:{x:i.x-n[3],y:i.y-n[0],width:i.width+n[3]+n[1],height:i.height+n[0]+n[2]},style:{fill:e.get(\"backgroundColor\"),stroke:e.get(\"borderColor\"),lineWidth:e.get(\"borderWidth\")}}))},getControllerVisual:function(t,e,n){var i=(n=n||{}).forceState,a=this.visualMapModel,o={};if(\"symbol\"===e&&(o.symbol=a.get(\"itemSymbol\")),\"color\"===e){var s=a.get(\"contentColor\");o.color=s}function u(t){return o[t]}function h(t,e){o[t]=e}var c=a.controllerVisuals[i||a.getValueState(t)],d=l.prepareVisualTypes(c);return r.each(d,(function(i){var r=c[i];n.convertOpacityToAlpha&&\"opacity\"===i&&(i=\"colorAlpha\",r=c.__alphaForOpacity),l.dependsOn(i,e)&&r&&r.applyVisual(t,u,h)})),o[e]},positionGroup:function(t){var e=this.visualMapModel,n=this.api;s.positionElement(t,e.getBoxLayoutParams(),{width:n.getWidth(),height:n.getHeight()})},doRender:r.noop});t.exports=u},function(t,e,n){var i=n(0),r=n(11).getLayoutRect;e.getItemAlign=function(t,e,n){var i=t.option,a=i.align;if(null!=a&&\"auto\"!==a)return a;for(var o={width:e.getWidth(),height:e.getHeight()},s=\"horizontal\"===i.orient?1:0,l=[[\"left\",\"right\",\"width\"],[\"top\",\"bottom\",\"height\"]],u=l[s],h=[0,null,10],c={},d=0;d<3;d++)c[l[1-s][d]]=h[d],c[u[d]]=2===d?n[0]:i[u[d]];var f=[[\"x\",\"width\",3],[\"y\",\"height\",0]][s],p=r(c,o,i.padding);return u[(p.margin[f[2]]||0)+p[f[0]]+.5*p[f[1]]<.5*o[f[1]]?0:1]},e.makeHighDownBatch=function(t,e){return i.each(t||[],(function(t){null!=t.dataIndex&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null),t.highlightKey=\"visualMap\"+(e?e.componentIndex:\"\")})),t}},function(t,e,n){n(2).registerAction({type:\"selectDataRange\",event:\"dataRangeSelected\",update:\"update\"},(function(t,e){e.eachComponent({mainType:\"visualMap\",query:t},(function(e){e.setSelected(t.selected)}))}))},function(t,e,n){var i=n(0),r=n(1);t.exports=function(t,e){var n,a=[],o=t.seriesIndex;if(null==o||!(n=e.getSeriesByIndex(o)))return{point:[]};var s=n.getData(),l=r.queryDataIndex(s,t);if(null==l||l<0||i.isArray(l))return{point:[]};var u=s.getItemGraphicEl(l),h=n.coordinateSystem;if(n.getTooltipPosition)a=n.getTooltipPosition(l)||[];else if(h&&h.dataToPoint)a=h.dataToPoint(s.getValues(i.map(h.dimensions,(function(t){return s.mapDimension(t)})),l,!0))||[];else if(u){var c=u.getBoundingRect().clone();c.applyTransform(u.transform),a=[c.x+c.width/2,c.y+c.height/2]}return{point:a,el:u}}},function(t,e,n){var i=n(0),r=n(6),a=(0,n(1).makeInner)(),o=i.each;function s(t,e,n){t.handler(\"leave\",null,n)}function l(t,e,n,i){e.handler(t,n,i)}e.register=function(t,e,n){if(!r.node){var u=e.getZr();a(u).records||(a(u).records={}),function(t,e){if(a(t).initialized)return;function n(n,i){t.on(n,(function(n){var r=function(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}(e);o(a(t).records,(function(t){t&&i(t,n,r.dispatchAction)})),function(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]);n&&(n.dispatchAction=null,e.dispatchAction(n))}(r.pendings,e)}))}a(t).initialized=!0,n(\"click\",i.curry(l,\"click\")),n(\"mousemove\",i.curry(l,\"mousemove\")),n(\"globalout\",s)}(u,e),(a(u).records[t]||(a(u).records[t]={})).handler=n}},e.unregister=function(t,e){if(!r.node){var n=e.getZr();(a(n).records||{})[t]&&(a(n).records[t]=null)}}},function(t,e,n){var i=n(0),r=n(4),a=n(15),o=n(9),s=n(25),l=n(43),u=n(282);function h(t,e,n,i,r){var s=c(n.get(\"value\"),e.axis,e.ecModel,n.get(\"seriesDataIndices\"),{precision:n.get(\"label.precision\"),formatter:n.get(\"label.formatter\")}),l=n.getModel(\"label\"),u=o.normalizeCssArray(l.get(\"padding\")||0),h=l.getFont(),d=a.getBoundingRect(s,h),f=r.position,p=d.width+u[1]+u[3],g=d.height+u[0]+u[2],v=r.align;\"right\"===v&&(f[0]-=p),\"center\"===v&&(f[0]-=p/2);var m=r.verticalAlign;\"bottom\"===m&&(f[1]-=g),\"middle\"===m&&(f[1]-=g/2),function(t,e,n,i){var r=i.getWidth(),a=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,a)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(f,p,g,i);var y=l.get(\"backgroundColor\");y&&\"auto\"!==y||(y=e.get(\"axisLine.lineStyle.color\")),t.label={shape:{x:0,y:0,width:p,height:g,r:l.get(\"borderRadius\")},position:f.slice(),style:{text:s,textFont:h,textFill:l.getTextColor(),textPosition:\"inside\",textPadding:u,fill:y,stroke:l.get(\"borderColor\")||\"transparent\",lineWidth:l.get(\"borderWidth\")||0,shadowBlur:l.get(\"shadowBlur\"),shadowColor:l.get(\"shadowColor\"),shadowOffsetX:l.get(\"shadowOffsetX\"),shadowOffsetY:l.get(\"shadowOffsetY\")},z2:10}}function c(t,e,n,r,a){t=e.scale.parse(t);var o=e.scale.getLabel(t,{precision:a.precision}),s=a.formatter;if(s){var u={value:l.getAxisRawValue(e,t),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};i.each(r,(function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&u.seriesData.push(r)})),i.isString(s)?o=s.replace(\"{value}\",o):i.isFunction(s)&&(o=s(u))}return o}function d(t,e,n){var i=s.create();return s.rotate(i,i,n.rotation),s.translate(i,i,n.position),r.applyTransform([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}e.buildElStyle=function(t){var e,n=t.get(\"type\"),i=t.getModel(n+\"Style\");return\"line\"===n?(e=i.getLineStyle()).fill=null:\"shadow\"===n&&((e=i.getAreaStyle()).stroke=null),e},e.buildLabelElOption=h,e.getValueLabel=c,e.getTransformedPosition=d,e.buildCartesianSingleLabelElOption=function(t,e,n,i,r,a){var o=u.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get(\"label.margin\"),h(e,i,r,a,{position:d(i.axis,t,n),align:o.textAlign,verticalAlign:o.textVerticalAlign})},e.makeLineShape=function(t,e,n){return{x1:t[n=n||0],y1:t[1-n],x2:e[n],y2:e[1-n]}},e.makeRectShape=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},e.makeSectorShape=function(t,e,n,i,r,a){return{cx:t,cy:e,r0:n,r:i,startAngle:r,endAngle:a,clockwise:!0}}},function(t,e,n){\"use strict\";var i=n(26),r=n(148)(1);i(i.P+i.F*!n(151)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){t.exports=n(46)(\"native-function-to-string\",Function.toString)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,n){var i=n(48),r=n(88),a=n(49),o=n(51),s=n(149);t.exports=function(t,e){var n=1==t,l=2==t,u=3==t,h=4==t,c=6==t,d=5==t||c,f=e||s;return function(e,s,p){for(var g,v,m=a(e),y=r(m),_=i(s,p,3),x=o(y.length),b=0,w=n?f(e,x):l?f(e,0):void 0;x>b;b++)if((d||b in y)&&(v=_(g=y[b],b,m),t))if(n)w[b]=v;else if(v)switch(t){case 3:return!0;case 5:return g;case 6:return b;case 2:w.push(g)}else if(h)return!1;return c?-1:u||h?h:w}}},function(t,e,n){var i=n(150);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(17),r=n(89),a=n(10)(\"species\");t.exports=function(t){var e;return r(t)&&(\"function\"!=typeof(e=t.constructor)||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[a])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){\"use strict\";var i=n(19);t.exports=function(t,e){return!!t&&i((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},function(t,e,n){var i=n(14).f,r=Function.prototype,a=/^\\s*function ([^ (]*)/;\"name\"in r||n(18)&&i(r,\"name\",{configurable:!0,get:function(){try{return(\"\"+this).match(a)[1]}catch(t){return\"\"}}})},function(t,e,n){\"use strict\";var i=n(13),r=n(20),a=n(18),o=n(26),s=n(28),l=n(154).KEY,u=n(19),h=n(46),c=n(63),d=n(35),f=n(10),p=n(90),g=n(155),v=n(156),m=n(89),y=n(27),_=n(17),x=n(49),b=n(29),w=n(45),S=n(34),M=n(67),T=n(159),I=n(69),C=n(93),D=n(14),A=n(52),k=I.f,O=D.f,P=T.f,L=i.Symbol,R=i.JSON,E=R&&R.stringify,z=f(\"_hidden\"),N=f(\"toPrimitive\"),B={}.propertyIsEnumerable,F=h(\"symbol-registry\"),V=h(\"symbols\"),H=h(\"op-symbols\"),W=Object.prototype,G=\"function\"==typeof L&&!!C.f,j=i.QObject,U=!j||!j.prototype||!j.prototype.findChild,Y=a&&u((function(){return 7!=M(O({},\"a\",{get:function(){return O(this,\"a\",{value:7}).a}})).a}))?function(t,e,n){var i=k(W,e);i&&delete W[e],O(t,e,n),i&&t!==W&&O(W,e,i)}:O,X=function(t){var e=V[t]=M(L.prototype);return e._k=t,e},q=G&&\"symbol\"==typeof L.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof L},Z=function(t,e,n){return t===W&&Z(H,e,n),y(t),e=w(e,!0),y(n),r(V,e)?(n.enumerable?(r(t,z)&&t[z][e]&&(t[z][e]=!1),n=M(n,{enumerable:S(0,!1)})):(r(t,z)||O(t,z,S(1,{})),t[z][e]=!0),Y(t,e,n)):O(t,e,n)},K=function(t,e){y(t);for(var n,i=v(e=b(e)),r=0,a=i.length;a>r;)Z(t,n=i[r++],e[n]);return t},$=function(t){var e=B.call(this,t=w(t,!0));return!(this===W&&r(V,t)&&!r(H,t))&&(!(e||!r(this,t)||!r(V,t)||r(this,z)&&this[z][t])||e)},J=function(t,e){if(t=b(t),e=w(e,!0),t!==W||!r(V,e)||r(H,e)){var n=k(t,e);return!n||!r(V,e)||r(t,z)&&t[z][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=P(b(t)),i=[],a=0;n.length>a;)r(V,e=n[a++])||e==z||e==l||i.push(e);return i},tt=function(t){for(var e,n=t===W,i=P(n?H:b(t)),a=[],o=0;i.length>o;)!r(V,e=i[o++])||n&&!r(W,e)||a.push(V[e]);return a};G||(s((L=function(){if(this instanceof L)throw TypeError(\"Symbol is not a constructor!\");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===W&&e.call(H,n),r(this,z)&&r(this[z],t)&&(this[z][t]=!1),Y(this,t,S(1,n))};return a&&U&&Y(W,t,{configurable:!0,set:e}),X(t)}).prototype,\"toString\",(function(){return this._k})),I.f=J,D.f=Z,n(68).f=T.f=Q,n(66).f=$,C.f=tt,a&&!n(47)&&s(W,\"propertyIsEnumerable\",$,!0),p.f=function(t){return X(f(t))}),o(o.G+o.W+o.F*!G,{Symbol:L});for(var et=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),nt=0;et.length>nt;)f(et[nt++]);for(var it=A(f.store),rt=0;it.length>rt;)g(it[rt++]);o(o.S+o.F*!G,\"Symbol\",{for:function(t){return r(F,t+=\"\")?F[t]:F[t]=L(t)},keyFor:function(t){if(!q(t))throw TypeError(t+\" is not a symbol!\");for(var e in F)if(F[e]===t)return e},useSetter:function(){U=!0},useSimple:function(){U=!1}}),o(o.S+o.F*!G,\"Object\",{create:function(t,e){return void 0===e?M(t):K(M(t),e)},defineProperty:Z,defineProperties:K,getOwnPropertyDescriptor:J,getOwnPropertyNames:Q,getOwnPropertySymbols:tt});var at=u((function(){C.f(1)}));o(o.S+o.F*at,\"Object\",{getOwnPropertySymbols:function(t){return C.f(x(t))}}),R&&o(o.S+o.F*(!G||u((function(){var t=L();return\"[null]\"!=E([t])||\"{}\"!=E({a:t})||\"{}\"!=E(Object(t))}))),\"JSON\",{stringify:function(t){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);if(n=e=i[1],(_(e)||void 0!==t)&&!q(t))return m(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!q(e))return e}),i[1]=e,E.apply(R,i)}}),L.prototype[N]||n(23)(L.prototype,N,L.prototype.valueOf),c(L,\"Symbol\"),c(Math,\"Math\",!0),c(i.JSON,\"JSON\",!0)},function(t,e,n){var i=n(35)(\"meta\"),r=n(17),a=n(20),o=n(14).f,s=0,l=Object.isExtensible||function(){return!0},u=!n(19)((function(){return l(Object.preventExtensions({}))})),h=function(t){o(t,i,{value:{i:\"O\"+ ++s,w:{}}})},c=t.exports={KEY:i,NEED:!1,fastKey:function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!a(t,i)){if(!l(t))return\"F\";if(!e)return\"E\";h(t)}return t[i].i},getWeak:function(t,e){if(!a(t,i)){if(!l(t))return!0;if(!e)return!1;h(t)}return t[i].w},onFreeze:function(t){return u&&c.NEED&&l(t)&&!a(t,i)&&h(t),t}}},function(t,e,n){var i=n(13),r=n(33),a=n(47),o=n(90),s=n(14).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=a?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||s(e,t,{value:o.f(t)})}},function(t,e,n){var i=n(52),r=n(93),a=n(66);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var o,s=n(t),l=a.f,u=0;s.length>u;)l.call(t,o=s[u++])&&e.push(o);return e}},function(t,e,n){var i=n(29),r=n(51),a=n(92);t.exports=function(t){return function(e,n,o){var s,l=i(e),u=r(l.length),h=a(o,u);if(t&&n!=n){for(;u>h;)if((s=l[h++])!=s)return!0}else for(;u>h;h++)if((t||h in l)&&l[h]===n)return t||h||0;return!t&&-1}}},function(t,e,n){var i=n(14),r=n(27),a=n(52);t.exports=n(18)?Object.defineProperties:function(t,e){r(t);for(var n,o=a(e),s=o.length,l=0;s>l;)i.f(t,n=o[l++],e[n]);return t}},function(t,e,n){var i=n(29),r=n(68).f,a={}.toString,o=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return o&&\"[object Window]\"==a.call(t)?function(t){try{return r(t)}catch(t){return o.slice()}}(t):r(i(t))}},function(t,e,n){\"use strict\";var i=n(161)(!0);n(95)(String,\"String\",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})}))},function(t,e,n){var i=n(62),r=n(50);t.exports=function(t){return function(e,n){var a,o,s=String(r(e)),l=i(n),u=s.length;return l<0||l>=u?t?\"\":void 0:(a=s.charCodeAt(l))<55296||a>56319||l+1===u||(o=s.charCodeAt(l+1))<56320||o>57343?t?s.charAt(l):a:t?s.slice(l,l+2):o-56320+(a-55296<<10)+65536}}},function(t,e,n){\"use strict\";var i=n(67),r=n(34),a=n(63),o={};n(23)(o,n(10)(\"iterator\"),(function(){return this})),t.exports=function(t,e,n){t.prototype=i(o,{next:r(1,n)}),a(t,e+\" Iterator\")}},function(t,e,n){var i=n(20),r=n(49),a=n(64)(\"IE_PROTO\"),o=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,a)?t[a]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?o:null}},function(t,e,n){\"use strict\";var i=n(96),r={};r[n(10)(\"toStringTag\")]=\"z\",r+\"\"!=\"[object z]\"&&n(28)(Object.prototype,\"toString\",(function(){return\"[object \"+i(this)+\"]\"}),!0)},function(t,e,n){var i=n(10)(\"unscopables\"),r=Array.prototype;null==r[i]&&n(23)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){for(var i=n(97),r=n(52),a=n(28),o=n(13),s=n(23),l=n(37),u=n(10),h=u(\"iterator\"),c=u(\"toStringTag\"),d=l.Array,f={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=r(f),g=0;g<p.length;g++){var v,m=p[g],y=f[m],_=o[m],x=_&&_.prototype;if(x&&(x[h]||s(x,h,d),x[c]||s(x,c,m),l[m]=d,y))for(v in i)x[v]||a(x,v,i[v],!0)}},function(t,e,n){\"use strict\";var i=n(48),r=n(26),a=n(49),o=n(169),s=n(170),l=n(51),u=n(171),h=n(172);r(r.S+r.F*!n(173)((function(t){Array.from(t)})),\"Array\",{from:function(t){var e,n,r,c,d=a(t),f=\"function\"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,v=void 0!==g,m=0,y=h(d);if(v&&(g=i(g,p>2?arguments[2]:void 0,2)),null==y||f==Array&&s(y))for(n=new f(e=l(d.length));e>m;m++)u(n,m,v?g(d[m],m):d[m]);else for(c=y.call(d),n=new f;!(r=c.next()).done;m++)u(n,m,v?o(c,g,[r.value,m],!0):r.value);return n.length=m,n}})},function(t,e,n){var i=n(27);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(e){var a=t.return;throw void 0!==a&&i(a.call(t)),e}}},function(t,e,n){var i=n(37),r=n(10)(\"iterator\"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[r]===t)}},function(t,e,n){\"use strict\";var i=n(14),r=n(34);t.exports=function(t,e,n){e in t?i.f(t,e,r(0,n)):t[e]=n}},function(t,e,n){var i=n(96),r=n(10)(\"iterator\"),a=n(37);t.exports=n(33).getIteratorMethod=function(t){if(null!=t)return t[r]||t[\"@@iterator\"]||a[i(t)]}},function(t,e,n){var i=n(10)(\"iterator\"),r=!1;try{var a=[7][i]();a.return=function(){r=!0},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var a=[7],o=a[i]();o.next=function(){return{done:n=!0}},a[i]=function(){return o},t(a)}catch(t){}return n}},function(t,e,n){\"use strict\";var i=n(26),r=n(94),a=n(36),o=n(92),s=n(51),l=[].slice;i(i.P+i.F*n(19)((function(){r&&l.call(r)})),\"Array\",{slice:function(t,e){var n=s(this.length),i=a(this);if(e=void 0===e?n:e,\"Array\"==i)return l.call(this,t,e);for(var r=o(t,n),u=o(e,n),h=s(u-r),c=new Array(h),d=0;d<h;d++)c[d]=\"String\"==i?this.charAt(r+d):this[r+d];return c}})},function(t,e){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var i=n(0),r=n(7),a=n(177),o=n(38),s=n(24),l=n(179);function u(){s.stop(this.event)}function h(){}h.prototype.dispose=function(){};var c=[\"click\",\"dblclick\",\"mousewheel\",\"mouseout\",\"mouseup\",\"mousedown\",\"mousemove\",\"contextmenu\"],d=function(t,e,n,i){o.call(this),this.storage=t,this.painter=e,this.painterRoot=i,n=n||new h,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,a.call(this),this.setHandlerProxy(n)};function f(t,e,n){if(t[t.rectHover?\"rectContain\":\"contain\"](e,n)){for(var i,r=t;r;){if(r.clipPath&&!r.clipPath.contain(e,n))return!1;r.silent&&(i=!0),r=r.parent}return!i||\"silent\"}return!1}function p(t,e,n){var i=t.painter;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}d.prototype={constructor:d,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(i.each(c,(function(e){t.on&&t.on(e,this[e],this)}),this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,n=t.zrY,i=p(this,e,n),r=this._hovered,a=r.target;a&&!a.__zr&&(a=(r=this.findHover(r.x,r.y)).target);var o=this._hovered=i?{x:e,y:n}:this.findHover(e,n),s=o.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:\"default\"),a&&s!==a&&this.dispatchToElement(r,\"mouseout\",t),this.dispatchToElement(o,\"mousemove\",t),s&&s!==a&&this.dispatchToElement(o,\"mouseover\",t)},mouseout:function(t){var e=t.zrEventControl,n=t.zrIsToLocalDOM;\"only_globalout\"!==e&&this.dispatchToElement(this._hovered,\"mouseout\",t),\"no_globalout\"!==e&&!n&&this.trigger(\"globalout\",{type:\"globalout\",event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var n=this[t];n&&n.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,n){var i=(t=t||{}).target;if(!i||!i.silent){for(var r=\"on\"+e,a=function(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:u}}(e,t,n);i&&(i[r]&&(a.cancelBubble=i[r].call(i,a)),i.trigger(e,a),i=i.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer((function(t){\"function\"==typeof t[r]&&t[r].call(t,a),t.trigger&&t.trigger(e,a)})))}},findHover:function(t,e,n){for(var i=this.storage.getDisplayList(),r={x:t,y:e},a=i.length-1;a>=0;a--){var o;if(i[a]!==n&&!i[a].ignore&&(o=f(i[a],t,e))&&(!r.topTarget&&(r.topTarget=i[a]),\"silent\"!==o)){r.target=i[a];break}}return r},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new l);var n=this._gestureMgr;\"start\"===e&&n.clear();var i=n.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if(\"end\"===e&&n.clear(),i){var r=i.type;t.gestureEvent=r,this.dispatchToElement({target:i.target},r,i.event)}}},i.each([\"click\",\"mousedown\",\"mouseup\",\"mousewheel\",\"dblclick\",\"contextmenu\"],(function(t){d.prototype[t]=function(e){var n,i,a=e.zrX,o=e.zrY,s=p(this,a,o);if(\"mouseup\"===t&&s||(i=(n=this.findHover(a,o)).target),\"mousedown\"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if(\"mouseup\"===t)this._upEl=i;else if(\"click\"===t){if(this._downEl!==this._upEl||!this._downPoint||r.dist(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}})),i.mixin(d,o),i.mixin(d,a);var g=d;t.exports=g},function(t,e){function n(){this.on(\"mousedown\",this._dragStart,this),this.on(\"mousemove\",this._drag,this),this.on(\"mouseup\",this._dragEnd,this)}function i(t,e){return{target:t,topTarget:e&&e.topTarget}}n.prototype={constructor:n,_dragStart:function(t){for(var e=t.target;e&&!e.draggable;)e=e.parent;e&&(this._draggingTarget=e,e.dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this.dispatchToElement(i(e,t),\"dragstart\",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var n=t.offsetX,r=t.offsetY,a=n-this._x,o=r-this._y;this._x=n,this._y=r,e.drift(a,o,t),this.dispatchToElement(i(e,t),\"drag\",t.event);var s=this.findHover(n,r,e).target,l=this._dropTarget;this._dropTarget=s,e!==s&&(l&&s!==l&&this.dispatchToElement(i(l,t),\"dragleave\",t.event),s&&s!==l&&this.dispatchToElement(i(s,t),\"dragenter\",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this.dispatchToElement(i(e,t),\"dragend\",t.event),this._dropTarget&&this.dispatchToElement(i(this._dropTarget,t),\"drop\",t.event),this._draggingTarget=null,this._dropTarget=null}};var r=n;t.exports=r},function(t,e){var n=Math.log(2);function i(t,e,r,a,o,s){var l=a+\"-\"+o,u=t.length;if(s.hasOwnProperty(l))return s[l];if(1===e){var h=Math.round(Math.log((1<<u)-1&~o)/n);return t[r][h]}for(var c=a|1<<r,d=r+1;a&1<<d;)d++;for(var f=0,p=0,g=0;p<u;p++){var v=1<<p;v&o||(f+=(g%2?-1:1)*t[r][p]*i(t,e-1,d,c,o|v,s),g++)}return s[l]=f,f}e.buildTransformer=function(t,e){var n=[[t[0],t[1],1,0,0,0,-e[0]*t[0],-e[0]*t[1]],[0,0,0,t[0],t[1],1,-e[1]*t[0],-e[1]*t[1]],[t[2],t[3],1,0,0,0,-e[2]*t[2],-e[2]*t[3]],[0,0,0,t[2],t[3],1,-e[3]*t[2],-e[3]*t[3]],[t[4],t[5],1,0,0,0,-e[4]*t[4],-e[4]*t[5]],[0,0,0,t[4],t[5],1,-e[5]*t[4],-e[5]*t[5]],[t[6],t[7],1,0,0,0,-e[6]*t[6],-e[6]*t[7]],[0,0,0,t[6],t[7],1,-e[7]*t[6],-e[7]*t[7]]],r={},a=i(n,8,0,0,0,r);if(0!==a){for(var o=[],s=0;s<8;s++)for(var l=0;l<8;l++)null==o[l]&&(o[l]=0),o[l]+=((s+l)%2?-1:1)*i(n,7,0===s?1:0,1<<s,1<<l,r)/a*e[s];return function(t,e,n){var i=e*o[6]+n*o[7]+1;t[0]=(e*o[0]+n*o[1]+o[2])/i,t[1]=(e*o[3]+n*o[4]+o[5])/i}}}},function(t,e,n){var i=n(24),r=function(){this._track=[]};function a(t){var e=t[1][0]-t[0][0],n=t[1][1]-t[0][1];return Math.sqrt(e*e+n*n)}r.prototype={constructor:r,recognize:function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,n){var r=t.touches;if(r){for(var a={points:[],touches:[],target:e,event:t},o=0,s=r.length;o<s;o++){var l=r[o],u=i.clientToLocal(n,l,{});a.points.push([u.zrX,u.zrY]),a.touches.push(l)}this._track.push(a)}},_recognize:function(t){for(var e in o)if(o.hasOwnProperty(e)){var n=o[e](this._track,t);if(n)return n}}};var o={pinch:function(t,e){var n=t.length;if(n){var i,r=(t[n-1]||{}).points,o=(t[n-2]||{}).points||r;if(o&&o.length>1&&r&&r.length>1){var s=a(r)/a(o);!isFinite(s)&&(s=1),e.pinchScale=s;var l=[((i=r)[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2];return e.pinchX=l[0],e.pinchY=l[1],{type:\"pinch\",target:t[0].target,event:e}}}}},s=r;t.exports=s},function(t,e,n){var i=n(0),r=n(6),a=n(39),o=n(70);function s(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}var l=function(){this._roots=[],this._displayList=[],this._displayListLen=0};l.prototype={constructor:l,traverse:function(t,e){for(var n=0;n<this._roots.length;n++)this._roots[n].traverse(t,e)},getDisplayList:function(t,e){return e=e||!1,t&&this.updateDisplayList(e),this._displayList},updateDisplayList:function(t){this._displayListLen=0;for(var e=this._roots,n=this._displayList,i=0,a=e.length;i<a;i++)this._updateAndAddDisplayable(e[i],null,t);n.length=this._displayListLen,r.canvasSupported&&o(n,s)},_updateAndAddDisplayable:function(t,e,n){if(!t.ignore||n){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var i=t.clipPath;if(i){e=e?e.slice():[];for(var r=i,a=t;r;)r.parent=a,r.updateTransform(),e.push(r),a=r,r=r.clipPath}if(t.isGroup){for(var o=t._children,s=0;s<o.length;s++){var l=o[s];t.__dirty&&(l.__dirty=!0),this._updateAndAddDisplayable(l,e,n)}t.__dirty=!1}else t.__clipPaths=e,this._displayList[this._displayListLen++]=t}},addRoot:function(t){t.__storage!==this&&(t instanceof a&&t.addChildrenToStorage(this),this.addToStorage(t),this._roots.push(t))},delRoot:function(t){if(null==t){for(var e=0;e<this._roots.length;e++){var n=this._roots[e];n instanceof a&&n.delChildrenFromStorage(this)}return this._roots=[],this._displayList=[],void(this._displayListLen=0)}if(t instanceof Array){e=0;for(var r=t.length;e<r;e++)this.delRoot(t[e])}else{var o=i.indexOf(this._roots,t);o>=0&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof a&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:s};var u=l;t.exports=u},function(t,e,n){var i=n(103),r=n(105),a=n(0),o=a.isString,s=a.isFunction,l=a.isObject,u=a.isArrayLike,h=a.indexOf,c=function(){this.animators=[]};function d(t,e,n,i,r,a,h,c){o(i)?(a=r,r=i,i=0):s(r)?(a=r,r=\"linear\",i=0):s(i)?(a=i,i=0):s(n)?(a=n,n=500):n||(n=500),t.stopAnimation(),function t(e,n,i,r,a,o,s){var h={},c=0;for(var d in r)r.hasOwnProperty(d)&&(null!=i[d]?l(r[d])&&!u(r[d])?t(e,n?n+\".\"+d:d,i[d],r[d],a,o,s):(s?(h[d]=i[d],f(e,n,d,r[d])):h[d]=r[d],c++):null==r[d]||s||f(e,n,d,r[d]));c>0&&e.animate(n,!1).when(null==a?500:a,h).delay(o||0)}(t,\"\",t,e,n,i,c);var d=t.animators.slice(),p=d.length;function g(){--p||a&&a()}p||a&&a();for(var v=0;v<d.length;v++)d[v].done(g).start(r,h)}function f(t,e,n,i){if(e){var r={};r[e]={},r[e][n]=i,t.attr(r)}else t.attr(n,i)}c.prototype={constructor:c,animate:function(t,e){var n,a=!1,o=this,s=this.__zr;if(t){var l=t.split(\".\"),u=o;a=\"shape\"===l[0];for(var c=0,d=l.length;c<d;c++)u&&(u=u[l[c]]);u&&(n=u)}else n=o;if(n){var f=o.animators,p=new i(n,e);return p.during((function(t){o.dirty(a)})).done((function(){f.splice(h(f,p),1)})),f.push(p),s&&s.animation.addAnimator(p),p}r('Property \"'+t+'\" is not existed in element '+o.id)},stopAnimation:function(t){for(var e=this.animators,n=e.length,i=0;i<n;i++)e[i].stop(t);return e.length=0,this},animateTo:function(t,e,n,i,r,a){d(this,t,e,n,i,r,a)},animateFrom:function(t,e,n,i,r,a){d(this,t,e,n,i,r,a,!0)}};var p=c;t.exports=p},function(t,e,n){var i=n(183);function r(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||\"Linear\",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}r.prototype={constructor:r,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var n=(t-this._startTime-this._pausedTime)/this._life;if(!(n<0)){n=Math.min(n,1);var r=this.easing,a=\"string\"==typeof r?i[r]:r,o=\"function\"==typeof a?a(n):n;return this.fire(\"frame\",o),1===n?this.loop?(this.restart(t),\"restart\"):(this._needsRemove=!0,\"destroy\"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t=\"on\"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var a=r;t.exports=a},function(t,e){var n={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-n.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*n.bounceIn(2*t):.5*n.bounceOut(2*t-1)+.5}},i=n;t.exports=i},function(t,e,n){var i=n(53).devicePixelRatio,r=n(0),a=n(105),o=n(12),s=n(70),l=n(185),u=n(108),h=n(72),c=n(6);function d(t){return parseInt(t,10)}var f=new o(0,0,0,0),p=new o(0,0,0,0);var g=function(t,e,n){this.type=\"canvas\";var a=!t.nodeName||\"CANVAS\"===t.nodeName.toUpperCase();this._opts=n=r.extend({},n||{}),this.dpr=n.devicePixelRatio||i,this._singleCanvas=a,this.root=t;var o=t.style;o&&(o[\"-webkit-tap-highlight-color\"]=\"transparent\",o[\"-webkit-user-select\"]=o[\"user-select\"]=o[\"-webkit-touch-callout\"]=\"none\",t.innerHTML=\"\"),this.storage=e;var s=this._zlevelList=[],u=this._layers={};if(this._layerConfig={},this._needsManuallyCompositing=!1,a){var h=t.width,c=t.height;null!=n.width&&(h=n.width),null!=n.height&&(c=n.height),this.dpr=n.devicePixelRatio||1,t.width=h*this.dpr,t.height=c*this.dpr,this._width=h,this._height=c;var d=new l(t,this,this.dpr);d.__builtin__=!0,d.initContext(),u[314159]=d,d.zlevel=314159,s.push(314159),this._domRoot=t}else{this._width=this._getSize(0),this._height=this._getSize(1);var f=this._domRoot=function(t,e){var n=document.createElement(\"div\");return n.style.cssText=[\"position:relative\",\"width:\"+t+\"px\",\"height:\"+e+\"px\",\"padding:0\",\"margin:0\",\"border-width:0\"].join(\";\")+\";\",n}(this._width,this._height);t.appendChild(f)}this._hoverlayer=null,this._hoverElements=[]};g.prototype={constructor:g,getType:function(){return\"canvas\"},isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._domRoot},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(t){var e=this.storage.getDisplayList(!0),n=this._zlevelList;this._redrawId=Math.random(),this._paintList(e,t,this._redrawId);for(var i=0;i<n.length;i++){var r=n[i],a=this._layers[r];if(!a.__builtin__&&a.refresh){var o=0===i?this._backgroundColor:null;a.refresh(o)}}return this.refreshHover(),this},addHover:function(t,e){if(!t.__hoverMir){var n=new t.constructor({style:t.style,shape:t.shape,z:t.z,z2:t.z2,silent:t.silent});return n.__from=t,t.__hoverMir=n,e&&n.setStyle(e),this._hoverElements.push(n),n}},removeHover:function(t){var e=t.__hoverMir,n=this._hoverElements,i=r.indexOf(n,e);i>=0&&n.splice(i,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,n=0;n<e.length;n++){var i=e[n].__from;i&&(i.__hoverMir=null)}e.length=0},refreshHover:function(){var t=this._hoverElements,e=t.length,n=this._hoverlayer;if(n&&n.clear(),e){s(t,this.storage.displayableSortFunc),n||(n=this._hoverlayer=this.getLayer(1e5));var i={};n.ctx.save();for(var r=0;r<e;){var a=t[r],o=a.__from;o&&o.__zr?(r++,o.invisible||(a.transform=o.transform,a.invTransform=o.invTransform,a.__clipPaths=o.__clipPaths,this._doPaintEl(a,n,!0,i))):(t.splice(r,1),o.__hoverMir=null,e--)}n.ctx.restore()}},getHoverLayer:function(){return this.getLayer(1e5)},_paintList:function(t,e,n){if(this._redrawId===n){e=e||!1,this._updateLayerStatus(t);var i=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!i){var r=this;u((function(){r._paintList(t,e,n)}))}}},_compositeManually:function(){var t=this.getLayer(314159).ctx,e=this._domRoot.width,n=this._domRoot.height;t.clearRect(0,0,e,n),this.eachBuiltinLayer((function(i){i.virtual&&t.drawImage(i.dom,0,0,e,n)}))},_doPaintList:function(t,e){for(var n=[],i=0;i<this._zlevelList.length;i++){var a=this._zlevelList[i];(l=this._layers[a]).__builtin__&&l!==this._hoverlayer&&(l.__dirty||e)&&n.push(l)}for(var o=!0,s=0;s<n.length;s++){var l,u=(l=n[s]).ctx,h={};u.save();var d=e?l.__startIndex:l.__drawIndex,f=!e&&l.incremental&&Date.now,p=f&&Date.now(),g=l.zlevel===this._zlevelList[0]?this._backgroundColor:null;if(l.__startIndex===l.__endIndex)l.clear(!1,g);else if(d===l.__startIndex){var v=t[d];v.incremental&&v.notClear&&!e||l.clear(!1,g)}-1===d&&(console.error(\"For some unknown reason. drawIndex is -1\"),d=l.__startIndex);for(var m=d;m<l.__endIndex;m++){var y=t[m];if(this._doPaintEl(y,l,e,h),y.__dirty=y.__dirtyText=!1,f)if(Date.now()-p>15)break}l.__drawIndex=m,l.__drawIndex<l.__endIndex&&(o=!1),h.prevElClipPaths&&u.restore(),u.restore()}return c.wxa&&r.each(this._layers,(function(t){t&&t.ctx&&t.ctx.draw&&t.ctx.draw()})),o},_doPaintEl:function(t,e,n,i){var r=e.ctx,a=t.transform;if((e.__dirty||n)&&!t.invisible&&0!==t.style.opacity&&(!a||a[0]||a[3])&&(!t.culling||!function(t,e,n){return f.copy(t.getBoundingRect()),t.transform&&f.applyTransform(t.transform),p.width=e,p.height=n,!f.intersect(p)}(t,this._width,this._height))){var o=t.__clipPaths,s=i.prevElClipPaths;s&&!function(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var n=0;n<t.length;n++)if(t[n]!==e[n])return!0;return!1}(o,s)||(s&&(r.restore(),i.prevElClipPaths=null,i.prevEl=null),o&&(r.save(),function(t,e){for(var n=0;n<t.length;n++){var i=t[n];i.setTransform(e),e.beginPath(),i.buildPath(e,i.shape),e.clip(),i.restoreTransform(e)}}(o,r),i.prevElClipPaths=o)),t.beforeBrush&&t.beforeBrush(r),t.brush(r,i.prevEl||null),i.prevEl=t,t.afterBrush&&t.afterBrush(r)}},getLayer:function(t,e){this._singleCanvas&&!this._needsManuallyCompositing&&(t=314159);var n=this._layers[t];return n||((n=new l(\"zr_\"+t,this,this.dpr)).zlevel=t,n.__builtin__=!0,this._layerConfig[t]?r.merge(n,this._layerConfig[t],!0):this._layerConfig[t-.01]&&r.merge(n,this._layerConfig[t-.01],!0),e&&(n.virtual=e),this.insertLayer(t,n),n.initContext()),n},insertLayer:function(t,e){var n=this._layers,i=this._zlevelList,r=i.length,o=null,s=-1,l=this._domRoot;if(n[t])a(\"ZLevel \"+t+\" has been used already\");else if(function(t){return!!t&&(!!t.__builtin__||\"function\"==typeof t.resize&&\"function\"==typeof t.refresh)}(e)){if(r>0&&t>i[0]){for(s=0;s<r-1&&!(i[s]<t&&i[s+1]>t);s++);o=n[i[s]]}if(i.splice(s+1,0,t),n[t]=e,!e.virtual)if(o){var u=o.dom;u.nextSibling?l.insertBefore(e.dom,u.nextSibling):l.appendChild(e.dom)}else l.firstChild?l.insertBefore(e.dom,l.firstChild):l.appendChild(e.dom)}else a(\"Layer of zlevel \"+t+\" is not valid\")},eachLayer:function(t,e){var n,i,r=this._zlevelList;for(i=0;i<r.length;i++)n=r[i],t.call(e,this._layers[n],n)},eachBuiltinLayer:function(t,e){var n,i,r,a=this._zlevelList;for(r=0;r<a.length;r++)i=a[r],(n=this._layers[i]).__builtin__&&t.call(e,n,i)},eachOtherLayer:function(t,e){var n,i,r,a=this._zlevelList;for(r=0;r<a.length;r++)i=a[r],(n=this._layers[i]).__builtin__||t.call(e,n,i)},getLayers:function(){return this._layers},_updateLayerStatus:function(t){function e(t){r&&(r.__endIndex!==t&&(r.__dirty=!0),r.__endIndex=t)}if(this.eachBuiltinLayer((function(t,e){t.__dirty=t.__used=!1})),this._singleCanvas)for(var n=1;n<t.length;n++){if((s=t[n]).zlevel!==t[n-1].zlevel||s.incremental){this._needsManuallyCompositing=!0;break}}var i,r=null,o=0;for(n=0;n<t.length;n++){var s,l,u=(s=t[n]).zlevel;i!==u&&(i=u,o=0),s.incremental?((l=this.getLayer(u+.001,this._needsManuallyCompositing)).incremental=!0,o=1):l=this.getLayer(u+(o>0?.01:0),this._needsManuallyCompositing),l.__builtin__||a(\"ZLevel \"+u+\" has been used by unkown layer \"+l.id),l!==r&&(l.__used=!0,l.__startIndex!==n&&(l.__dirty=!0),l.__startIndex=n,l.incremental?l.__drawIndex=-1:l.__drawIndex=n,e(n),r=l),s.__dirty&&(l.__dirty=!0,l.incremental&&l.__drawIndex<0&&(l.__drawIndex=n))}e(n),this.eachBuiltinLayer((function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)}))},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var n=this._layerConfig;n[t]?r.merge(n[t],e,!0):n[t]=e;for(var i=0;i<this._zlevelList.length;i++){var a=this._zlevelList[i];if(a===t||a===t+.01){var o=this._layers[a];r.merge(o,n[t],!0)}}}},delLayer:function(t){var e=this._layers,n=this._zlevelList,i=e[t];i&&(i.dom.parentNode.removeChild(i.dom),delete e[t],n.splice(r.indexOf(n,t),1))},resize:function(t,e){if(this._domRoot.style){var n=this._domRoot;n.style.display=\"none\";var i=this._opts;if(null!=t&&(i.width=t),null!=e&&(i.height=e),t=this._getSize(0),e=this._getSize(1),n.style.display=\"\",this._width!==t||e!==this._height){for(var a in n.style.width=t+\"px\",n.style.height=e+\"px\",this._layers)this._layers.hasOwnProperty(a)&&this._layers[a].resize(t,e);r.each(this._progressiveLayers,(function(n){n.resize(t,e)})),this.refresh(!0)}this._width=t,this._height=e}else{if(null==t||null==e)return;this._width=t,this._height=e,this.getLayer(314159).resize(t,e)}return this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML=\"\",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas&&!this._compositeManually)return this._layers[314159].dom;var e=new l(\"image\",this,t.pixelRatio||this.dpr);if(e.initContext(),e.clear(!1,t.backgroundColor||this._backgroundColor),t.pixelRatio<=this.dpr){this.refresh();var n=e.dom.width,i=e.dom.height,r=e.ctx;this.eachLayer((function(t){t.__builtin__?r.drawImage(t.dom,0,0,n,i):t.renderToCanvas&&(e.ctx.save(),t.renderToCanvas(e.ctx),e.ctx.restore())}))}else for(var a={},o=this.storage.getDisplayList(!0),s=0;s<o.length;s++){var u=o[s];this._doPaintEl(u,e,!0,a)}return e.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,n=[\"width\",\"height\"][t],i=[\"clientWidth\",\"clientHeight\"][t],r=[\"paddingLeft\",\"paddingTop\"][t],a=[\"paddingRight\",\"paddingBottom\"][t];if(null!=e[n]&&\"auto\"!==e[n])return parseFloat(e[n]);var o=this.root,s=document.defaultView.getComputedStyle(o);return(o[i]||d(s[n])||d(o.style[n]))-(d(s[r])||0)-(d(s[a])||0)|0},pathToImage:function(t,e){e=e||this.dpr;var n=document.createElement(\"canvas\"),i=n.getContext(\"2d\"),r=t.getBoundingRect(),a=t.style,o=a.shadowBlur*e,s=a.shadowOffsetX*e,l=a.shadowOffsetY*e,u=a.hasStroke()?a.lineWidth:0,c=Math.max(u/2,-s+o),d=Math.max(u/2,s+o),f=Math.max(u/2,-l+o),p=Math.max(u/2,l+o),g=r.width+c+d,v=r.height+f+p;n.width=g*e,n.height=v*e,i.scale(e,e),i.clearRect(0,0,g,v),i.dpr=e;var m={position:t.position,rotation:t.rotation,scale:t.scale};t.position=[c-r.x,f-r.y],t.rotation=0,t.scale=[1,1],t.updateTransform(),t&&t.brush(i);var y=new h({style:{x:0,y:0,image:n}});return null!=m.position&&(y.position=t.position=m.position),null!=m.rotation&&(y.rotation=t.rotation=m.rotation),null!=m.scale&&(y.scale=t.scale=m.scale),y}};var v=g;t.exports=v},function(t,e,n){var i=n(0),r=n(53).devicePixelRatio,a=n(71),o=n(107);function s(){return!1}function l(t,e,n){var r=i.createCanvas(),a=e.getWidth(),o=e.getHeight(),s=r.style;return s&&(s.position=\"absolute\",s.left=0,s.top=0,s.width=a+\"px\",s.height=o+\"px\",r.setAttribute(\"data-zr-dom-id\",t)),r.width=a*n,r.height=o*n,r}var u=function(t,e,n){var a;n=n||r,\"string\"==typeof t?a=l(t,e,n):i.isObject(t)&&(t=(a=t).id),this.id=t,this.dom=a;var o=a.style;o&&(a.onselectstart=s,o[\"-webkit-user-select\"]=\"none\",o[\"user-select\"]=\"none\",o[\"-webkit-touch-callout\"]=\"none\",o[\"-webkit-tap-highlight-color\"]=\"rgba(0,0,0,0)\",o.padding=0,o.margin=0,o[\"border-width\"]=0),this.domBack=null,this.ctxBack=null,this.painter=e,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=n};u.prototype={constructor:u,__dirty:!0,__used:!1,__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext(\"2d\"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var t=this.dpr;this.domBack=l(\"back-\"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext(\"2d\"),1!==t&&this.ctxBack.scale(t,t)},resize:function(t,e){var n=this.dpr,i=this.dom,r=i.style,a=this.domBack;r&&(r.width=t+\"px\",r.height=e+\"px\"),i.width=t*n,i.height=e*n,a&&(a.width=t*n,a.height=e*n,1!==n&&this.ctxBack.scale(n,n))},clear:function(t,e){var n,i=this.dom,r=this.ctx,s=i.width,l=i.height,u=(e=e||this.clearColor,this.motionBlur&&!t),h=this.lastFrameAlpha,c=this.dpr;(u&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation=\"copy\",this.ctxBack.drawImage(i,0,0,s/c,l/c)),r.clearRect(0,0,s,l),e&&\"transparent\"!==e)&&(e.colorStops?(n=e.__canvasGradient||a.getGradient(r,e,{x:0,y:0,width:s,height:l}),e.__canvasGradient=n):e.image&&(n=o.prototype.getCanvasPattern.call(e,r)),r.save(),r.fillStyle=n||e,r.fillRect(0,0,s,l),r.restore());if(u){var d=this.domBack;r.save(),r.globalAlpha=h,r.drawImage(d,0,0,s,l),r.restore()}}};var h=u;t.exports=h},function(t,e,n){var i=n(109),r=n(12),a=n(54).WILL_BE_RESTORED,o=new r,s=function(){};s.prototype={constructor:s,drawRectText:function(t,e){var n=this.style;e=n.textRect||e,this.__dirty&&i.normalizeTextStyle(n,!0);var r=n.text;if(null!=r&&(r+=\"\"),i.needDrawText(r,n)){t.save();var s=this.transform;n.transformText?this.setTransform(t):s&&(o.copy(e),o.applyTransform(s),e=o),i.renderText(this,t,r,n,e,a),t.restore()}}};var l=s;t.exports=l},function(t,e,n){var i=n(0),r=n(24).Dispatcher,a=n(108),o=n(103),s=function(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,r.call(this)};s.prototype={constructor:s,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),n=0;n<e.length;n++)this.addClip(e[n])},removeClip:function(t){var e=i.indexOf(this._clips,t);e>=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),n=0;n<e.length;n++)this.removeClip(e[n]);t.animation=null},_update:function(){for(var t=(new Date).getTime()-this._pausedTime,e=t-this._time,n=this._clips,i=n.length,r=[],a=[],o=0;o<i;o++){var s=n[o],l=s.step(t,e);l&&(r.push(l),a.push(s))}for(o=0;o<i;)n[o]._needsRemove?(n[o]=n[i-1],n.pop(),i--):o++;i=r.length;for(o=0;o<i;o++)a[o].fire(r[o]);this._time=t,this.onframe(e),this.trigger(\"frame\",e),this.stage.update&&this.stage.update()},_startLoop:function(){var t=this;this._running=!0,a((function e(){t._running&&(a(e),!t._paused&&t._update())}))},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(t,e){var n=new o(t,(e=e||{}).loop,e.getter,e.setter);return this.addAnimator(n),n}},i.mixin(s,r);var l=s;t.exports=l},function(t,e,n){var i,r,a=n(24),o=a.addEventListener,s=a.removeEventListener,l=a.normalizeEvent,u=a.getNativeEvent,h=n(0),c=n(38),d=n(6),f=d.domSupported,p=(r={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:i=[\"click\",\"dblclick\",\"mousewheel\",\"mouseout\",\"mouseup\",\"mousedown\",\"mousemove\",\"contextmenu\"],touch:[\"touchstart\",\"touchend\",\"touchmove\"],pointer:h.map(i,(function(t){var e=t.replace(\"mouse\",\"pointer\");return r.hasOwnProperty(e)?e:t}))}),g=[\"mousemove\",\"mouseup\"],v=[\"pointermove\",\"pointerup\"];function m(t){return\"mousewheel\"===t&&d.browser.firefox?\"DOMMouseScroll\":t}function y(t){var e=t.pointerType;return\"pen\"===e||\"touch\"===e}function _(t){t&&(t.zrByTouch=!0)}function x(t,e){for(var n=e,i=!1;n&&9!==n.nodeType&&!(i=n.domBelongToZr||n!==e&&n===t.painterRoot);)n=n.parentNode;return i}function b(t,e){this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY}var w=b.prototype;w.stopPropagation=w.stopImmediatePropagation=w.preventDefault=h.noop;var S={mousedown:function(t){t=l(this.dom,t),this._mayPointerCapture=[t.zrX,t.zrY],this.trigger(\"mousedown\",t)},mousemove:function(t){t=l(this.dom,t);var e=this._mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||A(this,!0),this.trigger(\"mousemove\",t)},mouseup:function(t){t=l(this.dom,t),A(this,!1),this.trigger(\"mouseup\",t)},mouseout:function(t){t=l(this.dom,t),this._pointerCapturing&&(t.zrEventControl=\"no_globalout\");var e=t.toElement||t.relatedTarget;t.zrIsToLocalDOM=x(this,e),this.trigger(\"mouseout\",t)},touchstart:function(t){_(t=l(this.dom,t)),this._lastTouchMoment=new Date,this.handler.processGesture(t,\"start\"),S.mousemove.call(this,t),S.mousedown.call(this,t)},touchmove:function(t){_(t=l(this.dom,t)),this.handler.processGesture(t,\"change\"),S.mousemove.call(this,t)},touchend:function(t){_(t=l(this.dom,t)),this.handler.processGesture(t,\"end\"),S.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&S.click.call(this,t)},pointerdown:function(t){S.mousedown.call(this,t)},pointermove:function(t){y(t)||S.mousemove.call(this,t)},pointerup:function(t){S.mouseup.call(this,t)},pointerout:function(t){y(t)||S.mouseout.call(this,t)}};h.each([\"click\",\"mousewheel\",\"dblclick\",\"contextmenu\"],(function(t){S[t]=function(e){e=l(this.dom,e),this.trigger(t,e)}}));var M={pointermove:function(t){y(t)||M.mousemove.call(this,t)},pointerup:function(t){M.mouseup.call(this,t)},mousemove:function(t){this.trigger(\"mousemove\",t)},mouseup:function(t){var e=this._pointerCapturing;A(this,!1),this.trigger(\"mouseup\",t),e&&(t.zrEventControl=\"only_globalout\",this.trigger(\"mouseout\",t))}};function T(t,e){var n=e.domHandlers;d.pointerEventsSupported?h.each(p.pointer,(function(i){C(e,i,(function(e){n[i].call(t,e)}))})):(d.touchEventsSupported&&h.each(p.touch,(function(i){C(e,i,(function(r){n[i].call(t,r),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout((function(){t.touching=!1,t.touchTimer=null}),700)}(e)}))})),h.each(p.mouse,(function(i){C(e,i,(function(r){r=u(r),e.touching||n[i].call(t,r)}))})))}function I(t,e){function n(n){C(e,n,(function(i){i=u(i),x(t,i.target)||(i=function(t,e){return l(t.dom,new b(t,e),!0)}(t,i),e.domHandlers[n].call(t,i))}),{capture:!0})}d.pointerEventsSupported?h.each(v,n):d.touchEventsSupported||h.each(g,n)}function C(t,e,n,i){t.mounted[e]=n,t.listenerOpts[e]=i,o(t.domTarget,m(e),n,i)}function D(t){var e=t.mounted;for(var n in e)e.hasOwnProperty(n)&&s(t.domTarget,m(n),e[n],t.listenerOpts[n]);t.mounted={}}function A(t,e){if(t._mayPointerCapture=null,f&&t._pointerCapturing^e){t._pointerCapturing=e;var n=t._globalHandlerScope;e?I(t,n):D(n)}}function k(t,e){this.domTarget=t,this.domHandlers=e,this.mounted={},this.listenerOpts={},this.touchTimer=null,this.touching=!1}function O(t,e){c.call(this),this.dom=t,this.painterRoot=e,this._localHandlerScope=new k(t,S),f&&(this._globalHandlerScope=new k(document,M)),this._pointerCapturing=!1,this._mayPointerCapture=null,T(this,this._localHandlerScope)}var P=O.prototype;P.dispose=function(){D(this._localHandlerScope),f&&D(this._globalHandlerScope)},P.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||\"default\")},h.mixin(O,c);var L=O;t.exports=L},function(t,e,n){var i=n(74)([[\"lineWidth\",\"width\"],[\"stroke\",\"color\"],[\"opacity\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"shadowColor\"]]),r={getLineStyle:function(t){var e=i(this,t);return e.lineDash=this.getLineDash(e.lineWidth),e},getLineDash:function(t){null==t&&(t=1);var e=this.get(\"type\"),n=Math.max(t,2),i=4*t;return\"solid\"!==e&&null!=e&&(\"dashed\"===e?[i,i]:[n,n])}};t.exports=r},function(t,e,n){var i=n(74)([[\"fill\",\"color\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"opacity\"],[\"shadowColor\"]]),r={getAreaStyle:function(t,e){return i(this,t,e)}};t.exports=r},function(t,e,n){var i=n(15),r=n(4),a=[\"textStyle\",\"color\"],o={getTextColor:function(t){var e=this.ecModel;return this.getShallow(\"color\")||(!t&&e?e.get(a):null)},getFont:function(){return r.getFont({fontStyle:this.getShallow(\"fontStyle\"),fontWeight:this.getShallow(\"fontWeight\"),fontSize:this.getShallow(\"fontSize\"),fontFamily:this.getShallow(\"fontFamily\")},this.ecModel)},getTextRect:function(t){return i.getBoundingRect(t,this.getFont(),this.getShallow(\"align\"),this.getShallow(\"verticalAlign\")||this.getShallow(\"baseline\"),this.getShallow(\"padding\"),this.getShallow(\"lineHeight\"),this.getShallow(\"rich\"),this.getShallow(\"truncateText\"))}};t.exports=o},function(t,e,n){var i=n(56),r=n(193),a=n(194),o=n(195),s=n(196),l=n(114).normalizeRadian,u=n(31),h=n(115),c=i.CMD,d=2*Math.PI;var f=[-1,-1,-1],p=[-1,-1];function g(t,e,n,i,r,a,o,s,l,h){if(h>e&&h>i&&h>a&&h>s||h<e&&h<i&&h<a&&h<s)return 0;var c,d=u.cubicRootAt(e,i,a,s,h,f);if(0===d)return 0;for(var g,v,m=0,y=-1,_=0;_<d;_++){var x=f[_],b=0===x||1===x?.5:1;u.cubicAt(t,n,r,o,x)<l||(y<0&&(y=u.cubicExtrema(e,i,a,s,p),p[1]<p[0]&&y>1&&(c=void 0,c=p[0],p[0]=p[1],p[1]=c),g=u.cubicAt(e,i,a,s,p[0]),y>1&&(v=u.cubicAt(e,i,a,s,p[1]))),2===y?x<p[0]?m+=g<e?b:-b:x<p[1]?m+=v<g?b:-b:m+=s<v?b:-b:x<p[0]?m+=g<e?b:-b:m+=s<g?b:-b)}return m}function v(t,e,n,i,r,a,o,s){if(s>e&&s>i&&s>a||s<e&&s<i&&s<a)return 0;var l=u.quadraticRootAt(e,i,a,s,f);if(0===l)return 0;var h=u.quadraticExtremum(e,i,a);if(h>=0&&h<=1){for(var c=0,d=u.quadraticAt(e,i,a,h),p=0;p<l;p++){var g=0===f[p]||1===f[p]?.5:1;u.quadraticAt(t,n,r,f[p])<o||(f[p]<h?c+=d<e?g:-g:c+=a<d?g:-g)}return c}g=0===f[0]||1===f[0]?.5:1;return u.quadraticAt(t,n,r,f[0])<o?0:a<e?g:-g}function m(t,e,n,i,r,a,o,s){if((s-=e)>n||s<-n)return 0;var u=Math.sqrt(n*n-s*s);f[0]=-u,f[1]=u;var h=Math.abs(i-r);if(h<1e-4)return 0;if(h%d<1e-4){i=0,r=d;var c=a?1:-1;return o>=f[0]+t&&o<=f[1]+t?c:0}if(a){u=i;i=l(r),r=l(u)}else i=l(i),r=l(r);i>r&&(r+=d);for(var p=0,g=0;g<2;g++){var v=f[g];if(v+t>o){var m=Math.atan2(s,v);c=a?1:-1;m<0&&(m=d+m),(m>=i&&m<=r||m+d>=i&&m+d<=r)&&(m>Math.PI/2&&m<1.5*Math.PI&&(c=-c),p+=c)}}return p}function y(t,e,n,i,l){for(var u,d,f=0,p=0,y=0,_=0,x=0,b=0;b<t.length;){var w=t[b++];switch(w===c.M&&b>1&&(n||(f+=h(p,y,_,x,i,l))),1===b&&(_=p=t[b],x=y=t[b+1]),w){case c.M:p=_=t[b++],y=x=t[b++];break;case c.L:if(n){if(r.containStroke(p,y,t[b],t[b+1],e,i,l))return!0}else f+=h(p,y,t[b],t[b+1],i,l)||0;p=t[b++],y=t[b++];break;case c.C:if(n){if(a.containStroke(p,y,t[b++],t[b++],t[b++],t[b++],t[b],t[b+1],e,i,l))return!0}else f+=g(p,y,t[b++],t[b++],t[b++],t[b++],t[b],t[b+1],i,l)||0;p=t[b++],y=t[b++];break;case c.Q:if(n){if(o.containStroke(p,y,t[b++],t[b++],t[b],t[b+1],e,i,l))return!0}else f+=v(p,y,t[b++],t[b++],t[b],t[b+1],i,l)||0;p=t[b++],y=t[b++];break;case c.A:var S=t[b++],M=t[b++],T=t[b++],I=t[b++],C=t[b++],D=t[b++];b+=1;var A=1-t[b++],k=Math.cos(C)*T+S,O=Math.sin(C)*I+M;b>1?f+=h(p,y,k,O,i,l):(_=k,x=O);var P=(i-S)*I/T+S;if(n){if(s.containStroke(S,M,I,C,C+D,A,e,P,l))return!0}else f+=m(S,M,I,C,C+D,A,P,l);p=Math.cos(C+D)*T+S,y=Math.sin(C+D)*I+M;break;case c.R:_=p=t[b++],x=y=t[b++];k=_+t[b++],O=x+t[b++];if(n){if(r.containStroke(_,x,k,x,e,i,l)||r.containStroke(k,x,k,O,e,i,l)||r.containStroke(k,O,_,O,e,i,l)||r.containStroke(_,O,_,x,e,i,l))return!0}else f+=h(k,x,k,O,i,l),f+=h(_,O,_,x,i,l);break;case c.Z:if(n){if(r.containStroke(p,y,_,x,e,i,l))return!0}else f+=h(p,y,_,x,i,l);p=_,y=x}}return n||(u=y,d=x,Math.abs(u-d)<1e-4)||(f+=h(p,y,_,x,i,l)||0),0!==f}e.contain=function(t,e,n){return y(t,0,!1,e,n)},e.containStroke=function(t,e,n,i){return y(t,e,!0,n,i)}},function(t,e){e.containStroke=function(t,e,n,i,r,a,o){if(0===r)return!1;var s=r,l=0;if(o>e+s&&o>i+s||o<e-s&&o<i-s||a>t+s&&a>n+s||a<t-s&&a<n-s)return!1;if(t===n)return Math.abs(a-t)<=s/2;var u=(l=(e-i)/(t-n))*a-o+(t*i-n*e)/(t-n);return u*u/(l*l+1)<=s/2*s/2}},function(t,e,n){var i=n(31);e.containStroke=function(t,e,n,r,a,o,s,l,u,h,c){if(0===u)return!1;var d=u;return!(c>e+d&&c>r+d&&c>o+d&&c>l+d||c<e-d&&c<r-d&&c<o-d&&c<l-d||h>t+d&&h>n+d&&h>a+d&&h>s+d||h<t-d&&h<n-d&&h<a-d&&h<s-d)&&i.cubicProjectPoint(t,e,n,r,a,o,s,l,h,c,null)<=d/2}},function(t,e,n){var i=n(31).quadraticProjectPoint;e.containStroke=function(t,e,n,r,a,o,s,l,u){if(0===s)return!1;var h=s;return!(u>e+h&&u>r+h&&u>o+h||u<e-h&&u<r-h&&u<o-h||l>t+h&&l>n+h&&l>a+h||l<t-h&&l<n-h&&l<a-h)&&i(t,e,n,r,a,o,l,u,null)<=h/2}},function(t,e,n){var i=n(114).normalizeRadian,r=2*Math.PI;e.containStroke=function(t,e,n,a,o,s,l,u,h){if(0===l)return!1;var c=l;u-=t,h-=e;var d=Math.sqrt(u*u+h*h);if(d-c>n||d+c<n)return!1;if(Math.abs(a-o)%r<1e-4)return!0;if(s){var f=a;a=i(o),o=i(f)}else a=i(a),o=i(o);a>o&&(o+=r);var p=Math.atan2(h,u);return p<0&&(p+=r),p>=a&&p<=o||p+r>=a&&p+r<=o}},function(t,e,n){var i=n(56),r=n(7).applyTransform,a=i.CMD,o=[[],[],[]],s=Math.sqrt,l=Math.atan2;t.exports=function(t,e){var n,i,u,h,c,d=t.data,f=a.M,p=a.C,g=a.L,v=a.R,m=a.A,y=a.Q;for(u=0,h=0;u<d.length;){switch(n=d[u++],h=u,i=0,n){case f:case g:i=1;break;case p:i=3;break;case y:i=2;break;case m:var _=e[4],x=e[5],b=s(e[0]*e[0]+e[1]*e[1]),w=s(e[2]*e[2]+e[3]*e[3]),S=l(-e[1]/w,e[0]/b);d[u]*=b,d[u++]+=_,d[u]*=w,d[u++]+=x,d[u++]*=b,d[u++]*=w,d[u++]+=S,d[u++]+=S,h=u+=2;break;case v:M[0]=d[u++],M[1]=d[u++],r(M,M,e),d[h++]=M[0],d[h++]=M[1],M[0]+=d[u++],M[1]+=d[u++],r(M,M,e),d[h++]=M[0],d[h++]=M[1]}for(c=0;c<i;c++){var M;(M=o[c])[0]=d[u++],M[1]=d[u++],r(M,M,e),d[h++]=M[0],d[h++]=M[1]}}}},function(t,e,n){var i=n(8),r=n(199),a=i.extend({type:\"sector\",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},brush:r(i.prototype.brush),buildPath:function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),a=Math.max(e.r,0),o=e.startAngle,s=e.endAngle,l=e.clockwise,u=Math.cos(o),h=Math.sin(o);t.moveTo(u*r+n,h*r+i),t.lineTo(u*a+n,h*a+i),t.arc(n,i,a,o,s,!l),t.lineTo(Math.cos(s)*r+n,Math.sin(s)*r+i),0!==r&&t.arc(n,i,r,s,o,l),t.closePath()}});t.exports=a},function(t,e,n){var i=n(6),r=[[\"shadowBlur\",0],[\"shadowColor\",\"#000\"],[\"shadowOffsetX\",0],[\"shadowOffsetY\",0]];t.exports=function(t){return i.browser.ie&&i.browser.version>=11?function(){var e,n=this.__clipPaths,i=this.style;if(n)for(var a=0;a<n.length;a++){var o=n[a],s=o&&o.shape,l=o&&o.type;if(s&&(\"sector\"===l&&s.startAngle===s.endAngle||\"rect\"===l&&(!s.width||!s.height))){for(var u=0;u<r.length;u++)r[u][2]=i[r[u][0]],i[r[u][0]]=r[u][1];e=!0;break}}if(t.apply(this,arguments),e)for(u=0;u<r.length;u++)i[r[u][0]]=r[u][2]}:t}},function(t,e,n){var i=n(8).extend({type:\"ring\",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=2*Math.PI;t.moveTo(n+e.r,i),t.arc(n,i,e.r,0,r,!1),t.moveTo(n+e.r0,i),t.arc(n,i,e.r0,0,r,!0)}});t.exports=i},function(t,e,n){var i=n(7).distance;function r(t,e,n,i,r,a,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*o+(-3*(e-n)-2*s-l)*a+s*r+e}t.exports=function(t,e){for(var n=t.length,a=[],o=0,s=1;s<n;s++)o+=i(t[s-1],t[s]);var l=o/2;for(l=l<n?n:l,s=0;s<l;s++){var u,h,c,d=s/(l-1)*(e?n:n-1),f=Math.floor(d),p=d-f,g=t[f%n];e?(u=t[(f-1+n)%n],h=t[(f+1)%n],c=t[(f+2)%n]):(u=t[0===f?f:f-1],h=t[f>n-2?n-1:f+1],c=t[f>n-3?n-1:f+2]);var v=p*p,m=p*v;a.push([r(u[0],g[0],h[0],c[0],p,v,m),r(u[1],g[1],h[1],c[1],p,v,m)])}return a}},function(t,e,n){var i=n(7),r=i.min,a=i.max,o=i.scale,s=i.distance,l=i.add,u=i.clone,h=i.sub;t.exports=function(t,e,n,i){var c,d,f,p,g=[],v=[],m=[],y=[];if(i){f=[1/0,1/0],p=[-1/0,-1/0];for(var _=0,x=t.length;_<x;_++)r(f,f,t[_]),a(p,p,t[_]);r(f,f,i[0]),a(p,p,i[1])}for(_=0,x=t.length;_<x;_++){var b=t[_];if(n)c=t[_?_-1:x-1],d=t[(_+1)%x];else{if(0===_||_===x-1){g.push(u(t[_]));continue}c=t[_-1],d=t[_+1]}h(v,d,c),o(v,v,e);var w=s(b,c),S=s(b,d),M=w+S;0!==M&&(w/=M,S/=M),o(m,v,-w),o(y,v,S);var T=l([],b,m),I=l([],b,y);i&&(a(T,T,f),r(T,T,p),a(I,I,f),r(I,I,p)),g.push(T),g.push(I)}return n&&g.push(g.shift()),g}},function(t,e,n){var i=n(8),r=n(7),a=n(31),o=a.quadraticSubdivide,s=a.cubicSubdivide,l=a.quadraticAt,u=a.cubicAt,h=a.quadraticDerivativeAt,c=a.cubicDerivativeAt,d=[];function f(t,e,n){var i=t.cpx2,r=t.cpy2;return null===i||null===r?[(n?c:u)(t.x1,t.cpx1,t.cpx2,t.x2,e),(n?c:u)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(n?h:l)(t.x1,t.cpx1,t.x2,e),(n?h:l)(t.y1,t.cpy1,t.y2,e)]}var p=i.extend({type:\"bezier-curve\",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){var n=e.x1,i=e.y1,r=e.x2,a=e.y2,l=e.cpx1,u=e.cpy1,h=e.cpx2,c=e.cpy2,f=e.percent;0!==f&&(t.moveTo(n,i),null==h||null==c?(f<1&&(o(n,l,r,f,d),l=d[1],r=d[2],o(i,u,a,f,d),u=d[1],a=d[2]),t.quadraticCurveTo(l,u,r,a)):(f<1&&(s(n,l,h,r,f,d),l=d[1],h=d[2],r=d[3],s(i,u,c,a,f,d),u=d[1],c=d[2],a=d[3]),t.bezierCurveTo(l,u,h,c,r,a)))},pointAt:function(t){return f(this.shape,t,!1)},tangentAt:function(t){var e=f(this.shape,t,!0);return r.normalize(e,e)}});t.exports=p},function(t,e,n){var i=n(8).extend({type:\"arc\",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r,0),a=e.startAngle,o=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);t.moveTo(l*r+n,u*r+i),t.arc(n,i,r,a,o,!s)}});t.exports=i},function(t,e,n){var i=n(8),r=i.extend({type:\"compound\",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,n=0;n<e.length;n++)t=t||e[n].__dirtyPath;this.__dirtyPath=t,this.__dirty=this.__dirty||t},beforeBrush:function(){this._updatePathDirty();for(var t=this.shape.paths||[],e=this.getGlobalScale(),n=0;n<t.length;n++)t[n].path||t[n].createPathProxy(),t[n].path.setScale(e[0],e[1],t[n].segmentIgnoreThreshold)},buildPath:function(t,e){for(var n=e.paths||[],i=0;i<n.length;i++)n[i].buildPath(t,n[i].shape,!0)},afterBrush:function(){for(var t=this.shape.paths||[],e=0;e<t.length;e++)t[e].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),i.prototype.getBoundingRect.call(this)}});t.exports=r},function(t,e,n){var i=n(0),r=n(78),a=function(t,e,n,i,a){this.x=null==t?.5:t,this.y=null==e?.5:e,this.r=null==n?.5:n,this.type=\"radial\",this.global=a||!1,r.call(this,i)};a.prototype={constructor:a},i.inherits(a,r);var o=a;t.exports=o},function(t,e,n){var i=n(0).inherits,r=n(55),a=n(12);function o(t){r.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}o.prototype.incremental=!0,o.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},o.prototype.addDisplayable=function(t,e){e?this._temporaryDisplayables.push(t):this._displayables.push(t),this.dirty()},o.prototype.addDisplayables=function(t,e){e=e||!1;for(var n=0;n<t.length;n++)this.addDisplayable(t[n],e)},o.prototype.eachPendingDisplayable=function(t){for(var e=this._cursor;e<this._displayables.length;e++)t&&t(this._displayables[e]);for(e=0;e<this._temporaryDisplayables.length;e++)t&&t(this._temporaryDisplayables[e])},o.prototype.update=function(){this.updateTransform();for(var t=this._cursor;t<this._displayables.length;t++){(e=this._displayables[t]).parent=this,e.update(),e.parent=null}for(t=0;t<this._temporaryDisplayables.length;t++){var e;(e=this._temporaryDisplayables[t]).parent=this,e.update(),e.parent=null}},o.prototype.brush=function(t,e){for(var n=this._cursor;n<this._displayables.length;n++){(i=this._displayables[n]).beforeBrush&&i.beforeBrush(t),i.brush(t,n===this._cursor?null:this._displayables[n-1]),i.afterBrush&&i.afterBrush(t)}this._cursor=n;for(n=0;n<this._temporaryDisplayables.length;n++){var i;(i=this._temporaryDisplayables[n]).beforeBrush&&i.beforeBrush(t),i.brush(t,0===n?null:this._temporaryDisplayables[n-1]),i.afterBrush&&i.afterBrush(t)}this._temporaryDisplayables=[],this.notClear=!0};var s=[];o.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new a(1/0,1/0,-1/0,-1/0),e=0;e<this._displayables.length;e++){var n=this._displayables[e],i=n.getBoundingRect().clone();n.needLocalTransform()&&i.applyTransform(n.getLocalTransform(s)),t.union(i)}this._rect=t}return this._rect},o.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e);if(this.getBoundingRect().contain(n[0],n[1]))for(var i=0;i<this._displayables.length;i++){if(this._displayables[i].contain(t,e))return!0}return!1},i(o,r);var l=o;t.exports=l},function(t,e,n){var i=n(74)([[\"fill\",\"color\"],[\"stroke\",\"borderColor\"],[\"lineWidth\",\"borderWidth\"],[\"opacity\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"shadowColor\"],[\"textPosition\"],[\"textAlign\"]]),r={getItemStyle:function(t,e){var n=i(this,t,e),r=this.getBorderLineDash();return r&&(n.lineDash=r),n},getBorderLineDash:function(){var t=this.get(\"borderType\");return\"solid\"===t||null==t?null:\"dashed\"===t?[5,5]:[1,1]}};t.exports=r},function(t,e){t.exports={getBoxLayoutParams:function(){return{left:this.get(\"left\"),top:this.get(\"top\"),right:this.get(\"right\"),bottom:this.get(\"bottom\"),width:this.get(\"width\"),height:this.get(\"height\")}}}},function(t,e){var n=\"\";\"undefined\"!=typeof navigator&&(n=navigator.platform||\"\");var i={color:[\"#c23531\",\"#2f4554\",\"#61a0a8\",\"#d48265\",\"#91c7ae\",\"#749f83\",\"#ca8622\",\"#bda29a\",\"#6e7074\",\"#546570\",\"#c4ccd3\"],gradientColor:[\"#f6efa6\",\"#d88273\",\"#bf444c\"],textStyle:{fontFamily:n.match(/^Win/)?\"Microsoft YaHei\":\"sans-serif\",fontSize:12,fontStyle:\"normal\",fontWeight:\"normal\"},blendMode:null,animation:\"auto\",animationDuration:1e3,animationDurationUpdate:300,animationEasing:\"exponentialOut\",animationEasingUpdate:\"cubicOut\",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};t.exports=i},function(t,e,n){var i=n(0),r=n(1),a=n(22),o=i.each,s=i.clone,l=i.map,u=i.merge,h=/^(min|max)?(.+)$/;function c(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function d(t,e,n){var r,a,s=[],l=[],u=t.timeline;if(t.baseOption&&(a=t.baseOption),(u||t.options)&&(a=a||{},s=(t.options||[]).slice()),t.media){a=a||{};var h=t.media;o(h,(function(t){t&&t.option&&(t.query?l.push(t):r||(r=t))}))}return a||(a=t),a.timeline||(a.timeline=u),o([a].concat(s).concat(i.map(l,(function(t){return t.option}))),(function(t){o(e,(function(e){e(t,n)}))})),{baseOption:a,timelineOptions:s,mediaDefault:r,mediaList:l}}function f(t,e,n){var r={width:e,height:n,aspectratio:e/n},a=!0;return i.each(t,(function(t,e){var n=e.match(h);if(n&&n[1]&&n[2]){var i=n[1],o=n[2].toLowerCase();(function(t,e,n){return\"min\"===n?t>=e:\"max\"===n?t<=e:t===e})(r[o],t,i)||(a=!1)}})),a}c.prototype={constructor:c,setOption:function(t,e){t&&i.each(r.normalizeToArray(t.series),(function(t){t&&t.data&&i.isTypedArray(t.data)&&i.setAsPrimitive(t.data)})),t=s(t);var n,h,c=this._optionBackup,f=d.call(this,t,e,!c);this._newBaseOption=f.baseOption,c?(n=c.baseOption,h=f.baseOption,o(h=h||{},(function(t,e){if(null!=t){var i=n[e];if(a.hasClass(e)){t=r.normalizeToArray(t),i=r.normalizeToArray(i);var o=r.mappingToExists(i,t);n[e]=l(o,(function(t){return t.option&&t.exist?u(t.exist,t.option,!0):t.exist||t.option}))}else n[e]=u(i,t,!0)}})),f.timelineOptions.length&&(c.timelineOptions=f.timelineOptions),f.mediaList.length&&(c.mediaList=f.mediaList),f.mediaDefault&&(c.mediaDefault=f.mediaDefault)):this._optionBackup=f},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=l(e.timelineOptions,s),this._mediaList=l(e.mediaList,s),this._mediaDefault=s(e.mediaDefault),this._currentMediaIndices=[],s(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,n=this._timelineOptions;if(n.length){var i=t.getComponent(\"timeline\");i&&(e=s(n[i.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e,n,i=this._api.getWidth(),r=this._api.getHeight(),a=this._mediaList,o=this._mediaDefault,u=[],h=[];if(!a.length&&!o)return h;for(var c=0,d=a.length;c<d;c++)f(a[c].query,i,r)&&u.push(c);return!u.length&&o&&(u=[-1]),u.length&&(e=u,n=this._currentMediaIndices,e.join(\",\")!==n.join(\",\"))&&(h=l(u,(function(t){return s(-1===t?o.option:a[t].option)}))),this._currentMediaIndices=u,h}};var p=c;t.exports=p},function(t,e,n){var i=n(0),r=i.each,a=i.isArray,o=i.isObject,s=n(213),l=n(1).normalizeToArray;function u(t){r(h,(function(e){e[0]in t&&!(e[1]in t)&&(t[e[1]]=t[e[0]])}))}var h=[[\"x\",\"left\"],[\"y\",\"top\"],[\"x2\",\"right\"],[\"y2\",\"bottom\"]],c=[\"grid\",\"geo\",\"parallel\",\"legend\",\"toolbox\",\"title\",\"visualMap\",\"dataZoom\",\"timeline\"];t.exports=function(t,e){s(t,e),t.series=l(t.series),r(t.series,(function(t){if(o(t)){var e=t.type;if(\"line\"===e)null!=t.clipOverflow&&(t.clip=t.clipOverflow);else if(\"pie\"===e||\"gauge\"===e)null!=t.clockWise&&(t.clockwise=t.clockWise);else if(\"gauge\"===e){var n=function(t,e){e=e.split(\",\");for(var n=t,i=0;i<e.length&&null!=(n=n&&n[e[i]]);i++);return n}(t,\"pointer.color\");null!=n&&function(t,e,n,i){e=e.split(\",\");for(var r,a=t,o=0;o<e.length-1;o++)null==a[r=e[o]]&&(a[r]={}),a=a[r];(i||null==a[e[o]])&&(a[e[o]]=n)}(t,\"itemStyle.color\",n)}u(t)}})),t.dataRange&&(t.visualMap=t.dataRange),r(c,(function(e){var n=t[e];n&&(a(n)||(n=[n]),r(n,(function(t){u(t)})))}))}},function(t,e,n){var i=n(0),r=n(1),a=i.each,o=i.isObject,s=[\"areaStyle\",\"lineStyle\",\"nodeStyle\",\"linkStyle\",\"chordStyle\",\"label\",\"labelLine\"];function l(t){var e=t&&t.itemStyle;if(e)for(var n=0,r=s.length;n<r;n++){var a=s[n],o=e.normal,l=e.emphasis;o&&o[a]&&(t[a]=t[a]||{},t[a].normal?i.merge(t[a].normal,o[a]):t[a].normal=o[a],o[a]=null),l&&l[a]&&(t[a]=t[a]||{},t[a].emphasis?i.merge(t[a].emphasis,l[a]):t[a].emphasis=l[a],l[a]=null)}}function u(t,e,n){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var r=t[e].normal,a=t[e].emphasis;r&&(n?(t[e].normal=t[e].emphasis=null,i.defaults(t[e],r)):t[e]=r),a&&(t.emphasis=t.emphasis||{},t.emphasis[e]=a)}}function h(t){u(t,\"itemStyle\"),u(t,\"lineStyle\"),u(t,\"areaStyle\"),u(t,\"label\"),u(t,\"labelLine\"),u(t,\"upperLabel\"),u(t,\"edgeLabel\")}function c(t,e){var n=o(t)&&t[e],i=o(n)&&n.textStyle;if(i)for(var a=0,s=r.TEXT_STYLE_OPTIONS.length;a<s;a++){e=r.TEXT_STYLE_OPTIONS[a];i.hasOwnProperty(e)&&(n[e]=i[e])}}function d(t){t&&(h(t),c(t,\"label\"),t.emphasis&&c(t.emphasis,\"label\"))}function f(t){return i.isArray(t)?t:t?[t]:[]}function p(t){return(i.isArray(t)?t[0]:t)||{}}t.exports=function(t,e){a(f(t.series),(function(t){o(t)&&function(t){if(o(t)){l(t),h(t),c(t,\"label\"),c(t,\"upperLabel\"),c(t,\"edgeLabel\"),t.emphasis&&(c(t.emphasis,\"label\"),c(t.emphasis,\"upperLabel\"),c(t.emphasis,\"edgeLabel\")),(n=t.markPoint)&&(l(n),d(n)),(r=t.markLine)&&(l(r),d(r));var e=t.markArea;e&&d(e);var n,r,a=t.data;if(\"graph\"===t.type){a=a||t.nodes;var s=t.links||t.edges;if(s&&!i.isTypedArray(s))for(var f=0;f<s.length;f++)d(s[f]);i.each(t.categories,(function(t){h(t)}))}if(a&&!i.isTypedArray(a))for(f=0;f<a.length;f++)d(a[f]);if((n=t.markPoint)&&n.data){var p=n.data;for(f=0;f<p.length;f++)d(p[f])}if((r=t.markLine)&&r.data){var g=r.data;for(f=0;f<g.length;f++)i.isArray(g[f])?(d(g[f][0]),d(g[f][1])):d(g[f])}\"gauge\"===t.type?(c(t,\"axisLabel\"),c(t,\"title\"),c(t,\"detail\")):\"treemap\"===t.type?(u(t.breadcrumb,\"itemStyle\"),i.each(t.levels,(function(t){h(t)}))):\"tree\"===t.type&&h(t.leaves)}}(t)}));var n=[\"xAxis\",\"yAxis\",\"radiusAxis\",\"angleAxis\",\"singleAxis\",\"parallelAxis\",\"radar\"];e&&n.push(\"valueAxis\",\"categoryAxis\",\"logAxis\",\"timeAxis\"),a(n,(function(e){a(f(t[e]),(function(t){t&&(c(t,\"axisLabel\"),c(t.axisPointer,\"label\"))}))})),a(f(t.parallel),(function(t){var e=t&&t.parallelAxisDefault;c(e,\"axisLabel\"),c(e&&e.axisPointer,\"label\")})),a(f(t.calendar),(function(t){u(t,\"itemStyle\"),c(t,\"dayLabel\"),c(t,\"monthLabel\"),c(t,\"yearLabel\")})),a(f(t.radar),(function(t){c(t,\"name\")})),a(f(t.geo),(function(t){o(t)&&(d(t),a(f(t.regions),(function(t){d(t)})))})),a(f(t.timeline),(function(t){d(t),u(t,\"label\"),u(t,\"itemStyle\"),u(t,\"controlStyle\",!0);var e=t.data;i.isArray(e)&&i.each(e,(function(t){i.isObject(t)&&(u(t,\"label\"),u(t,\"itemStyle\"))}))})),a(f(t.toolbox),(function(t){u(t,\"iconStyle\"),a(t.feature,(function(t){u(t,\"iconStyle\")}))})),c(p(t.axisPointer),\"label\"),c(p(t.tooltip).axisPointer,\"label\")}},function(t,e,n){var i=n(0),r=i.createHashMap,a=i.each;function o(t){a(t,(function(e,n){var i=[],r=[NaN,NaN],a=[e.stackResultDimension,e.stackedOverDimension],o=e.data,s=e.isStackedByIndex,l=o.map(a,(function(a,l,u){var h,c,d=o.get(e.stackedDimension,u);if(isNaN(d))return r;s?c=o.getRawIndex(u):h=o.get(e.stackedByDimension,u);for(var f=NaN,p=n-1;p>=0;p--){var g=t[p];if(s||(c=g.data.rawIndexOf(g.stackedByDimension,h)),c>=0){var v=g.data.getByRawIndex(g.stackResultDimension,c);if(d>=0&&v>0||d<=0&&v<0){d+=v,f=v;break}}}return i[0]=d,i[1]=f,i}));o.hostModel.setData(l),e.data=l}))}t.exports=function(t){var e=r();t.eachSeries((function(t){var n=t.get(\"stack\");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),a={stackResultDimension:r.getCalculationInfo(\"stackResultDimension\"),stackedOverDimension:r.getCalculationInfo(\"stackedOverDimension\"),stackedDimension:r.getCalculationInfo(\"stackedDimension\"),stackedByDimension:r.getCalculationInfo(\"stackedByDimension\"),isStackedByIndex:r.getCalculationInfo(\"isStackedByIndex\"),data:r,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;i.length&&r.setCalculationInfo(\"stackedOnSeries\",i[i.length-1].seriesModel),i.push(a)}})),e.each(o)}},function(t,e,n){var i=n(42).retrieveRawValue,r=n(9),a=r.getTooltipMarker,o=r.formatTpl,s=n(1).getTooltipRenderMode,l=/\\{@(.+?)\\}/g,u={getDataParams:function(t,e){var n=this.getData(e),i=this.getRawValue(t,e),r=n.getRawIndex(t),o=n.getName(t),l=n.getRawDataItem(t),u=n.getItemVisual(t,\"color\"),h=n.getItemVisual(t,\"borderColor\"),c=this.ecModel.getComponent(\"tooltip\"),d=c&&c.get(\"renderMode\"),f=s(d),p=this.mainType,g=\"series\"===p,v=n.userOutput;return{componentType:p,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:g?this.subType:null,seriesIndex:this.seriesIndex,seriesId:g?this.id:null,seriesName:g?this.name:null,name:o,dataIndex:r,data:l,dataType:e,value:i,color:u,borderColor:h,dimensionNames:v?v.dimensionNames:null,encode:v?v.encode:null,marker:a({color:u,renderMode:f}),$vars:[\"seriesName\",\"name\",\"value\"]}},getFormattedLabel:function(t,e,n,r,a){e=e||\"normal\";var s=this.getData(n),u=s.getItemModel(t),h=this.getDataParams(t,n);null!=r&&h.value instanceof Array&&(h.value=h.value[r]);var c=u.get(\"normal\"===e?[a||\"label\",\"formatter\"]:[e,a||\"label\",\"formatter\"]);return\"function\"==typeof c?(h.status=e,h.dimensionIndex=r,c(h)):\"string\"==typeof c?o(c,h).replace(l,(function(e,n){var r=n.length;return\"[\"===n.charAt(0)&&\"]\"===n.charAt(r-1)&&(n=+n.slice(1,r-1)),i(s,t,n)})):void 0},getRawValue:function(t,e){return i(this.getData(e),t)},formatTooltip:function(){}};t.exports=u},function(t,e,n){var i=n(78),r=n(0).isFunction,a={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),a=(t.visualColorAccessPath||\"itemStyle.color\").split(\".\"),o=t.get(a),s=!r(o)||o instanceof i?null:o;o&&!s||(o=t.getColorFromPalette(t.name,null,e.getSeriesCount())),n.setVisual(\"color\",o);var l=(t.visualBorderColorAccessPath||\"itemStyle.borderColor\").split(\".\"),u=t.get(l);if(n.setVisual(\"borderColor\",u),!e.isSeriesFiltered(t)){s&&n.each((function(e){n.setItemVisual(e,\"color\",s(t.getDataParams(e)))}));return{dataEach:n.hasItemOption?function(t,e){var n=t.getItemModel(e),i=n.get(a,!0),r=n.get(l,!0);null!=i&&t.setItemVisual(e,\"color\",i),null!=r&&t.setItemVisual(e,\"borderColor\",r)}:null}}}};t.exports=a},function(t,e,n){var i=n(0),r=n(128),a=n(42).retrieveRawValue;t.exports=function(t,e){var n=e.getModel(\"aria\");if(n.get(\"show\"))if(n.get(\"description\"))t.setAttribute(\"aria-label\",n.get(\"description\"));else{var o=0;e.eachSeries((function(t,e){++o}),this);var s,l=n.get(\"data.maxCount\")||10,u=n.get(\"series.maxCount\")||10,h=Math.min(o,u);if(!(o<1)){var c=function(){var t=e.getModel(\"title\").option;t&&t.length&&(t=t[0]);return t&&t.text}();s=c?f(p(\"general.withTitle\"),{title:c}):p(\"general.withoutTitle\");var d=[];s+=f(p(o>1?\"series.multiple.prefix\":\"series.single.prefix\"),{seriesCount:o}),e.eachSeries((function(t,e){if(e<h){var n,i=t.get(\"name\"),s=\"series.\"+(o>1?\"multiple\":\"single\")+\".\";n=f(n=p(i?s+\"withName\":s+\"withoutName\"),{seriesId:t.seriesIndex,seriesName:t.get(\"name\"),seriesType:(y=t.subType,r.series.typeNames[y]||\"自定义图\")});var u=t.getData();window.data=u,u.count()>l?n+=f(p(\"data.partialData\"),{displayCnt:l}):n+=p(\"data.allData\");for(var c=[],g=0;g<u.count();g++)if(g<l){var v=u.getName(g),m=a(u,g);c.push(f(p(v?\"data.withName\":\"data.withoutName\"),{name:v,value:m}))}n+=c.join(p(\"data.separator.middle\"))+p(\"data.separator.end\"),d.push(n)}var y})),s+=d.join(p(\"series.multiple.separator.middle\"))+p(\"series.multiple.separator.end\"),t.setAttribute(\"aria-label\",s)}}function f(t,e){if(\"string\"!=typeof t)return t;var n=t;return i.each(e,(function(t,e){n=n.replace(new RegExp(\"\\\\{\\\\s*\"+e+\"\\\\s*\\\\}\",\"g\"),t)})),n}function p(t){var e=n.get(t);if(null==e){for(var i=t.split(\".\"),a=r.aria,o=0;o<i.length;++o)a=a[i[o]];return a}return e}}},function(t,e,n){var i=n(0),r=n(4),a=n(15),o=Math.PI;t.exports=function(t,e){e=e||{},i.defaults(e,{text:\"loading\",textColor:\"#000\",fontSize:\"12px\",maskColor:\"rgba(255, 255, 255, 0.8)\",showSpinner:!0,color:\"#c23531\",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new r.Group,s=new r.Rect({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(s);var l=e.fontSize+\" sans-serif\",u=new r.Rect({style:{fill:\"none\",text:e.text,font:l,textPosition:\"right\",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});if(n.add(u),e.showSpinner){var h=new r.Arc({shape:{startAngle:-o/2,endAngle:-o/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:\"round\",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001});h.animateShape(!0).when(1e3,{endAngle:3*o/2}).start(\"circularInOut\"),h.animateShape(!0).when(1e3,{startAngle:3*o/2}).delay(300).start(\"circularInOut\"),n.add(h)}return n.resize=function(){var n=a.getWidth(e.text,l),i=e.showSpinner?e.spinnerRadius:0,r=(t.getWidth()-2*i-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner?0:n/2),o=t.getHeight()/2;e.showSpinner&&h.setShape({cx:r,cy:o}),u.setShape({x:r-i,y:o-i,width:2*i,height:2*i}),s.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n}},function(t,e,n){var i=n(0),r=i.each,a=i.map,o=i.isFunction,s=i.createHashMap,l=i.noop,u=n(79).createTask,h=n(57).getUID,c=n(111),d=n(123),f=n(1).normalizeToArray;function p(t,e,n,i){this.ecInstance=t,this.api=e,this.unfinished;n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice();this._allHandlers=n.concat(i),this._stageTaskMap=s()}var g=p.prototype;function v(t,e,n,i,a){var o;function s(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}a=a||{},r(e,(function(e,r){if(!a.visualType||a.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each((function(t){s(a,t)&&(t.dirty(),c=!0)})),c&&h.dirty(),m(h,i);var f=t.getPerformArgs(h,a.block);d.each((function(t){t.perform(f)})),o|=h.perform(f)}else u&&u.each((function(r,l){s(a,r)&&r.dirty();var u=t.getPerformArgs(r,a.block);u.skip=!e.performRawSeries&&n.isSeriesFiltered(r.context.model),m(r,i),o|=r.perform(u)}))}})),t.unfinished|=o}g.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each((function(t){var e=t.overallTask;e&&e.dirty()}))},g.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex?n.step:null,a=i&&i.modDataCount;return{step:r,modBy:null!=a?Math.ceil(a/r):null,modDataCount:a}}},g.getPipeline=function(t){return this._pipelineMap.get(t)},g.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,a=t.get(\"large\")&&i>=t.get(\"largeThreshold\"),o=\"mod\"===t.get(\"progressiveChunkMode\")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:o,large:a}},g.restorePipelines=function(t){var e=this,n=e._pipelineMap=s();t.eachSeries((function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),C(e,t,t.dataTask)}))},g.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),n=this.api;r(this._allHandlers,(function(i){var a=t.get(i.uid)||t.set(i.uid,[]);i.reset&&function(t,e,n,i,r){var a=n.seriesTaskMap||(n.seriesTaskMap=s()),o=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?i.eachRawSeries(h):o?i.eachRawSeriesByType(o,h):l&&l(i,r).each(h);function h(n){var o=n.uid,s=a.get(o)||a.set(o,u({plan:w,reset:S,count:I}));s.context={model:n,ecModel:i,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},C(t,n,s)}var c=t._pipelineMap;a.each((function(t,e){c.get(e)||(t.dispose(),a.removeKey(e))}))}(this,i,a,e,n),i.overallReset&&function(t,e,n,i,a){var o=n.overallTask=n.overallTask||u({reset:y});o.context={ecModel:i,api:a,overallReset:e.overallReset,scheduler:t};var l=o.agentStubMap=o.agentStubMap||s(),h=e.seriesType,c=e.getTargetSeries,d=!0,f=e.modifyOutputEnd;h?i.eachRawSeriesByType(h,p):c?c(i,a).each(p):(d=!1,r(i.getSeries(),p));function p(e){var n=e.uid,i=l.get(n);i||(i=l.set(n,u({reset:_,onDirty:b})),o.dirty()),i.context={model:e,overallProgress:d,modifyOutputEnd:f},i.agent=o,i.__block=d,C(t,e,i)}var g=t._pipelineMap;l.each((function(t,e){g.get(e)||(t.dispose(),o.dirty(),l.removeKey(e))}))}(this,i,a,e,n)}),this)},g.prepareView=function(t,e,n,i){var r=t.renderTask,a=r.context;a.model=e,a.ecModel=n,a.api=i,r.__block=!t.incrementalPrepareRender,C(this,e,r)},g.performDataProcessorTasks=function(t,e){v(this,this._dataProcessorHandlers,t,e,{block:!0})},g.performVisualTasks=function(t,e,n){v(this,this._visualHandlers,t,e,n)},g.performSeriesTasks=function(t){var e;t.eachSeries((function(t){e|=t.dataTask.perform()})),this.unfinished|=e},g.plan=function(){this._pipelineMap.each((function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)}))};var m=g.updatePayload=function(t,e){\"remain\"!==e&&(t.context.payload=e)};function y(t){t.overallReset(t.ecModel,t.api,t.payload)}function _(t,e){return t.overallProgress&&x}function x(){this.agent.dirty(),this.getDownstream().dirty()}function b(){this.agent&&this.agent.dirty()}function w(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function S(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=f(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?a(e,(function(t,e){return T(e)})):M}var M=T(0);function T(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var a=e.start;a<e.end;a++)r.dataEach(i,a);else r&&r.progress&&r.progress(e,i)}}function I(t){return t.data.count()}function C(t,e,n){var i=e.uid,r=t._pipelineMap.get(i);!r.head&&(r.head=n),r.tail&&r.tail.pipe(n),r.tail=n,n.__idxInPipeline=r.count++,n.__pipeline=r}function D(t){A=null;try{t(k,O)}catch(t){}return A}p.wrapStageHandler=function(t,e){return o(t)&&(t={overallReset:t,seriesType:D(t)}),t.uid=h(\"stageHandler\"),e&&(t.visualType=e),t};var A,k={},O={};function P(t,e){for(var n in e.prototype)t[n]=l}P(k,c),P(O,d),k.eachSeriesByType=k.eachRawSeriesByType=function(t){A=t},k.eachComponent=function(t){\"series\"===t.mainType&&t.subType&&(A=t.subType)};var L=p;t.exports=L},function(t,e){var n=[\"#37A2DA\",\"#32C5E9\",\"#67E0E3\",\"#9FE6B8\",\"#FFDB5C\",\"#ff9f7f\",\"#fb7293\",\"#E062AE\",\"#E690D1\",\"#e7bcf3\",\"#9d96f5\",\"#8378EA\",\"#96BFFF\"],i={color:n,colorLayer:[[\"#37A2DA\",\"#ffd85c\",\"#fd7b5f\"],[\"#37A2DA\",\"#67E0E3\",\"#FFDB5C\",\"#ff9f7f\",\"#E062AE\",\"#9d96f5\"],[\"#37A2DA\",\"#32C5E9\",\"#9FE6B8\",\"#FFDB5C\",\"#ff9f7f\",\"#fb7293\",\"#e7bcf3\",\"#8378EA\",\"#96BFFF\"],n]};t.exports=i},function(t,e){var n=[\"#dd6b66\",\"#759aa0\",\"#e69d87\",\"#8dc1a9\",\"#ea7e53\",\"#eedd78\",\"#73a373\",\"#73b9bc\",\"#7289ab\",\"#91ca8c\",\"#f49f42\"],i={color:n,backgroundColor:\"#333\",tooltip:{axisPointer:{lineStyle:{color:\"#eee\"},crossStyle:{color:\"#eee\"},label:{color:\"#000\"}}},legend:{textStyle:{color:\"#eee\"}},textStyle:{color:\"#eee\"},title:{textStyle:{color:\"#eee\"}},toolbox:{iconStyle:{normal:{borderColor:\"#eee\"}}},dataZoom:{textStyle:{color:\"#eee\"}},visualMap:{textStyle:{color:\"#eee\"}},timeline:{lineStyle:{color:\"#eee\"},itemStyle:{normal:{color:n[1]}},label:{normal:{textStyle:{color:\"#eee\"}}},controlStyle:{normal:{color:\"#eee\",borderColor:\"#eee\"}}},timeAxis:{axisLine:{lineStyle:{color:\"#eee\"}},axisTick:{lineStyle:{color:\"#eee\"}},axisLabel:{textStyle:{color:\"#eee\"}},splitLine:{lineStyle:{type:\"dashed\",color:\"#aaa\"}},splitArea:{areaStyle:{color:\"#eee\"}}},logAxis:{axisLine:{lineStyle:{color:\"#eee\"}},axisTick:{lineStyle:{color:\"#eee\"}},axisLabel:{textStyle:{color:\"#eee\"}},splitLine:{lineStyle:{type:\"dashed\",color:\"#aaa\"}},splitArea:{areaStyle:{color:\"#eee\"}}},valueAxis:{axisLine:{lineStyle:{color:\"#eee\"}},axisTick:{lineStyle:{color:\"#eee\"}},axisLabel:{textStyle:{color:\"#eee\"}},splitLine:{lineStyle:{type:\"dashed\",color:\"#aaa\"}},splitArea:{areaStyle:{color:\"#eee\"}}},categoryAxis:{axisLine:{lineStyle:{color:\"#eee\"}},axisTick:{lineStyle:{color:\"#eee\"}},axisLabel:{textStyle:{color:\"#eee\"}},splitLine:{lineStyle:{type:\"dashed\",color:\"#aaa\"}},splitArea:{areaStyle:{color:\"#eee\"}}},line:{symbol:\"circle\"},graph:{color:n},gauge:{title:{textStyle:{color:\"#eee\"}}},candlestick:{itemStyle:{normal:{color:\"#FD1050\",color0:\"#0CF49B\",borderColor:\"#FD1050\",borderColor0:\"#0CF49B\"}}}};i.categoryAxis.splitLine.show=!1;var r=i;t.exports=r},function(t,e,n){var i=n(22),r=n(125),a=n(32).detectSourceFormat,o=n(41).SERIES_LAYOUT_BY_COLUMN;i.extend({type:\"dataset\",defaultOption:{seriesLayoutBy:o,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){a(this)}}),r.extend({type:\"dataset\"})},function(t,e,n){n(5).__DEV__;var i=n(0),r=i.createHashMap,a=i.isString,o=i.isArray,s=i.each,l=(i.assert,n(224).parseXML),u=r(),h={registerMap:function(t,e,n){var i;return o(e)?i=e:e.svg?i=[{type:\"svg\",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(n=e.specialAreas,e=e.geoJson),i=[{type:\"geoJSON\",source:e,specialAreas:n}]),s(i,(function(t){var e=t.type;\"geoJson\"===e&&(e=t.type=\"geoJSON\"),(0,c[e])(t)})),u.set(t,i)},retrieveMap:function(t){return u.get(t)}},c={geoJSON:function(t){var e=t.source;t.geoJSON=a(e)?\"undefined\"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function(\"return (\"+e+\");\")():e},svg:function(t){t.svgXML=l(t.source)}};t.exports=h},function(t,e,n){var i=n(39),r=n(72),a=n(75),o=n(116),s=n(120),l=n(225),u=n(121),h=n(8),c=n(117),d=n(119),f=n(77),p=n(71),g=n(25),v=n(112).createFromString,m=n(0),y=m.isString,_=m.extend,x=m.defaults,b=m.trim,w=m.each,S=/[\\s,]+/;function M(t){y(t)&&(t=(new DOMParser).parseFromString(t,\"text/xml\"));for(9===t.nodeType&&(t=t.firstChild);\"svg\"!==t.nodeName.toLowerCase()||1!==t.nodeType;)t=t.nextSibling;return t}function T(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}T.prototype.parse=function(t,e){e=e||{};var n=M(t);if(!n)throw new Error(\"Illegal svg\");var r=new i;this._root=r;var a=n.getAttribute(\"viewBox\")||\"\",o=parseFloat(n.getAttribute(\"width\")||e.width),l=parseFloat(n.getAttribute(\"height\")||e.height);isNaN(o)&&(o=null),isNaN(l)&&(l=null),O(n,r,null,!0);for(var u,h,c=n.firstChild;c;)this._parseNode(c,r),c=c.nextSibling;if(a){var d=b(a).split(S);d.length>=4&&(u={x:parseFloat(d[0]||0),y:parseFloat(d[1]||0),width:parseFloat(d[2]),height:parseFloat(d[3])})}if(u&&null!=o&&null!=l&&(h=z(u,o,l),!e.ignoreViewBox)){var f=r;(r=new i).add(f),f.scale=h.scale.slice(),f.position=h.position.slice()}return e.ignoreRootClip||null==o||null==l||r.setClipPath(new s({shape:{x:0,y:0,width:o,height:l}})),{root:r,width:o,height:l,viewBoxRect:u,viewBoxTransform:h}},T.prototype._parseNode=function(t,e){var n,i,r=t.nodeName.toLowerCase();if(\"defs\"===r?this._isDefine=!0:\"text\"===r&&(this._isText=!0),this._isDefine){if(i=C[r]){var a=i.call(this,t),o=t.getAttribute(\"id\");o&&(this._defs[o]=a)}}else(i=I[r])&&(n=i.call(this,t,e),e.add(n));for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,n),3===s.nodeType&&this._isText&&this._parseText(s,n),s=s.nextSibling;\"defs\"===r?this._isDefine=!1:\"text\"===r&&(this._isText=!1)},T.prototype._parseText=function(t,e){if(1===t.nodeType){var n=t.getAttribute(\"dx\")||0,i=t.getAttribute(\"dy\")||0;this._textX+=parseFloat(n),this._textY+=parseFloat(i)}var r=new a({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});D(e,r),O(t,r,this._defs);var o=r.style.fontSize;o&&o<9&&(r.style.fontSize=9,r.scale=r.scale||[1,1],r.scale[0]*=o/9,r.scale[1]*=o/9);var s=r.getBoundingRect();return this._textX+=s.width,e.add(r),r};var I={g:function(t,e){var n=new i;return D(e,n),O(t,n,this._defs),n},rect:function(t,e){var n=new s;return D(e,n),O(t,n,this._defs),n.setShape({x:parseFloat(t.getAttribute(\"x\")||0),y:parseFloat(t.getAttribute(\"y\")||0),width:parseFloat(t.getAttribute(\"width\")||0),height:parseFloat(t.getAttribute(\"height\")||0)}),n},circle:function(t,e){var n=new o;return D(e,n),O(t,n,this._defs),n.setShape({cx:parseFloat(t.getAttribute(\"cx\")||0),cy:parseFloat(t.getAttribute(\"cy\")||0),r:parseFloat(t.getAttribute(\"r\")||0)}),n},line:function(t,e){var n=new u;return D(e,n),O(t,n,this._defs),n.setShape({x1:parseFloat(t.getAttribute(\"x1\")||0),y1:parseFloat(t.getAttribute(\"y1\")||0),x2:parseFloat(t.getAttribute(\"x2\")||0),y2:parseFloat(t.getAttribute(\"y2\")||0)}),n},ellipse:function(t,e){var n=new l;return D(e,n),O(t,n,this._defs),n.setShape({cx:parseFloat(t.getAttribute(\"cx\")||0),cy:parseFloat(t.getAttribute(\"cy\")||0),rx:parseFloat(t.getAttribute(\"rx\")||0),ry:parseFloat(t.getAttribute(\"ry\")||0)}),n},polygon:function(t,e){var n=t.getAttribute(\"points\");n&&(n=A(n));var i=new c({shape:{points:n||[]}});return D(e,i),O(t,i,this._defs),i},polyline:function(t,e){var n=new h;D(e,n),O(t,n,this._defs);var i=t.getAttribute(\"points\");return i&&(i=A(i)),new d({shape:{points:i||[]}})},image:function(t,e){var n=new r;return D(e,n),O(t,n,this._defs),n.setStyle({image:t.getAttribute(\"xlink:href\"),x:t.getAttribute(\"x\"),y:t.getAttribute(\"y\"),width:t.getAttribute(\"width\"),height:t.getAttribute(\"height\")}),n},text:function(t,e){var n=t.getAttribute(\"x\")||0,r=t.getAttribute(\"y\")||0,a=t.getAttribute(\"dx\")||0,o=t.getAttribute(\"dy\")||0;this._textX=parseFloat(n)+parseFloat(a),this._textY=parseFloat(r)+parseFloat(o);var s=new i;return D(e,s),O(t,s,this._defs),s},tspan:function(t,e){var n=t.getAttribute(\"x\"),r=t.getAttribute(\"y\");null!=n&&(this._textX=parseFloat(n)),null!=r&&(this._textY=parseFloat(r));var a=t.getAttribute(\"dx\")||0,o=t.getAttribute(\"dy\")||0,s=new i;return D(e,s),O(t,s,this._defs),this._textX+=a,this._textY+=o,s},path:function(t,e){var n=t.getAttribute(\"d\")||\"\",i=v(n);return D(e,i),O(t,i,this._defs),i}},C={lineargradient:function(t){var e=parseInt(t.getAttribute(\"x1\")||0,10),n=parseInt(t.getAttribute(\"y1\")||0,10),i=parseInt(t.getAttribute(\"x2\")||10,10),r=parseInt(t.getAttribute(\"y2\")||0,10),a=new f(e,n,i,r);return function(t,e){var n=t.firstChild;for(;n;){if(1===n.nodeType){var i=n.getAttribute(\"offset\");i=i.indexOf(\"%\")>0?parseInt(i,10)/100:i?parseFloat(i):0;var r=n.getAttribute(\"stop-color\")||\"#000000\";e.addColorStop(i,r)}n=n.nextSibling}}(t,a),a},radialgradient:function(t){}};function D(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),x(e.__inheritedStyle,t.__inheritedStyle))}function A(t){for(var e=b(t).split(S),n=[],i=0;i<e.length;i+=2){var r=parseFloat(e[i]),a=parseFloat(e[i+1]);n.push([r,a])}return n}var k={fill:\"fill\",stroke:\"stroke\",\"stroke-width\":\"lineWidth\",opacity:\"opacity\",\"fill-opacity\":\"fillOpacity\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-dasharray\":\"lineDash\",\"stroke-dashoffset\":\"lineDashOffset\",\"stroke-linecap\":\"lineCap\",\"stroke-linejoin\":\"lineJoin\",\"stroke-miterlimit\":\"miterLimit\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"text-align\":\"textAlign\",\"alignment-baseline\":\"textBaseline\"};function O(t,e,n,i){var r=e.__inheritedStyle||{},a=\"text\"===e.type;if(1===t.nodeType&&(function(t,e){var n=t.getAttribute(\"transform\");if(n){n=n.replace(/,/g,\" \");var i=null,r=[];n.replace(R,(function(t,e,n){r.push(e,n)}));for(var a=r.length-1;a>0;a-=2){var o=r[a],s=r[a-1];switch(i=i||g.create(),s){case\"translate\":o=b(o).split(S),g.translate(i,i,[parseFloat(o[0]),parseFloat(o[1]||0)]);break;case\"scale\":o=b(o).split(S),g.scale(i,i,[parseFloat(o[0]),parseFloat(o[1]||o[0])]);break;case\"rotate\":o=b(o).split(S),g.rotate(i,i,parseFloat(o[0]));break;case\"skew\":o=b(o).split(S),console.warn(\"Skew transform is not supported yet\");break;case\"matrix\":o=b(o).split(S);i[0]=parseFloat(o[0]),i[1]=parseFloat(o[1]),i[2]=parseFloat(o[2]),i[3]=parseFloat(o[3]),i[4]=parseFloat(o[4]),i[5]=parseFloat(o[5])}}e.setLocalTransform(i)}}(t,e),_(r,function(t){var e=t.getAttribute(\"style\"),n={};if(!e)return n;var i,r={};E.lastIndex=0;for(;null!=(i=E.exec(e));)r[i[1]]=i[2];for(var a in k)k.hasOwnProperty(a)&&null!=r[a]&&(n[k[a]]=r[a]);return n}(t)),!i))for(var o in k)if(k.hasOwnProperty(o)){var s=t.getAttribute(o);null!=s&&(r[k[o]]=s)}var l=a?\"textFill\":\"fill\",u=a?\"textStroke\":\"stroke\";e.style=e.style||new p;var h=e.style;null!=r.fill&&h.set(l,L(r.fill,n)),null!=r.stroke&&h.set(u,L(r.stroke,n)),w([\"lineWidth\",\"opacity\",\"fillOpacity\",\"strokeOpacity\",\"miterLimit\",\"fontSize\"],(function(t){var e=\"lineWidth\"===t&&a?\"textStrokeWidth\":t;null!=r[t]&&h.set(e,parseFloat(r[t]))})),r.textBaseline&&\"auto\"!==r.textBaseline||(r.textBaseline=\"alphabetic\"),\"alphabetic\"===r.textBaseline&&(r.textBaseline=\"bottom\"),\"start\"===r.textAlign&&(r.textAlign=\"left\"),\"end\"===r.textAlign&&(r.textAlign=\"right\"),w([\"lineDashOffset\",\"lineCap\",\"lineJoin\",\"fontWeight\",\"fontFamily\",\"fontStyle\",\"textAlign\",\"textBaseline\"],(function(t){null!=r[t]&&h.set(t,r[t])})),r.lineDash&&(e.style.lineDash=b(r.lineDash).split(S)),h[u]&&\"none\"!==h[u]&&(e[u]=!0),e.__inheritedStyle=r}var P=/url\\(\\s*#(.*?)\\)/;function L(t,e){var n=e&&t&&t.match(P);return n?e[b(n[1])]:t}var R=/(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.e,]*)\\)/g;var E=/([^\\s:;]+)\\s*:\\s*([^:;]+)/g;function z(t,e,n){var i=e/t.width,r=n/t.height,a=Math.min(i,r);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+n/2]}}e.parseXML=M,e.makeViewBoxTransform=z,e.parseSVG=function(t,e){return(new T).parse(t,e)}},function(t,e,n){var i=n(8).extend({type:\"ellipse\",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var n=.5522848,i=e.cx,r=e.cy,a=e.rx,o=e.ry,s=a*n,l=o*n;t.moveTo(i-a,r),t.bezierCurveTo(i-a,r-l,i-s,r-o,i,r-o),t.bezierCurveTo(i+s,r-o,i+a,r-l,i+a,r),t.bezierCurveTo(i+a,r+l,i+s,r+o,i,r+o),t.bezierCurveTo(i-s,r+o,i-a,r+l,i-a,r),t.closePath()}});t.exports=i},function(t,e,n){var i=n(98);e.zrender=i;var r=n(25);e.matrix=r;var a=n(7);e.vector=a;var o=n(0),s=n(30);e.color=s;var l=n(4),u=n(3);e.number=u;var h=n(9);e.format=h;var c=n(80);c.throttle;e.throttle=c.throttle;var d=n(227);e.helper=d;var f=n(236);e.parseGeoJSON=f;var p=n(81);e.List=p;var g=n(16);e.Model=g;var v=n(239);e.Axis=v;var m=n(6);e.env=m;var y=f,_={};o.each([\"map\",\"each\",\"filter\",\"indexOf\",\"inherits\",\"reduce\",\"filter\",\"bind\",\"curry\",\"isArray\",\"isString\",\"isObject\",\"isFunction\",\"extend\",\"defaults\",\"clone\",\"merge\"],(function(t){_[t]=o[t]}));var x={};o.each([\"extendShape\",\"extendPath\",\"makePath\",\"makeImage\",\"mergePath\",\"resizePath\",\"createIcon\",\"setHoverStyle\",\"setLabelStyle\",\"setTextStyle\",\"setText\",\"getFont\",\"updateProps\",\"initProps\",\"getTransform\",\"clipPointsByRect\",\"clipRectByRect\",\"registerShape\",\"getShapeClass\",\"Group\",\"Image\",\"Text\",\"Circle\",\"Sector\",\"Ring\",\"Polygon\",\"Polyline\",\"Rect\",\"Line\",\"BezierCurve\",\"Arc\",\"IncrementalDisplayable\",\"CompoundPath\",\"LinearGradient\",\"RadialGradient\",\"BoundingRect\"],(function(t){x[t]=l[t]})),e.parseGeoJson=y,e.util=_,e.graphic=x},function(t,e,n){var i=n(0),r=n(129),a=n(43),o=n(235),s=n(16),l=n(11);l.getLayoutRect;e.getLayoutRect=l.getLayoutRect;var u=n(84),h=u.enableDataStack,c=u.isDimensionStacked,d=u.getStackedDimension,f=n(131);e.completeDimensions=f;var p=n(83);e.createDimensions=p;var g=n(60);e.createSymbol=g.createSymbol;var v={isDimensionStacked:c,enableDataStack:h,getStackedDimension:d};e.createList=function(t){return r(t.getSource(),t)},e.dataStack=v,e.createScale=function(t,e){var n=e;s.isInstance(e)||(n=new s(e),i.mixin(n,o));var r=a.createScaleByModel(n);return r.setExtent(t[0],t[1]),a.niceScaleExtent(r,n),r},e.mixinAxisModelCommonMethods=function(t){i.mixin(t,o)}},function(t,e){function n(t){return t}function i(t,e,i,r,a){this._old=t,this._new=e,this._oldKeyGetter=i||n,this._newKeyGetter=r||n,this.context=a}function r(t,e,n,i,r){for(var a=0;a<t.length;a++){var o=\"_ec_\"+r[i](t[a],a),s=e[o];null==s?(n.push(o),e[o]=a):(s.length||(e[o]=s=[s]),s.push(a))}}i.prototype={constructor:i,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,n={},i=[],a=[];for(r(t,{},i,\"_oldKeyGetter\",this),r(e,n,a,\"_newKeyGetter\",this),o=0;o<t.length;o++){if(null!=(l=n[s=i[o]]))(h=l.length)?(1===h&&(n[s]=null),l=l.shift()):n[s]=null,this._update&&this._update(l,o);else this._remove&&this._remove(o)}for(var o=0;o<a.length;o++){var s=a[o];if(n.hasOwnProperty(s)){var l;if(null==(l=n[s]))continue;if(l.length)for(var u=0,h=l.length;u<h;u++)this._add&&this._add(l[u]);else this._add&&this._add(l)}}}};var a=i;t.exports=a},function(t,e,n){n(5).__DEV__;var i=n(0),r=i.createHashMap,a=(i.retrieve,i.each);function o(t){this.coordSysName=t,this.coordSysDims=[],this.axisMap=r(),this.categoryAxisMap=r(),this.firstCategoryDimIndex=null}var s={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents(\"xAxis\")[0],a=t.getReferringComponents(\"yAxis\")[0];e.coordSysDims=[\"x\",\"y\"],n.set(\"x\",r),n.set(\"y\",a),l(r)&&(i.set(\"x\",r),e.firstCategoryDimIndex=0),l(a)&&(i.set(\"y\",a),e.firstCategoryDimIndex,e.firstCategoryDimIndex=1)},singleAxis:function(t,e,n,i){var r=t.getReferringComponents(\"singleAxis\")[0];e.coordSysDims=[\"single\"],n.set(\"single\",r),l(r)&&(i.set(\"single\",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents(\"polar\")[0],a=r.findAxisModel(\"radiusAxis\"),o=r.findAxisModel(\"angleAxis\");e.coordSysDims=[\"radius\",\"angle\"],n.set(\"radius\",a),n.set(\"angle\",o),l(a)&&(i.set(\"radius\",a),e.firstCategoryDimIndex=0),l(o)&&(i.set(\"angle\",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,n,i){e.coordSysDims=[\"lng\",\"lat\"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent(\"parallel\",t.get(\"parallelIndex\")),s=e.coordSysDims=o.dimensions.slice();a(o.parallelAxisIndex,(function(t,a){var o=r.getComponent(\"parallelAxis\",t),u=s[a];n.set(u,o),l(o)&&null==e.firstCategoryDimIndex&&(i.set(u,o),e.firstCategoryDimIndex=a)}))}};function l(t){return\"category\"===t.get(\"type\")}e.getCoordSysInfoBySeries=function(t){var e=t.get(\"coordinateSystem\"),n=new o(e),i=s[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}},function(t,e,n){var i=n(0),r=n(59),a=n(231),o=r.prototype,s=r.extend({type:\"ordinal\",init:function(t,e){t&&!i.isArray(t)||(t=new a({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return\"string\"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),o.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return o.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(o.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push(n),n++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:i.noop,niceExtent:i.noop});s.create=function(){return new s};var l=s;t.exports=l},function(t,e,n){var i=n(0),r=i.createHashMap,a=i.isObject,o=i.map;function s(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this._map}s.createByAxisModel=function(t){var e=t.option,n=e.data,i=n&&o(n,h);return new s({categories:i,needCollect:!i,deduplication:!1!==e.dedplication})};var l=s.prototype;function u(t){return t._map||(t._map=r(t.categories))}function h(t){return a(t)&&null!=t.value?t.value:t+\"\"}l.getOrdinal=function(t){return u(this).get(t)},l.parseAndCollect=function(t){var e,n=this._needCollect;if(\"string\"!=typeof t&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=u(this);return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e};var c=s;t.exports=c},function(t,e,n){var i=n(0),r=n(3).parsePercent,a=n(84).isDimensionStacked,o=n(127),s=\"undefined\"!=typeof Float32Array?Float32Array:Array;function l(t){return t.get(\"stack\")||\"__ec_stack_\"+t.seriesIndex}function u(t){return t.dim+t.index}function h(t,e){var n=[];return e.eachSeriesByType(t,(function(t){g(t)&&!v(t)&&n.push(t)})),n}function c(t){var e=function(t){var e={};i.each(t,(function(t){var n=t.coordinateSystem.getBaseAxis();if(\"time\"===n.type||\"value\"===n.type)for(var i=t.getData(),r=n.dim+\"_\"+n.index,a=i.mapDimension(n.dim),o=0,s=i.count();o<s;++o){var l=i.get(a,o);e[r]?e[r].push(l):e[r]=[l]}}));var n=[];for(var r in e)if(e.hasOwnProperty(r)){var a=e[r];if(a){a.sort((function(t,e){return t-e}));for(var o=null,s=1;s<a.length;++s){var l=a[s]-a[s-1];l>0&&(o=null===o?l:Math.min(o,l))}n[r]=o}}return n}(t),n=[];return i.each(t,(function(t){var i,a=t.coordinateSystem.getBaseAxis(),o=a.getExtent();if(\"category\"===a.type)i=a.getBandWidth();else if(\"value\"===a.type||\"time\"===a.type){var s=a.dim+\"_\"+a.index,h=e[s],c=Math.abs(o[1]-o[0]),d=a.scale.getExtent(),f=Math.abs(d[1]-d[0]);i=h?c/f*h:c}else{var p=t.getData();i=Math.abs(o[1]-o[0])/p.count()}var g=r(t.get(\"barWidth\"),i),v=r(t.get(\"barMaxWidth\"),i),m=r(t.get(\"barMinWidth\")||1,i),y=t.get(\"barGap\"),_=t.get(\"barCategoryGap\");n.push({bandWidth:i,barWidth:g,barMaxWidth:v,barMinWidth:m,barGap:y,barCategoryGap:_,axisKey:u(a),stackId:l(t)})})),d(n)}function d(t){var e={};i.each(t,(function(t,n){var i=t.axisKey,r=t.bandWidth,a=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:\"20%\",gap:\"30%\",stacks:{}},o=a.stacks;e[i]=a;var s=t.stackId;o[s]||a.autoWidthCount++,o[s]=o[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!o[s].width&&(o[s].width=l,l=Math.min(a.remainedWidth,l),a.remainedWidth-=l);var u=t.barMaxWidth;u&&(o[s].maxWidth=u);var h=t.barMinWidth;h&&(o[s].minWidth=h);var c=t.barGap;null!=c&&(a.gap=c);var d=t.barCategoryGap;null!=d&&(a.categoryGap=d)}));var n={};return i.each(e,(function(t,e){n[e]={};var a=t.stacks,o=t.bandWidth,s=r(t.categoryGap,o),l=r(t.gap,1),u=t.remainedWidth,h=t.autoWidthCount,c=(u-s)/(h+(h-1)*l);c=Math.max(c,0),i.each(a,(function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,u-=i+l*i,h--}else{var i=c;e&&e<i&&(i=Math.min(e,u)),n&&n>i&&(i=n),i!==c&&(t.width=i,u-=i+l*i,h--)}})),c=(u-s)/(h+(h-1)*l),c=Math.max(c,0);var d,f=0;i.each(a,(function(t,e){t.width||(t.width=c),d=t,f+=t.width*(1+l)})),d&&(f-=d.width*l);var p=-f/2;i.each(a,(function(t,i){n[e][i]=n[e][i]||{bandWidth:o,offset:p,width:t.width},p+=t.width*(1+l)}))})),n}function f(t,e,n){if(t&&e){var i=t[u(e)];return null!=i&&null!=n&&(i=i[l(n)]),i}}var p={seriesType:\"bar\",plan:o(),reset:function(t){if(g(t)&&v(t)){var e=t.getData(),n=t.coordinateSystem,i=n.grid.getRect(),r=n.getBaseAxis(),a=n.getOtherAxis(r),o=e.mapDimension(a.dim),l=e.mapDimension(r.dim),u=a.isHorizontal(),h=u?0:1,d=f(c([t]),r,t).width;return d>.5||(d=.5),{progress:function(t,e){var c,f=t.count,p=new s(2*f),g=new s(2*f),v=new s(f),y=[],_=[],x=0,b=0;for(;null!=(c=t.next());)_[h]=e.get(o,c),_[1-h]=e.get(l,c),y=n.dataToPoint(_,null,y),g[x]=u?i.x+i.width:y[0],p[x++]=y[0],g[x]=u?y[1]:i.y+i.height,p[x++]=y[1],v[b++]=c;e.setLayout({largePoints:p,largeDataIndices:v,largeBackgroundPoints:g,barWidth:d,valueAxisStart:m(r,a,!1),backgroundStart:u?i.x:i.y,valueAxisHorizontal:u})}}}}};function g(t){return t.coordinateSystem&&\"cartesian2d\"===t.coordinateSystem.type}function v(t){return t.pipelineContext&&t.pipelineContext.large}function m(t,e,n){return e.toGlobalCoord(e.dataToCoord(\"log\"===e.type?1:0))}e.getLayoutOnAxis=function(t){var e=[],n=t.axis;if(\"category\"===n.type){for(var r=n.getBandWidth(),a=0;a<t.count;a++)e.push(i.defaults({bandWidth:r,axisKey:\"axis0\",stackId:\"__ec_stack_\"+a},t));var o=d(e),s=[];for(a=0;a<t.count;a++){var l=o.axis0[\"__ec_stack_\"+a];l.offsetCenter=l.offset+l.width/2,s.push(l)}return s}},e.prepareLayoutBarSeries=h,e.makeColumnLayout=c,e.retrieveColumnLayout=f,e.layout=function(t,e){var n=h(t,e),r=c(n),o={},s={};i.each(n,(function(t){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),h=l(t),c=r[u(i)][h],d=c.offset,f=c.width,p=n.getOtherAxis(i),g=t.get(\"barMinHeight\")||0;o[h]=o[h]||[],s[h]=s[h]||[],e.setLayout({bandWidth:c.bandWidth,offset:d,size:f});for(var v=e.mapDimension(p.dim),y=e.mapDimension(i.dim),_=a(e,v),x=p.isHorizontal(),b=m(i,p,_),w=0,S=e.count();w<S;w++){var M,T,I,C,D,A=e.get(v,w),k=e.get(y,w),O=A>=0?\"p\":\"n\",P=b;if(_&&(o[h][k]||(o[h][k]={p:b,n:b}),P=o[h][k][O]),x)M=P,T=(D=n.dataToPoint([A,k]))[1]+d,I=D[0]-b,C=f,Math.abs(I)<g&&(I=(I<0?-1:1)*g),isNaN(I)||_&&(o[h][k][O]+=I);else M=(D=n.dataToPoint([k,A]))[0]+d,T=P,I=f,C=D[1]-b,Math.abs(C)<g&&(C=(C<=0?-1:1)*g),isNaN(C)||_&&(o[h][k][O]+=C);e.setItemLayout(w,{x:M,y:T,width:I,height:C})}}),this)},e.largeLayout=p},function(t,e,n){var i=n(0),r=n(3),a=n(9),o=n(132),s=n(85),l=s.prototype,u=Math.ceil,h=Math.floor,c=864e5,d=s.extend({type:\"time\",getLabel:function(t){var e=this._stepLvl,n=new Date(t);return a.formatTime(e[0],n,this.getSetting(\"useUTC\"))},niceExtent:function(t){var e=this._extent;if(e[0]===e[1]&&(e[0]-=c,e[1]+=c),e[1]===-1/0&&e[0]===1/0){var n=new Date;e[1]=+new Date(n.getFullYear(),n.getMonth(),n.getDate()),e[0]=e[1]-c}this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var i=this._interval;t.fixMin||(e[0]=r.round(h(e[0]/i)*i)),t.fixMax||(e[1]=r.round(u(e[1]/i)*i))},niceTicks:function(t,e,n){t=t||10;var i=this._extent,a=i[1]-i[0],s=a/t;null!=e&&s<e&&(s=e),null!=n&&s>n&&(s=n);var l=f.length,c=function(t,e,n,i){for(;n<i;){var r=n+i>>>1;t[r][1]<e?n=r+1:i=r}return n}(f,s,0,l),d=f[Math.min(c,l-1)],p=d[1];if(\"year\"===d[0]){var g=a/p;p*=r.nice(g/t,!0)}var v=this.getSetting(\"useUTC\")?0:60*new Date(+i[0]||+i[1]).getTimezoneOffset()*1e3,m=[Math.round(u((i[0]-v)/p)*p+v),Math.round(h((i[1]-v)/p)*p+v)];o.fixExtent(m,i),this._stepLvl=d,this._interval=p,this._niceExtent=m},parse:function(t){return+r.parseDate(t)}});i.each([\"contain\",\"normalize\"],(function(t){d.prototype[t]=function(e){return l[t].call(this,this.parse(e))}}));var f=[[\"hh:mm:ss\",1e3],[\"hh:mm:ss\",5e3],[\"hh:mm:ss\",1e4],[\"hh:mm:ss\",15e3],[\"hh:mm:ss\",3e4],[\"hh:mm\\nMM-dd\",6e4],[\"hh:mm\\nMM-dd\",3e5],[\"hh:mm\\nMM-dd\",6e5],[\"hh:mm\\nMM-dd\",9e5],[\"hh:mm\\nMM-dd\",18e5],[\"hh:mm\\nMM-dd\",36e5],[\"hh:mm\\nMM-dd\",72e5],[\"hh:mm\\nMM-dd\",216e5],[\"hh:mm\\nMM-dd\",432e5],[\"MM-dd\\nyyyy\",c],[\"MM-dd\\nyyyy\",2*c],[\"MM-dd\\nyyyy\",3*c],[\"MM-dd\\nyyyy\",4*c],[\"MM-dd\\nyyyy\",5*c],[\"MM-dd\\nyyyy\",6*c],[\"week\",7*c],[\"MM-dd\\nyyyy\",10*c],[\"week\",14*c],[\"week\",21*c],[\"month\",31*c],[\"week\",42*c],[\"month\",62*c],[\"week\",70*c],[\"quarter\",95*c],[\"month\",31*c*4],[\"month\",31*c*5],[\"half-year\",380*c/2],[\"month\",31*c*8],[\"month\",31*c*10],[\"year\",380*c]];d.create=function(t){return new d({useUTC:t.ecModel.get(\"useUTC\")})};var p=d;t.exports=p},function(t,e,n){var i=n(0),r=n(59),a=n(3),o=n(85),s=r.prototype,l=o.prototype,u=a.getPrecisionSafe,h=a.round,c=Math.floor,d=Math.ceil,f=Math.pow,p=Math.log,g=r.extend({type:\"log\",base:10,$constructor:function(){r.apply(this,arguments),this._originalScale=new o},getTicks:function(t){var e=this._originalScale,n=this._extent,r=e.getExtent();return i.map(l.getTicks.call(this,t),(function(t){var i=a.round(f(this.base,t));return i=t===n[0]&&e.__fixMin?v(i,r[0]):i,i=t===n[1]&&e.__fixMax?v(i,r[1]):i}),this)},getMinorTicks:l.getMinorTicks,getLabel:l.getLabel,scale:function(t){return t=s.scale.call(this,t),f(this.base,t)},setExtent:function(t,e){var n=this.base;t=p(t)/p(n),e=p(e)/p(n),l.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=s.getExtent.call(this);e[0]=f(t,e[0]),e[1]=f(t,e[1]);var n=this._originalScale,i=n.getExtent();return n.__fixMin&&(e[0]=v(e[0],i[0])),n.__fixMax&&(e[1]=v(e[1],i[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=p(t[0])/p(e),t[1]=p(t[1])/p(e),s.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=a.quantity(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[a.round(d(e[0]/i)*i),a.round(c(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},niceExtent:function(t){l.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});function v(t,e){return h(t,u(e))}i.each([\"contain\",\"normalize\"],(function(t){g.prototype[t]=function(e){return e=p(e)/p(this.base),s[t].call(this,e)}})),g.create=function(){return new g};var m=g;t.exports=m},function(t,e,n){var i=n(0),r={getMin:function(t){var e=this.option,n=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=n&&\"dataMin\"!==n&&\"function\"!=typeof n&&!i.eqNaN(n)&&(n=this.axis.scale.parse(n)),n},getMax:function(t){var e=this.option,n=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=n&&\"dataMax\"!==n&&\"function\"!=typeof n&&!i.eqNaN(n)&&(n=this.axis.scale.parse(n)),n},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:i.noop,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}};t.exports=r},function(t,e,n){var i=n(0),r=n(237);function a(t,e,n){for(var i=[],r=e[0],a=e[1],o=0;o<t.length;o+=2){var s=t.charCodeAt(o)-64,l=t.charCodeAt(o+1)-64;s=s>>1^-(1&s),l=l>>1^-(1&l),r=s+=r,a=l+=a,i.push([s/n,l/n])}return i}t.exports=function(t,e){return function(t){if(!t.UTF8Encoding)return t;var e=t.UTF8Scale;null==e&&(e=1024);for(var n=t.features,i=0;i<n.length;i++)for(var r=n[i].geometry,o=r.coordinates,s=r.encodeOffsets,l=0;l<o.length;l++){var u=o[l];if(\"Polygon\"===r.type)o[l]=a(u,s[l],e);else if(\"MultiPolygon\"===r.type)for(var h=0;h<u.length;h++){var c=u[h];u[h]=a(c,s[l][h],e)}}t.UTF8Encoding=!1}(t),i.map(i.filter(t.features,(function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0})),(function(t){var n=t.properties,a=t.geometry,o=a.coordinates,s=[];\"Polygon\"===a.type&&s.push({type:\"polygon\",exterior:o[0],interiors:o.slice(1)}),\"MultiPolygon\"===a.type&&i.each(o,(function(t){t[0]&&s.push({type:\"polygon\",exterior:t[0],interiors:t.slice(1)})}));var l=new r(n[e||\"name\"],s,n.cp);return l.properties=n,l}))}},function(t,e,n){var i=n(12),r=n(113),a=n(7),o=n(238);function s(t,e,n){if(this.name=t,this.geometries=e,n)n=[n[0],n[1]];else{var i=this.getBoundingRect();n=[i.x+i.width/2,i.y+i.height/2]}this.center=n}s.prototype={constructor:s,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,n=[e,e],o=[-e,-e],s=[],l=[],u=this.geometries,h=0;h<u.length;h++)if(\"polygon\"===u[h].type){var c=u[h].exterior;r.fromPoints(c,s,l),a.min(n,n,s),a.max(o,o,l)}return 0===h&&(n[0]=n[1]=o[0]=o[1]=0),this._rect=new i(n[0],n[1],o[0]-n[0],o[1]-n[1])},contain:function(t){var e=this.getBoundingRect(),n=this.geometries;if(!e.contain(t[0],t[1]))return!1;t:for(var i=0,r=n.length;i<r;i++)if(\"polygon\"===n[i].type){var a=n[i].exterior,s=n[i].interiors;if(o.contain(a,t[0],t[1])){for(var l=0;l<(s?s.length:0);l++)if(o.contain(s[l]))continue t;return!0}}return!1},transformTo:function(t,e,n,r){var o=this.getBoundingRect(),s=o.width/o.height;n?r||(r=n/s):n=s*r;for(var l=new i(t,e,n,r),u=o.calculateTransform(l),h=this.geometries,c=0;c<h.length;c++)if(\"polygon\"===h[c].type){for(var d=h[c].exterior,f=h[c].interiors,p=0;p<d.length;p++)a.applyTransform(d[p],d[p],u);for(var g=0;g<(f?f.length:0);g++)for(p=0;p<f[g].length;p++)a.applyTransform(f[g][p],f[g][p],u)}(o=this._rect).copy(l),this.center=[o.x+o.width/2,o.y+o.height/2]},cloneShallow:function(t){null==t&&(t=this.name);var e=new s(t,this.geometries,this.center);return e._rect=this._rect,e.transformTo=null,e}};var l=s;t.exports=l},function(t,e,n){var i=n(115);function r(t,e){return Math.abs(t-e)<1e-8}e.contain=function(t,e,n){var a=0,o=t[0];if(!o)return!1;for(var s=1;s<t.length;s++){var l=t[s];a+=i(o[0],o[1],l[0],l[1],e,n),o=l}var u=t[0];return r(o[0],u[0])&&r(o[1],u[1])||(a+=i(o[0],o[1],u[0],u[1],e,n)),0!==a}},function(t,e,n){var i=n(0),r=i.each,a=i.map,o=n(3),s=o.linearMap,l=o.getPixelPrecision,u=o.round,h=n(240),c=h.createAxisTicks,d=h.createAxisLabels,f=h.calculateCategoryInterval,p=[0,1],g=function(t,e,n){this.dim=t,this.scale=e,this._extent=n||[0,0],this.inverse=!1,this.onBand=!1};function v(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}g.prototype={constructor:g,contain:function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},containData:function(t){return this.scale.contain(t)},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return l(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var n=this._extent;n[0]=t,n[1]=e},dataToCoord:function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&\"ordinal\"===i.type&&v(n=n.slice(),i.count()),s(t,p,n,e)},coordToData:function(t,e){var n=this._extent,i=this.scale;this.onBand&&\"ordinal\"===i.type&&v(n=n.slice(),i.count());var r=s(t,n,p,e);return this.scale.scale(r)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=c(this,e).ticks,i=a(n,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this);return function(t,e,n,i){var a=e.length;if(!t.onBand||n||!a)return;var o,s,l=t.getExtent();if(1===a)e[0].coord=l[0],o=e[1]={coord:l[0]};else{var h=e[a-1].tickValue-e[0].tickValue,c=(e[a-1].coord-e[0].coord)/h;r(e,(function(t){t.coord-=c/2}));var d=t.scale.getExtent();s=1+d[1]-e[a-1].tickValue,o={coord:e[a-1].coord+c*s},e.push(o)}var f=l[0]>l[1];p(e[0].coord,l[0])&&(i?e[0].coord=l[0]:e.shift());i&&p(l[0],e[0].coord)&&e.unshift({coord:l[0]});p(l[1],o.coord)&&(i?o.coord=l[1]:e.pop());i&&p(o.coord,l[1])&&e.push({coord:l[1]});function p(t,e){return t=u(t),e=u(e),f?t>e:t<e}}(this,i,e.get(\"alignWithLabel\"),t.clamp),i},getMinorTicksCoords:function(){if(\"ordinal\"===this.scale.type)return[];var t=this.model.getModel(\"minorTick\").get(\"splitNumber\");t>0&&t<100||(t=5);var e=this.scale.getMinorTicks(t);return a(e,(function(t){return a(t,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this)}),this)},getViewLabels:function(){return d(this).labels},getLabelModel:function(){return this.model.getModel(\"axisLabel\")},getTickModel:function(){return this.model.getModel(\"axisTick\")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return f(this)}};var m=g;t.exports=m},function(t,e,n){var i=n(0),r=n(15),a=n(1).makeInner,o=n(43),s=o.makeLabelFormatter,l=o.getOptionCategoryInterval,u=o.shouldShowAllLabels,h=a();function c(t,e){var n,r,a=d(t,\"labels\"),o=l(e),s=f(a,o);return s||(i.isFunction(o)?n=v(t,o):(r=\"auto\"===o?function(t){var e=h(t).autoInterval;return null!=e?e:h(t).autoInterval=t.calculateCategoryInterval()}(t):o,n=g(t,r)),p(a,o,{labels:n,labelCategoryInterval:r}))}function d(t,e){return h(t)[e]||(h(t)[e]=[])}function f(t,e){for(var n=0;n<t.length;n++)if(t[n].key===e)return t[n].value}function p(t,e,n){return t.push({key:e,value:n}),n}function g(t,e,n){var i=s(t),r=t.scale,a=r.getExtent(),o=t.getLabelModel(),l=[],h=Math.max((e||0)+1,1),c=a[0],d=r.count();0!==c&&h>1&&d/h>2&&(c=Math.round(Math.ceil(c/h)*h));var f=u(t),p=o.get(\"showMinLabel\")||f,g=o.get(\"showMaxLabel\")||f;p&&c!==a[0]&&m(a[0]);for(var v=c;v<=a[1];v+=h)m(v);function m(t){l.push(n?t:{formattedLabel:i(t),rawLabel:r.getLabel(t),tickValue:t})}return g&&v-h!==a[1]&&m(a[1]),l}function v(t,e,n){var r=t.scale,a=s(t),o=[];return i.each(r.getTicks(),(function(t){var i=r.getLabel(t);e(t,i)&&o.push(n?t:{formattedLabel:a(t),rawLabel:i,tickValue:t})})),o}e.createAxisLabels=function(t){return\"category\"===t.type?function(t){var e=t.getLabelModel(),n=c(t,e);return!e.get(\"show\")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}(t):function(t){var e=t.scale.getTicks(),n=s(t);return{labels:i.map(e,(function(e,i){return{formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e}}))}}(t)},e.createAxisTicks=function(t,e){return\"category\"===t.type?function(t,e){var n,r,a=d(t,\"ticks\"),o=l(e),s=f(a,o);if(s)return s;e.get(\"show\")&&!t.scale.isBlank()||(n=[]);if(i.isFunction(o))n=v(t,o,!0);else if(\"auto\"===o){var u=c(t,t.getLabelModel());r=u.labelCategoryInterval,n=i.map(u.labels,(function(t){return t.tickValue}))}else n=g(t,r=o,!0);return p(a,o,{ticks:n,tickCategoryInterval:r})}(t,e):{ticks:t.scale.getTicks()}},e.calculateCategoryInterval=function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get(\"rotate\")||0,font:e.getFont()}}(t),n=s(t),i=(e.axisRotate-e.labelRotate)/180*Math.PI,a=t.scale,o=a.getExtent(),l=a.count();if(o[1]-o[0]<1)return 0;var u=1;l>40&&(u=Math.max(1,Math.floor(l/40)));for(var c=o[0],d=t.dataToCoord(c+1)-t.dataToCoord(c),f=Math.abs(d*Math.cos(i)),p=Math.abs(d*Math.sin(i)),g=0,v=0;c<=o[1];c+=u){var m,y,_=r.getBoundingRect(n(c),e.font,\"center\",\"top\");m=1.3*_.width,y=1.3*_.height,g=Math.max(g,m,7),v=Math.max(v,y,7)}var x=g/f,b=v/p;isNaN(x)&&(x=1/0),isNaN(b)&&(b=1/0);var w=Math.max(0,Math.floor(Math.min(x,b))),S=h(t.model),M=t.getExtent(),T=S.lastAutoInterval,I=S.lastTickCount;return null!=T&&null!=I&&Math.abs(T-w)<=1&&Math.abs(I-l)<=1&&T>w&&S.axisExtend0===M[0]&&S.axisExtend1===M[1]?w=T:(S.lastTickCount=l,S.lastAutoInterval=w,S.axisExtend0=M[0],S.axisExtend1=M[1]),w}},function(t,e,n){var i=n(2),r=n(0);n(242),n(246);var a=n(247),o=n(248),s=n(249),l=n(251);a(\"pie\",[{type:\"pieToggleSelect\",event:\"pieselectchanged\",method:\"toggleSelected\"},{type:\"pieSelect\",event:\"pieselected\",method:\"select\"},{type:\"pieUnSelect\",event:\"pieunselected\",method:\"unSelect\"}]),i.registerVisual(o(\"pie\")),i.registerLayout(r.curry(s,\"pie\")),i.registerProcessor(l(\"pie\"))},function(t,e,n){var i=n(2),r=n(243),a=n(0),o=n(1),s=n(3).getPercentWithPrecision,l=n(244),u=n(42).retrieveRawAttr,h=n(32).makeSeriesEncodeForNameBased,c=n(245),d=i.extendSeriesModel({type:\"series.pie\",init:function(t){d.superApply(this,\"init\",arguments),this.legendVisualProvider=new c(a.bind(this.getData,this),a.bind(this.getRawData,this)),this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){d.superCall(this,\"mergeOption\",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(t,e){return r(this,{coordDimensions:[\"value\"],encodeDefaulter:a.curry(h,this)})},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension(\"value\"),n=[],i=0,r=t.count();i<r;i++)n.push({name:t.getName(i),value:t.get(e,i),selected:u(t,i,\"selected\")});return n},getDataParams:function(t){var e=this.getData(),n=d.superCall(this,\"getDataParams\",t),i=[];return e.each(e.mapDimension(\"value\"),(function(t){i.push(t)})),n.percent=s(i,t,e.hostModel.get(\"percentPrecision\")),n.$vars.push(\"percent\"),n},_defaultLabelLine:function(t){o.defaultEmphasis(t,\"labelLine\",[\"show\"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:[\"50%\",\"50%\"],radius:[0,\"75%\"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:!1,show:!0,position:\"outer\",alignTo:\"none\",margin:\"25%\",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:\"solid\"}},itemStyle:{borderWidth:1},animationType:\"expansion\",animationTypeUpdate:\"transition\",animationEasing:\"cubicOut\"}});a.mixin(d,l);var f=d;t.exports=f},function(t,e,n){var i=n(83),r=n(81),a=n(0),o=a.extend,s=a.isArray;t.exports=function(t,e,n){e=s(e)&&{coordDimensions:e}||o({},e);var a=t.getSource(),l=i(a,e),u=new r(l,t);return u.initData(a,n),u}},function(t,e,n){var i=n(0),r={updateSelectedMap:function(t){this._targetList=i.isArray(t)?t.slice():[],this._selectTargetMap=i.reduce(t||[],(function(t,e){return t.set(e.name,e),t}),i.createHashMap())},select:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);\"single\"===this.get(\"selectedMode\")&&this._selectTargetMap.each((function(t){t.selected=!1})),n&&(n.selected=!0)},unSelect:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);n&&(n.selected=!1)},toggleSelected:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);if(null!=n)return this[n.selected?\"unSelect\":\"select\"](t,e),n.selected},isSelected:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return n&&n.selected}};t.exports=r},function(t,e){var n=function(t,e){this.getAllNames=function(){var t=e();return t.mapArray(t.getName)},this.containName=function(t){return e().indexOfName(t)>=0},this.indexOfName=function(e){return t().indexOfName(e)},this.getItemVisual=function(e,n){return t().getItemVisual(e,n)}};t.exports=n},function(t,e,n){var i=n(0),r=n(4),a=n(126);function o(t,e,n,i){var r=e.getData(),a=this.dataIndex,o=r.getName(a),l=e.get(\"selectedOffset\");i.dispatchAction({type:\"pieToggleSelect\",from:t,name:o,seriesId:e.id}),r.each((function(t){s(r.getItemGraphicEl(t),r.getItemLayout(t),e.isSelected(r.getName(t)),l,n)}))}function s(t,e,n,i,r){var a=(e.startAngle+e.endAngle)/2,o=n?i:0,s=[Math.cos(a)*o,Math.sin(a)*o];r?t.animate().when(200,{position:s}).start(\"bounceOut\"):t.attr(\"position\",s)}function l(t,e){r.Group.call(this);var n=new r.Sector({z2:2}),i=new r.Polyline,a=new r.Text;this.add(n),this.add(i),this.add(a),this.updateData(t,e,!0)}var u=l.prototype;u.updateData=function(t,e,n){var a=this.childAt(0),o=this.childAt(1),l=this.childAt(2),u=t.hostModel,h=t.getItemModel(e),c=t.getItemLayout(e),d=i.extend({},c);d.label=null;var f=u.getShallow(\"animationTypeUpdate\");n?(a.setShape(d),\"scale\"===u.getShallow(\"animationType\")?(a.shape.r=c.r0,r.initProps(a,{shape:{r:c.r}},u,e)):(a.shape.endAngle=c.startAngle,r.updateProps(a,{shape:{endAngle:c.endAngle}},u,e))):\"expansion\"===f?a.setShape(d):r.updateProps(a,{shape:d},u,e);var p=t.getItemVisual(e,\"color\");a.useStyle(i.defaults({lineJoin:\"bevel\",fill:p},h.getModel(\"itemStyle\").getItemStyle())),a.hoverStyle=h.getModel(\"emphasis.itemStyle\").getItemStyle();var g=h.getShallow(\"cursor\");g&&a.attr(\"cursor\",g),s(this,t.getItemLayout(e),u.isSelected(t.getName(e)),u.get(\"selectedOffset\"),u.get(\"animation\"));var v=!n&&\"transition\"===f;this._updateLabel(t,e,v),this.highDownOnUpdate=u.get(\"silent\")?null:function(t,e){var n=u.isAnimationEnabled()&&h.get(\"hoverAnimation\");\"emphasis\"===e?(o.ignore=o.hoverIgnore,l.ignore=l.hoverIgnore,n&&(a.stopAnimation(!0),a.animateTo({shape:{r:c.r+u.get(\"hoverOffset\")}},300,\"elasticOut\"))):(o.ignore=o.normalIgnore,l.ignore=l.normalIgnore,n&&(a.stopAnimation(!0),a.animateTo({shape:{r:c.r}},300,\"elasticOut\")))},r.setHoverStyle(this)},u._updateLabel=function(t,e,n){var i=this.childAt(1),a=this.childAt(2),o=t.hostModel,s=t.getItemModel(e),l=t.getItemLayout(e).label,u=t.getItemVisual(e,\"color\");if(!l||isNaN(l.x)||isNaN(l.y))a.ignore=a.normalIgnore=a.hoverIgnore=i.ignore=i.normalIgnore=i.hoverIgnore=!0;else{var h={points:l.linePoints||[[l.x,l.y],[l.x,l.y],[l.x,l.y]]},c={x:l.x,y:l.y};n?(r.updateProps(i,{shape:h},o,e),r.updateProps(a,{style:c},o,e)):(i.attr({shape:h}),a.attr({style:c})),a.attr({rotation:l.rotation,origin:[l.x,l.y],z2:10});var d=s.getModel(\"label\"),f=s.getModel(\"emphasis.label\"),p=s.getModel(\"labelLine\"),g=s.getModel(\"emphasis.labelLine\");u=t.getItemVisual(e,\"color\");r.setLabelStyle(a.style,a.hoverStyle={},d,f,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:l.text,autoColor:u,useInsideStyle:!!l.inside},{textAlign:l.textAlign,textVerticalAlign:l.verticalAlign,opacity:t.getItemVisual(e,\"opacity\")}),a.ignore=a.normalIgnore=!d.get(\"show\"),a.hoverIgnore=!f.get(\"show\"),i.ignore=i.normalIgnore=!p.get(\"show\"),i.hoverIgnore=!g.get(\"show\"),i.setStyle({stroke:u,opacity:t.getItemVisual(e,\"opacity\")}),i.setStyle(p.getModel(\"lineStyle\").getLineStyle()),i.hoverStyle=g.getModel(\"lineStyle\").getLineStyle();var v=p.get(\"smooth\");v&&!0===v&&(v=.4),i.setShape({smooth:v})}},i.inherits(l,r.Group);var h=a.extend({type:\"pie\",init:function(){var t=new r.Group;this._sectorGroup=t},render:function(t,e,n,r){if(!r||r.from!==this.uid){var a=t.getData(),s=this._data,u=this.group,h=e.get(\"animation\"),c=!s,d=t.get(\"animationType\"),f=t.get(\"animationTypeUpdate\"),p=i.curry(o,this.uid,t,h,n),g=t.get(\"selectedMode\");if(a.diff(s).add((function(t){var e=new l(a,t);c&&\"scale\"!==d&&e.eachChild((function(t){t.stopAnimation(!0)})),g&&e.on(\"click\",p),a.setItemGraphicEl(t,e),u.add(e)})).update((function(t,e){var n=s.getItemGraphicEl(e);c||\"transition\"===f||n.eachChild((function(t){t.stopAnimation(!0)})),n.updateData(a,t),n.off(\"click\"),g&&n.on(\"click\",p),u.add(n),a.setItemGraphicEl(t,n)})).remove((function(t){var e=s.getItemGraphicEl(t);u.remove(e)})).execute(),h&&a.count()>0&&(c?\"scale\"!==d:\"transition\"!==f)){for(var v=a.getItemLayout(0),m=1;isNaN(v.startAngle)&&m<a.count();++m)v=a.getItemLayout(m);var y=Math.max(n.getWidth(),n.getHeight())/2,_=i.bind(u.removeClipPath,u);u.setClipPath(this._createClipPath(v.cx,v.cy,y,v.startAngle,v.clockwise,_,t,c))}else u.removeClipPath();this._data=a}},dispose:function(){},_createClipPath:function(t,e,n,i,a,o,s,l){var u=new r.Sector({shape:{cx:t,cy:e,r0:0,r:n,startAngle:i,endAngle:i,clockwise:a}});return(l?r.initProps:r.updateProps)(u,{shape:{endAngle:i+(a?1:-1)*Math.PI*2}},s,o),u},containPoint:function(t,e){var n=e.getData().getItemLayout(0);if(n){var i=t[0]-n.cx,r=t[1]-n.cy,a=Math.sqrt(i*i+r*r);return a<=n.r&&a>=n.r0}}});t.exports=h},function(t,e,n){var i=n(2),r=n(0);t.exports=function(t,e){r.each(e,(function(e){e.update=\"updateView\",i.registerAction(e,(function(n,i){var r={};return i.eachComponent({mainType:\"series\",subType:t,query:n},(function(t){t[e.method]&&t[e.method](n.name,n.dataIndex);var i=t.getData();i.each((function(e){var n=i.getName(e);r[n]=t.isSelected(n)||!1}))})),{name:n.name,selected:r,seriesId:n.seriesId}}))}))}},function(t,e,n){var i=n(0).createHashMap;t.exports=function(t){return{getTargetSeries:function(e){var n={},r=i();return e.eachSeriesByType(t,(function(t){t.__paletteScope=n,r.set(t.uid,t)})),r},reset:function(t,e){var n=t.getRawData(),i={},r=t.getData();r.each((function(t){var e=r.getRawIndex(t);i[e]=t})),n.each((function(e){var a,o=i[e],s=null!=o&&r.getItemVisual(o,\"color\",!0),l=null!=o&&r.getItemVisual(o,\"borderColor\",!0);if(s&&l||(a=n.getItemModel(e)),!s){var u=a.get(\"itemStyle.color\")||t.getColorFromPalette(n.getName(e)||e+\"\",t.__paletteScope,n.count());null!=o&&r.setItemVisual(o,\"color\",u)}if(!l){var h=a.get(\"itemStyle.borderColor\");null!=o&&r.setItemVisual(o,\"borderColor\",h)}}))}}}},function(t,e,n){var i=n(3),r=i.parsePercent,a=i.linearMap,o=n(11),s=n(250),l=n(0),u=2*Math.PI,h=Math.PI/180;t.exports=function(t,e,n,i){e.eachSeriesByType(t,(function(t){var e=t.getData(),i=e.mapDimension(\"value\"),c=function(t,e){return o.getLayoutRect(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,n),d=t.get(\"center\"),f=t.get(\"radius\");l.isArray(f)||(f=[0,f]),l.isArray(d)||(d=[d,d]);var p=r(c.width,n.getWidth()),g=r(c.height,n.getHeight()),v=Math.min(p,g),m=r(d[0],p)+c.x,y=r(d[1],g)+c.y,_=r(f[0],v/2),x=r(f[1],v/2),b=-t.get(\"startAngle\")*h,w=t.get(\"minAngle\")*h,S=0;e.each(i,(function(t){!isNaN(t)&&S++}));var M=e.getSum(i),T=Math.PI/(M||S)*2,I=t.get(\"clockwise\"),C=t.get(\"roseType\"),D=t.get(\"stillShowZeroSum\"),A=e.getDataExtent(i);A[0]=0;var k=u,O=0,P=b,L=I?1:-1;if(e.each(i,(function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:I,cx:m,cy:y,r0:_,r:C?NaN:x,viewRect:c});else{(i=\"area\"!==C?0===M&&D?T:t*T:u/S)<w?(i=w,k-=w):O+=t;var r=P+L*i;e.setItemLayout(n,{angle:i,startAngle:P,endAngle:r,clockwise:I,cx:m,cy:y,r0:_,r:C?a(t,A,[_,x]):x,viewRect:c}),P=r}})),k<u&&S)if(k<=.001){var R=u/S;e.each(i,(function(t,n){if(!isNaN(t)){var i=e.getItemLayout(n);i.angle=R,i.startAngle=b+L*n*R,i.endAngle=b+L*(n+1)*R}}))}else T=k/O,P=b,e.each(i,(function(t,n){if(!isNaN(t)){var i=e.getItemLayout(n),r=i.angle===w?w:t*T;i.startAngle=P,i.endAngle=P+L*r,P+=L*r}}));s(t,x,c.width,c.height,c.x,c.y)}))}},function(t,e,n){var i=n(15),r=n(3).parsePercent,a=Math.PI/180;function o(t,e,n,i,r,a,o,s,l,u){function h(e,n,i,r){for(var a=e;a<n&&!(t[a].y+i>l+o);a++)if(t[a].y+=i,a>e&&a+1<n&&t[a+1].y>t[a].y+t[a].height)return void c(a,i/2);c(n-1,i/2)}function c(e,n){for(var i=e;i>=0&&!(t[i].y-n<l)&&(t[i].y-=n,!(i>0&&t[i].y>t[i-1].y+t[i-1].height));i--);}function d(t,e,n,i,r,a){for(var o=e?Number.MAX_VALUE:0,s=0,l=t.length;s<l;s++)if(\"none\"===t[s].labelAlignTo){var u=Math.abs(t[s].y-i),h=t[s].len,c=t[s].len2,d=u<r+h?Math.sqrt((r+h+c)*(r+h+c)-u*u):Math.abs(t[s].x-n);e&&d>=o&&(d=o-10),!e&&d<=o&&(d=o+10),t[s].x=n+d*a,o=d}}t.sort((function(t,e){return t.y-e.y}));for(var f,p=0,g=t.length,v=[],m=[],y=0;y<g;y++){if(\"outer\"===t[y].position&&\"labelLine\"===t[y].labelAlignTo){var _=t[y].x-u;t[y].linePoints[1][0]+=_,t[y].x=u}(f=t[y].y-p)<0&&h(y,g,-f),p=t[y].y+t[y].height}o-p<0&&c(g-1,p-o);for(y=0;y<g;y++)t[y].y>=n?m.push(t[y]):v.push(t[y]);d(v,!1,e,n,i,r),d(m,!0,e,n,i,r)}function s(t){return\"center\"===t.position}t.exports=function(t,e,n,l,u,h){var c,d,f=t.getData(),p=[],g=!1,v=(t.get(\"minShowLabelAngle\")||0)*a;f.each((function(a){var o=f.getItemLayout(a),s=f.getItemModel(a),l=s.getModel(\"label\"),h=l.get(\"position\")||s.get(\"emphasis.label.position\"),m=l.get(\"distanceToLabelLine\"),y=l.get(\"alignTo\"),_=r(l.get(\"margin\"),n),x=l.get(\"bleedMargin\"),b=l.getFont(),w=s.getModel(\"labelLine\"),S=w.get(\"length\");S=r(S,n);var M=w.get(\"length2\");if(M=r(M,n),!(o.angle<v)){var T,I,C,D,A=(o.startAngle+o.endAngle)/2,k=Math.cos(A),O=Math.sin(A);c=o.cx,d=o.cy;var P,L=t.getFormattedLabel(a,\"normal\")||f.getName(a),R=i.getBoundingRect(L,b,D,\"top\"),E=\"inside\"===h||\"inner\"===h;if(\"center\"===h)T=o.cx,I=o.cy,D=\"center\";else{var z=(E?(o.r+o.r0)/2*k:o.r*k)+c,N=(E?(o.r+o.r0)/2*O:o.r*O)+d;if(T=z+3*k,I=N+3*O,!E){var B=z+k*(S+e-o.r),F=N+O*(S+e-o.r),V=B+(k<0?-1:1)*M;T=\"edge\"===y?k<0?u+_:u+n-_:V+(k<0?-m:m),I=F,C=[[z,N],[B,F],[V,F]]}D=E?\"center\":\"edge\"===y?k>0?\"right\":\"left\":k>0?\"left\":\"right\"}var H=l.get(\"rotate\");P=\"number\"==typeof H?H*(Math.PI/180):H?k<0?-A+Math.PI:-A:0,g=!!P,o.label={x:T,y:I,position:h,height:R.height,len:S,len2:M,linePoints:C,textAlign:D,verticalAlign:\"middle\",rotation:P,inside:E,labelDistance:m,labelAlignTo:y,labelMargin:_,bleedMargin:x,textRect:R,text:L,font:b},E||p.push(o.label)}})),!g&&t.get(\"avoidLabelOverlap\")&&function(t,e,n,r,a,l,u,h){for(var c=[],d=[],f=Number.MAX_VALUE,p=-Number.MAX_VALUE,g=0;g<t.length;g++)s(t[g])||(t[g].x<e?(f=Math.min(f,t[g].x),c.push(t[g])):(p=Math.max(p,t[g].x),d.push(t[g])));for(o(d,e,n,r,1,0,l,0,h,p),o(c,e,n,r,-1,0,l,0,h,f),g=0;g<t.length;g++){var v=t[g];if(!s(v)){var m=v.linePoints;if(m){var y,_=\"edge\"===v.labelAlignTo,x=v.textRect.width;(y=_?v.x<e?m[2][0]-v.labelDistance-u-v.labelMargin:u+a-v.labelMargin-m[2][0]-v.labelDistance:v.x<e?v.x-u-v.bleedMargin:u+a-v.x-v.bleedMargin)<v.textRect.width&&(v.text=i.truncateText(v.text,y,v.font),\"edge\"===v.labelAlignTo&&(x=i.getWidth(v.text,v.font)));var b=m[1][0]-m[2][0];_?v.x<e?m[2][0]=u+v.labelMargin+x+v.labelDistance:m[2][0]=u+a-v.labelMargin-x-v.labelDistance:(v.x<e?m[2][0]=v.x+v.labelDistance:m[2][0]=v.x-v.labelDistance,m[1][0]=m[2][0]+b),m[1][1]=m[2][1]=v.y}}}}(p,c,d,e,n,l,u,h)}},function(t,e){t.exports=function(t){return{seriesType:t,reset:function(t,e){var n=e.findComponents({mainType:\"legend\"});if(n&&n.length){var i=t.getData();i.filterSelf((function(t){for(var e=i.getName(t),r=0;r<n.length;r++)if(!n[r].isSelected(e))return!1;return!0}))}}}}},function(t,e,n){n(253),n(254)},function(t,e,n){var i=n(124),r=n(129),a=n(58),o=i.extend({type:\"series.heatmap\",getInitialData:function(t,e){return r(this.getSource(),this,{generateCoord:\"value\"})},preventIncremental:function(){var t=a.get(this.get(\"coordinateSystem\"));if(t&&t.dimensions)return\"lng\"===t.dimensions[0]&&\"lat\"===t.dimensions[1]},defaultOption:{coordinateSystem:\"cartesian2d\",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});t.exports=o},function(t,e,n){n(5).__DEV__;var i=n(2),r=n(4),a=n(255),o=n(0);var s=i.extendChartView({type:\"heatmap\",render:function(t,e,n){var i;e.eachComponent(\"visualMap\",(function(e){e.eachTargetSeries((function(n){n===t&&(i=e)}))})),this.group.removeAll(),this._incrementalDisplayable=null;var r=t.coordinateSystem;\"cartesian2d\"===r.type||\"calendar\"===r.type?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):function(t){var e=t.dimensions;return\"lng\"===e[0]&&\"lat\"===e[1]}(r)&&this._renderOnGeo(r,t,i,n)},incrementalPrepareRender:function(t,e,n){this.group.removeAll()},incrementalRender:function(t,e,n,i){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,i,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,n,i,a){var s,l,u=t.coordinateSystem;if(\"cartesian2d\"===u.type){var h=u.getAxis(\"x\"),c=u.getAxis(\"y\");s=h.getBandWidth(),l=c.getBandWidth()}for(var d=this.group,f=t.getData(),p=t.getModel(\"itemStyle\").getItemStyle([\"color\"]),g=t.getModel(\"emphasis.itemStyle\").getItemStyle(),v=t.getModel(\"label\"),m=t.getModel(\"emphasis.label\"),y=u.type,_=\"cartesian2d\"===y?[f.mapDimension(\"x\"),f.mapDimension(\"y\"),f.mapDimension(\"value\")]:[f.mapDimension(\"time\"),f.mapDimension(\"value\")],x=n;x<i;x++){var b;if(\"cartesian2d\"===y){if(isNaN(f.get(_[2],x)))continue;var w=u.dataToPoint([f.get(_[0],x),f.get(_[1],x)]);b=new r.Rect({shape:{x:Math.floor(Math.round(w[0])-s/2),y:Math.floor(Math.round(w[1])-l/2),width:Math.ceil(s),height:Math.ceil(l)},style:{fill:f.getItemVisual(x,\"color\"),opacity:f.getItemVisual(x,\"opacity\")}})}else{if(isNaN(f.get(_[1],x)))continue;b=new r.Rect({z2:1,shape:u.dataToRect([f.get(_[0],x)]).contentShape,style:{fill:f.getItemVisual(x,\"color\"),opacity:f.getItemVisual(x,\"opacity\")}})}var S=f.getItemModel(x);f.hasItemOption&&(p=S.getModel(\"itemStyle\").getItemStyle([\"color\"]),g=S.getModel(\"emphasis.itemStyle\").getItemStyle(),v=S.getModel(\"label\"),m=S.getModel(\"emphasis.label\"));var M=t.getRawValue(x),T=\"-\";M&&null!=M[2]&&(T=M[2]),r.setLabelStyle(p,g,v,m,{labelFetcher:t,labelDataIndex:x,defaultText:T,isRectText:!0}),b.setStyle(p),r.setHoverStyle(b,f.hasItemOption?g:o.extend({},g)),b.incremental=a,a&&(b.useHoverLayer=!0),d.add(b),f.setItemGraphicEl(x,b)}},_renderOnGeo:function(t,e,n,i){var s=n.targetVisuals.inRange,l=n.targetVisuals.outOfRange,u=e.getData(),h=this._hmLayer||this._hmLayer||new a;h.blurSize=e.get(\"blurSize\"),h.pointSize=e.get(\"pointSize\"),h.minOpacity=e.get(\"minOpacity\"),h.maxOpacity=e.get(\"maxOpacity\");var c=t.getViewRect().clone(),d=t.getRoamTransform();c.applyTransform(d);var f=Math.max(c.x,0),p=Math.max(c.y,0),g=Math.min(c.width+c.x,i.getWidth()),v=Math.min(c.height+c.y,i.getHeight()),m=g-f,y=v-p,_=[u.mapDimension(\"lng\"),u.mapDimension(\"lat\"),u.mapDimension(\"value\")],x=u.mapArray(_,(function(e,n,i){var r=t.dataToPoint([e,n]);return r[0]-=f,r[1]-=p,r.push(i),r})),b=n.getExtent(),w=\"visualMap.continuous\"===n.type?function(t,e){var n=t[1]-t[0];return e=[(e[0]-t[0])/n,(e[1]-t[0])/n],function(t){return t>=e[0]&&t<=e[1]}}(b,n.option.range):function(t,e,n){var i=t[1]-t[0],r=(e=o.map(e,(function(e){return{interval:[(e.interval[0]-t[0])/i,(e.interval[1]-t[0])/i]}}))).length,a=0;return function(t){for(var i=a;i<r;i++){if((o=e[i].interval)[0]<=t&&t<=o[1]){a=i;break}}if(i===r)for(i=a-1;i>=0;i--){var o;if((o=e[i].interval)[0]<=t&&t<=o[1]){a=i;break}}return i>=0&&i<r&&n[i]}}(b,n.getPieceList(),n.option.selected);h.update(x,m,y,s.color.getNormalizer(),{inRange:s.color.getColorMapper(),outOfRange:l.color.getColorMapper()},w);var S=new r.Image({style:{width:m,height:y,x:f,y:p,image:h.canvas},silent:!0});this.group.add(S)},dispose:function(){}});t.exports=s},function(t,e,n){var i=n(0);function r(){var t=i.createCanvas();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}r.prototype={update:function(t,e,n,i,r,a){var o=this._getBrush(),s=this._getGradient(t,r,\"inRange\"),l=this._getGradient(t,r,\"outOfRange\"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext(\"2d\"),d=t.length;h.width=e,h.height=n;for(var f=0;f<d;++f){var p=t[f],g=p[0],v=p[1],m=i(p[2]);c.globalAlpha=m,c.drawImage(o,g-u,v-u)}if(!h.width||!h.height)return h;for(var y=c.getImageData(0,0,h.width,h.height),_=y.data,x=0,b=_.length,w=this.minOpacity,S=this.maxOpacity-w;x<b;){m=_[x+3]/256;var M=4*Math.floor(255*m);if(m>0){var T=a(m)?s:l;m>0&&(m=m*S+w),_[x++]=T[M],_[x++]=T[M+1],_[x++]=T[M+2],_[x++]=T[M+3]*m*256}else x+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=i.createCanvas()),e=this.pointSize+this.blurSize,n=2*e;t.width=n,t.height=n;var r=t.getContext(\"2d\");return r.clearRect(0,0,n,n),r.shadowOffsetX=n,r.shadowBlur=this.blurSize,r.shadowColor=\"#000\",r.beginPath(),r.arc(-e,e,this.pointSize,0,2*Math.PI,!0),r.closePath(),r.fill(),t},_getGradient:function(t,e,n){for(var i=this._gradientPixels,r=i[n]||(i[n]=new Uint8ClampedArray(1024)),a=[0,0,0,0],o=0,s=0;s<256;s++)e[n](s/255,!0,a),r[o++]=a[0],r[o++]=a[1],r[o++]=a[2],r[o++]=a[3];return r}};var a=r;t.exports=a},function(t,e,n){n(257),n(261)},function(t,e,n){var i=n(2),r=n(133);n(134),n(135),n(258),n(259),n(141),i.registerPreprocessor(r)},function(t,e,n){var i=n(0),r=n(137),a=n(3),o=[20,140],s=r.extend({type:\"visualMap.continuous\",defaultOption:{align:\"auto\",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){s.superApply(this,\"optionUpdated\",arguments),this.resetExtent(),this.resetVisual((function(t){t.mappingMethod=\"linear\",t.dataExtent=this.getExtent()})),this._resetRange()},resetItemSize:function(){s.superApply(this,\"resetItemSize\",arguments);var t=this.itemSize;\"horizontal\"===this._orient&&t.reverse(),(null==t[0]||isNaN(t[0]))&&(t[0]=o[0]),(null==t[1]||isNaN(t[1]))&&(t[1]=o[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):i.isArray(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){r.prototype.completeVisualOption.apply(this,arguments),i.each(this.stateList,(function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)}),this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=a.asc((this.get(\"range\")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]<t[0]&&(e[0]=t[0]),e[1]<t[0]&&(e[1]=t[0]),e},getValueState:function(t){var e=this.option.range,n=this.getExtent();return(e[0]<=n[0]||e[0]<=t)&&(e[1]>=n[1]||t<=e[1])?\"inRange\":\"outOfRange\"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries((function(n){var i=[],r=n.getData();r.each(this.getDataDimension(r),(function(e,n){t[0]<=e&&e<=t[1]&&i.push(n)}),this),e.push({seriesId:n.id,dataIndex:i})}),this),e},getVisualMeta:function(t){var e=l(this,\"outOfRange\",this.getExtent()),n=l(this,\"inRange\",this.option.range.slice()),i=[];function r(e,n){i.push({value:e,color:t(e,n)})}for(var a=0,o=0,s=n.length,u=e.length;o<u&&(!n.length||e[o]<=n[0]);o++)e[o]<n[a]&&r(e[o],\"outOfRange\");for(var h=1;a<s;a++,h=0)h&&i.length&&r(n[a],\"outOfRange\"),r(n[a],\"inRange\");for(h=1;o<u;o++)(!n.length||n[n.length-1]<e[o])&&(h&&(i.length&&r(i[i.length-1].value,\"outOfRange\"),h=0),r(e[o],\"outOfRange\"));var c=i.length;return{stops:i,outerColors:[c?i[0].color:\"transparent\",c?i[c-1].color:\"transparent\"]}}});function l(t,e,n){if(n[0]===n[1])return n.slice();for(var i=(n[1]-n[0])/200,r=n[0],a=[],o=0;o<=200&&r<n[1];o++)a.push(r),r+=i;return a.push(n[1]),a}var u=s;t.exports=u},function(t,e,n){var i=n(0),r=n(77),a=n(24),o=n(139),s=n(4),l=n(3),u=n(260),h=n(140),c=n(1),d=l.linearMap,f=i.each,p=Math.min,g=Math.max,v=o.extend({type:\"visualMap.continuous\",init:function(){v.superApply(this,\"init\",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(t,e,n,i){i&&\"selectDataRange\"===i.type&&i.from===this.uid||this._buildView()},_buildView:function(){this.group.removeAll();var t=this.visualMapModel,e=this.group;this._orient=t.get(\"orient\"),this._useHandle=t.get(\"calculable\"),this._resetInterval(),this._renderBar(e);var n=t.get(\"text\");this._renderEndsText(e,n,0),this._renderEndsText(e,n,1),this._updateView(!0),this.renderBackground(e),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(e)},_renderEndsText:function(t,e,n){if(e){var i=e[1-n];i=null!=i?i+\"\":\"\";var r=this.visualMapModel,a=r.get(\"textGap\"),o=r.itemSize,l=this._shapes.barGroup,u=this._applyTransform([o[0]/2,0===n?-a:o[1]+a],l),h=this._applyTransform(0===n?\"bottom\":\"top\",l),c=this._orient,d=this.visualMapModel.textStyleModel;this.group.add(new s.Text({style:{x:u[0],y:u[1],textVerticalAlign:\"horizontal\"===c?\"middle\":h,textAlign:\"horizontal\"===c?h:\"center\",text:i,textFont:d.getFont(),textFill:d.getTextColor()}}))}},_renderBar:function(t){var e=this.visualMapModel,n=this._shapes,r=e.itemSize,a=this._orient,o=this._useHandle,s=h.getItemAlign(e,this.api,r),l=n.barGroup=this._createBarGroup(s);l.add(n.outOfRange=m()),l.add(n.inRange=m(null,o?_(this._orient):null,i.bind(this._dragHandle,this,\"all\",!1),i.bind(this._dragHandle,this,\"all\",!0)));var u=e.textStyleModel.getTextRect(\"国\"),c=g(u.width,u.height);o&&(n.handleThumbs=[],n.handleLabels=[],n.handleLabelPoints=[],this._createHandle(l,0,r,c,a,s),this._createHandle(l,1,r,c,a,s)),this._createIndicator(l,r,c,a),t.add(l)},_createHandle:function(t,e,n,r,o){var l=i.bind(this._dragHandle,this,e,!1),u=i.bind(this._dragHandle,this,e,!0),h=m(function(t,e){return 0===t?[[0,0],[e,0],[e,-e]]:[[0,0],[e,0],[e,e]]}(e,r),_(this._orient),l,u);h.position[0]=n[0],t.add(h);var c=this.visualMapModel.textStyleModel,d=new s.Text({draggable:!0,drift:l,onmousemove:function(t){a.stop(t.event)},ondragend:u,style:{x:0,y:0,text:\"\",textFont:c.getFont(),textFill:c.getTextColor()}});this.group.add(d);var f=[\"horizontal\"===o?r/2:1.5*r,\"horizontal\"===o?0===e?-1.5*r:1.5*r:0===e?-r/2:r/2],p=this._shapes;p.handleThumbs[e]=h,p.handleLabelPoints[e]=f,p.handleLabels[e]=d},_createIndicator:function(t,e,n,i){var r=m([[0,0]],\"move\");r.position[0]=e[0],r.attr({invisible:!0,silent:!0}),t.add(r);var a=this.visualMapModel.textStyleModel,o=new s.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:\"\",textFont:a.getFont(),textFill:a.getTextColor()}});this.group.add(o);var l=[\"horizontal\"===i?n/2:9,0],u=this._shapes;u.indicator=r,u.indicatorLabel=o,u.indicatorLabelPoint=l},_dragHandle:function(t,e,n,i){if(this._useHandle){if(this._dragging=!e,!e){var r=this._applyTransform([n,i],this._shapes.barGroup,!0);this._updateInterval(t,r[1]),this._updateView()}e===!this.visualMapModel.get(\"realtime\")&&this.api.dispatchAction({type:\"selectDataRange\",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),e?!this._hovering&&this._clearHoverLinkToSeries():y(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},_resetInterval:function(){var t=this.visualMapModel,e=this._dataInterval=t.getSelected(),n=t.getExtent(),i=[0,t.itemSize[1]];this._handleEnds=[d(e[0],n,i,!0),d(e[1],n,i,!0)]},_updateInterval:function(t,e){e=e||0;var n=this.visualMapModel,i=this._handleEnds,r=[0,n.itemSize[1]];u(e,i,r,t,0);var a=n.getExtent();this._dataInterval=[d(i[0],r,a,!0),d(i[1],r,a,!0)]},_updateView:function(t){var e=this.visualMapModel,n=e.getExtent(),i=this._shapes,r=[0,e.itemSize[1]],a=t?r:this._handleEnds,o=this._createBarVisual(this._dataInterval,n,a,\"inRange\"),s=this._createBarVisual(n,n,r,\"outOfRange\");i.inRange.setStyle({fill:o.barColor,opacity:o.opacity}).setShape(\"points\",o.barPoints),i.outOfRange.setStyle({fill:s.barColor,opacity:s.opacity}).setShape(\"points\",s.barPoints),this._updateHandle(a,o)},_createBarVisual:function(t,e,n,i){var a={forceState:i,convertOpacityToAlpha:!0},o=this._makeColorGradient(t,a),s=[this.getControllerVisual(t[0],\"symbolSize\",a),this.getControllerVisual(t[1],\"symbolSize\",a)],l=this._createBarPoints(n,s);return{barColor:new r(0,0,0,1,o),barPoints:l,handlesColor:[o[0].color,o[o.length-1].color]}},_makeColorGradient:function(t,e){var n=[],i=(t[1]-t[0])/100;n.push({color:this.getControllerVisual(t[0],\"color\",e),offset:0});for(var r=1;r<100;r++){var a=t[0]+i*r;if(a>t[1])break;n.push({color:this.getControllerVisual(a,\"color\",e),offset:r/100})}return n.push({color:this.getControllerVisual(t[1],\"color\",e),offset:1}),n},_createBarPoints:function(t,e){var n=this.visualMapModel.itemSize;return[[n[0]-e[0],t[0]],[n[0],t[0]],[n[0],t[1]],[n[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,n=this.visualMapModel.get(\"inverse\");return new s.Group(\"horizontal\"!==e||n?\"horizontal\"===e&&n?{scale:\"bottom\"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:\"vertical\"!==e||n?{scale:\"left\"===t?[1,1]:[-1,1]}:{scale:\"left\"===t?[1,-1]:[-1,-1]}:{scale:\"bottom\"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var n=this._shapes,i=this.visualMapModel,r=n.handleThumbs,a=n.handleLabels;f([0,1],(function(o){var l=r[o];l.setStyle(\"fill\",e.handlesColor[o]),l.position[1]=t[o];var u=s.applyTransform(n.handleLabelPoints[o],s.getTransform(l,this.group));a[o].setStyle({x:u[0],y:u[1],text:i.formatValueText(this._dataInterval[o]),textVerticalAlign:\"middle\",textAlign:this._applyTransform(\"horizontal\"===this._orient?0===o?\"bottom\":\"top\":\"left\",n.barGroup)})}),this)}},_showIndicator:function(t,e,n,i){var r=this.visualMapModel,a=r.getExtent(),o=r.itemSize,l=[0,o[1]],u=d(t,a,l,!0),h=this._shapes,c=h.indicator;if(c){c.position[1]=u,c.attr(\"invisible\",!1),c.setShape(\"points\",function(t,e,n,i){return t?[[0,-p(e,g(n,0))],[6,0],[0,p(e,g(i-n,0))]]:[[0,0],[5,-5],[5,5]]}(!!n,i,u,o[1]));var f=this.getControllerVisual(t,\"color\",{convertOpacityToAlpha:!0});c.setStyle(\"fill\",f);var v=s.applyTransform(h.indicatorLabelPoint,s.getTransform(c,this.group)),m=h.indicatorLabel;m.attr(\"invisible\",!1);var y=this._applyTransform(\"left\",h.barGroup),_=this._orient;m.setStyle({text:(n||\"\")+r.formatValueText(e),textVerticalAlign:\"horizontal\"===_?y:\"middle\",textAlign:\"horizontal\"===_?\"center\":y,x:v[0],y:v[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on(\"mousemove\",(function(e){if(t._hovering=!0,!t._dragging){var n=t.visualMapModel.itemSize,i=t._applyTransform([e.offsetX,e.offsetY],t._shapes.barGroup,!0,!0);i[1]=p(g(0,i[1]),n[1]),t._doHoverLinkToSeries(i[1],0<=i[0]&&i[0]<=n[0])}})).on(\"mouseout\",(function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()}))},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on(\"mouseover\",this._hoverLinkFromSeriesMouseOver,this),t.on(\"mouseout\",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var n=this.visualMapModel,i=n.itemSize;if(n.option.hoverLink){var r=[0,i[1]],a=n.getExtent();t=p(g(r[0],t),r[1]);var o=function(t,e,n){var i=6,r=t.get(\"hoverLinkDataSize\");r&&(i=d(r,e,n,!0)/2);return i}(n,a,r),s=[t-o,t+o],l=d(t,r,a,!0),u=[d(s[0],r,a,!0),d(s[1],r,a,!0)];s[0]<r[0]&&(u[0]=-1/0),s[1]>r[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],\"< \",o):u[1]===1/0?this._showIndicator(l,u[0],\"> \",o):this._showIndicator(l,l,\"≈ \",o));var f=this._hoverLinkDataIndices,v=[];(e||y(n))&&(v=this._hoverLinkDataIndices=n.findTargetDataIndices(u));var m=c.compressBatches(f,v);this._dispatchHighDown(\"downplay\",h.makeHighDownBatch(m[0],n)),this._dispatchHighDown(\"highlight\",h.makeHighDownBatch(m[1],n))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,n=this.visualMapModel;if(e&&null!=e.dataIndex){var i=this.ecModel.getSeriesByIndex(e.seriesIndex);if(n.isTargetSeries(i)){var r=i.getData(e.dataType),a=r.get(n.getDataDimension(r),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr(\"invisible\",!0),t.indicatorLabel&&t.indicatorLabel.attr(\"invisible\",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown(\"downplay\",h.makeHighDownBatch(t,this.visualMapModel)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off(\"mouseover\",this._hoverLinkFromSeriesMouseOver),t.off(\"mouseout\",this._hideIndicator)},_applyTransform:function(t,e,n,r){var a=s.getTransform(e,r?null:this.group);return s[i.isArray(t)?\"applyTransform\":\"transformDirection\"](t,a,n)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});function m(t,e,n,i){return new s.Polygon({shape:{points:t},draggable:!!n,cursor:e,drift:n,onmousemove:function(t){a.stop(t.event)},ondragend:i})}function y(t){var e=t.get(\"hoverLinkOnHandle\");return!!(null==e?t.get(\"realtime\"):e)}function _(t){return\"vertical\"===t?\"ns-resize\":\"ew-resize\"}var x=v;t.exports=x},function(t,e){function n(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function i(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}t.exports=function(t,e,r,a,o,s){t=t||0;var l=r[1]-r[0];if(null!=o&&(o=i(o,[0,l])),null!=s&&(s=Math.max(s,null!=o?o:0)),\"all\"===a){var u=Math.abs(e[1]-e[0]);u=i(u,[0,l]),o=s=i(u,[o,s]),a=0}e[0]=i(e[0],r),e[1]=i(e[1],r);var h=n(e,a);e[a]+=t;var c=o||0,d=r.slice();h.sign<0?d[0]+=c:d[1]-=c,e[a]=i(e[a],d);var f=n(e,a);return null!=o&&(f.sign!==h.sign||f.span<o)&&(e[1-a]=e[a]+h.sign*o),f=n(e,a),null!=s&&f.span>s&&(e[1-a]=e[a]+f.sign*s),e}},function(t,e,n){var i=n(2),r=n(133);n(134),n(135),n(262),n(263),n(141),i.registerPreprocessor(r)},function(t,e,n){n(5).__DEV__;var i=n(0),r=n(137),a=n(44),o=n(138),s=n(3).reformIntervals,l=r.extend({type:\"visualMap.piecewise\",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:\"auto\",itemWidth:20,itemHeight:14,itemSymbol:\"roundRect\",pieceList:null,categories:null,splitNumber:5,selectedMode:\"multiple\",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){l.superApply(this,\"optionUpdated\",arguments),this._pieceList=[],this.resetExtent();var n=this._mode=this._determineMode();u[this._mode].call(this),this._resetSelected(t,e);var r=this.option.categories;this.resetVisual((function(t,e){\"categories\"===n?(t.mappingMethod=\"category\",t.categories=i.clone(r)):(t.dataExtent=this.getExtent(),t.mappingMethod=\"piecewise\",t.pieceList=i.map(this._pieceList,(function(t){t=i.clone(t);return\"inRange\"!==e&&(t.visual=null),t})))}))},completeVisualOption:function(){var t=this.option,e={},n=a.listVisualTypes(),s=this.isCategory();function l(t,e,n){return t&&t[e]&&(i.isObject(t[e])?t[e].hasOwnProperty(n):t[e]===n)}i.each(t.pieces,(function(t){i.each(n,(function(n){t.hasOwnProperty(n)&&(e[n]=1)}))})),i.each(e,(function(e,n){var r=0;i.each(this.stateList,(function(e){r|=l(t,e,n)||l(t.target,e,n)}),this),!r&&i.each(this.stateList,(function(e){(t[e]||(t[e]={}))[n]=o.get(n,\"inRange\"===e?\"active\":\"inactive\",s)}))}),this),r.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var n=this.option,r=this._pieceList,a=(e?n:t).selected||{};if(n.selected=a,i.each(r,(function(t,e){var n=this.getSelectedMapKey(t);a.hasOwnProperty(n)||(a[n]=!0)}),this),\"single\"===n.selectedMode){var o=!1;i.each(r,(function(t,e){var n=this.getSelectedMapKey(t);a[n]&&(o?a[n]=!1:o=!0)}),this)}},getSelectedMapKey:function(t){return\"categories\"===this._mode?t.value+\"\":t.index+\"\"},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&t.pieces.length>0?\"pieces\":this.option.categories?\"categories\":\"splitNumber\"},setSelected:function(t){this.option.selected=i.clone(t)},getValueState:function(t){var e=a.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?\"inRange\":\"outOfRange\"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries((function(n){var i=[],r=n.getData();r.each(this.getDataDimension(r),(function(e,n){a.findPieceIndex(e,this._pieceList)===t&&i.push(n)}),this),e.push({seriesId:n.id,dataIndex:i})}),this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var n=t.interval||[];e=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return e},getVisualMeta:function(t){if(!this.isCategory()){var e=[],n=[],r=this,a=this._pieceList.slice();if(a.length){var o=a[0].interval[0];o!==-1/0&&a.unshift({interval:[-1/0,o]}),(o=a[a.length-1].interval[1])!==1/0&&a.push({interval:[o,1/0]})}else a.push({interval:[-1/0,1/0]});var s=-1/0;return i.each(a,(function(t){var e=t.interval;e&&(e[0]>s&&l([s,e[0]],\"outOfRange\"),l(e.slice()),s=e[1])}),this),{stops:e,outerColors:n}}function l(i,a){var o=r.getRepresentValue({interval:i});a||(a=r.getValueState(o));var s=t(o,a);i[0]===-1/0?n[0]=s:i[1]===1/0?n[1]=s:e.push({value:i[0],color:s},{value:i[1],color:s})}}}),u={splitNumber:function(){var t=this.option,e=this._pieceList,n=Math.min(t.precision,20),r=this.getExtent(),a=t.splitNumber;a=Math.max(parseInt(a,10),1),t.splitNumber=a;for(var o=(r[1]-r[0])/a;+o.toFixed(n)!==o&&n<5;)n++;t.precision=n,o=+o.toFixed(n),t.minOpen&&e.push({interval:[-1/0,r[0]],close:[0,0]});for(var l=0,u=r[0];l<a;u+=o,l++){var h=l===a-1?r[1]:u+o;e.push({interval:[u,h],close:[1,1]})}t.maxOpen&&e.push({interval:[r[1],1/0],close:[0,0]}),s(e),i.each(e,(function(t,e){t.index=e,t.text=this.formatValueText(t.interval)}),this)},categories:function(){var t=this.option;i.each(t.categories,(function(t){this._pieceList.push({text:this.formatValueText(t,!0),value:t})}),this),h(t,this._pieceList)},pieces:function(){var t=this.option,e=this._pieceList;i.each(t.pieces,(function(t,n){i.isObject(t)||(t={value:t});var r={text:\"\",index:n};if(null!=t.label&&(r.text=t.label),t.hasOwnProperty(\"value\")){var o=r.value=t.value;r.interval=[o,o],r.close=[1,1]}else{for(var s=r.interval=[],l=r.close=[0,0],u=[1,0,1],h=[-1/0,1/0],c=[],d=0;d<2;d++){for(var f=[[\"gte\",\"gt\",\"min\"],[\"lte\",\"lt\",\"max\"]][d],p=0;p<3&&null==s[d];p++)s[d]=t[f[p]],l[d]=u[p],c[d]=2===p;null==s[d]&&(s[d]=h[d])}c[0]&&s[1]===1/0&&(l[0]=0),c[1]&&s[0]===-1/0&&(l[1]=0),s[0]===s[1]&&l[0]&&l[1]&&(r.value=s[0])}r.visual=a.retrieveVisuals(t),e.push(r)}),this),h(t,e),s(e),i.each(e,(function(t){var e=t.close,n=[[\"<\",\"≤\"][e[1]],[\">\",\"≥\"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,n)}),this)}};function h(t,e){var n=t.inverse;(\"vertical\"===t.orient?!n:n)&&e.reverse()}var c=l;t.exports=c},function(t,e,n){var i=n(0),r=n(139),a=n(4),o=n(60).createSymbol,s=n(11),l=n(140),u=r.extend({type:\"visualMap.piecewise\",doRender:function(){var t=this.group;t.removeAll();var e=this.visualMapModel,n=e.get(\"textGap\"),r=e.textStyleModel,o=r.getFont(),l=r.getTextColor(),u=this._getItemAlign(),h=e.itemSize,c=this._getViewData(),d=c.endsText,f=i.retrieve(e.get(\"showLabel\",!0),!d);d&&this._renderEndsText(t,d[0],h,f,u),i.each(c.viewPieceList,(function(r){var s=r.piece,c=new a.Group;c.onclick=i.bind(this._onItemClick,this,s),this._enableHoverLink(c,r.indexInModelPieceList);var d=e.getRepresentValue(s);if(this._createItemSymbol(c,d,[0,0,h[0],h[1]]),f){var p=this.visualMapModel.getValueState(d);c.add(new a.Text({style:{x:\"right\"===u?-n:h[0]+n,y:h[1]/2,text:s.text,textVerticalAlign:\"middle\",textAlign:u,textFont:o,textFill:l,opacity:\"outOfRange\"===p?.5:1}}))}t.add(c)}),this),d&&this._renderEndsText(t,d[1],h,f,u),s.box(e.get(\"orient\"),t,e.get(\"itemGap\")),this.renderBackground(t),this.positionGroup(t)},_enableHoverLink:function(t,e){function n(t){var n=this.visualMapModel;n.option.hoverLink&&this.api.dispatchAction({type:t,batch:l.makeHighDownBatch(n.findTargetDataIndices(e),n)})}t.on(\"mouseover\",i.bind(n,this,\"highlight\")).on(\"mouseout\",i.bind(n,this,\"downplay\"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if(\"vertical\"===e.orient)return l.getItemAlign(t,this.api,t.itemSize);var n=e.align;return n&&\"auto\"!==n||(n=\"left\"),n},_renderEndsText:function(t,e,n,i,r){if(e){var o=new a.Group,s=this.visualMapModel.textStyleModel;o.add(new a.Text({style:{x:i?\"right\"===r?n[0]:0:n[0]/2,y:n[1]/2,textVerticalAlign:\"middle\",textAlign:i?r:\"center\",text:e,textFont:s.getFont(),textFill:s.getTextColor()}})),t.add(o)}},_getViewData:function(){var t=this.visualMapModel,e=i.map(t.getPieceList(),(function(t,e){return{piece:t,indexInModelPieceList:e}})),n=t.get(\"text\"),r=t.get(\"orient\"),a=t.get(\"inverse\");return(\"horizontal\"===r?a:!a)?e.reverse():n&&(n=n.slice().reverse()),{viewPieceList:e,endsText:n}},_createItemSymbol:function(t,e,n){t.add(o(this.getControllerVisual(e,\"symbol\"),n[0],n[1],n[2],n[3],this.getControllerVisual(e,\"color\")))},_onItemClick:function(t){var e=this.visualMapModel,n=e.option,r=i.clone(n.selected),a=e.getSelectedMapKey(t);\"single\"===n.selectedMode?(r[a]=!0,i.each(r,(function(t,e){r[e]=e===a}))):r[a]=!r[a],this.api.dispatchAction({type:\"selectDataRange\",from:this.uid,visualMapId:this.visualMapModel.id,selected:r})}});t.exports=u},function(t,e,n){n(265),n(266),n(267)},function(t,e,n){var i=n(0),r=n(11),a=n(3),o=n(58);function s(t,e,n){this._model=t}function l(t,e,n,i){var r=n.calendarModel,a=n.seriesModel,o=r?r.coordinateSystem:a?a.coordinateSystem:null;return o===this?o[t](i):null}s.prototype={constructor:s,type:\"calendar\",dimensions:[\"time\",\"value\"],getDimensionsInfo:function(){return[{name:\"time\",type:\"time\"},\"value\"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=a.parseDate(t)).getFullYear(),n=t.getMonth()+1;n=n<10?\"0\"+n:n;var i=t.getDate();i=i<10?\"0\"+i:i;var r=t.getDay();return{y:e,m:n,d:i,day:r=Math.abs((r+7-this.getFirstDayOfWeek())%7),time:t.getTime(),formatedDate:e+\"-\"+n+\"-\"+i,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)||(t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t)},update:function(t,e){this._firstDayOfWeek=+this._model.getModel(\"dayLabel\").get(\"firstDay\"),this._orient=this._model.get(\"orient\"),this._lineWidth=this._model.getModel(\"itemStyle\").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var n=this._rangeInfo.weeks||1,a=[\"width\",\"height\"],o=this._model.get(\"cellSize\").slice(),s=this._model.getBoxLayoutParams(),l=\"horizontal\"===this._orient?[n,7]:[7,n];i.each([0,1],(function(t){c(o,t)&&(s[a[t]]=o[t]*l[t])}));var u={width:e.getWidth(),height:e.getHeight()},h=this._rect=r.getLayoutRect(s,u);function c(t,e){return null!=t[e]&&\"auto\"!==t[e]}i.each([0,1],(function(t){c(o,t)||(o[t]=h[a[t]]/l[t])})),this._sw=o[0],this._sh=o[1]},dataToPoint:function(t,e){i.isArray(t)&&(t=t[0]),null==e&&(e=!0);var n=this.getDateInfo(t),r=this._rangeInfo,a=n.formatedDate;if(e&&!(n.time>=r.start.time&&n.time<r.end.time+864e5))return[NaN,NaN];var o=n.day,s=this._getRangeInfo([r.start.time,a]).nthWeek;return\"vertical\"===this._orient?[this._rect.x+o*this._sw+this._sw/2,this._rect.y+s*this._sh+this._sh/2]:[this._rect.x+s*this._sw+this._sw/2,this._rect.y+o*this._sh+this._sh/2]},pointToData:function(t){var e=this.pointToDate(t);return e&&e.time},dataToRect:function(t,e){var n=this.dataToPoint(t,e);return{contentShape:{x:n[0]-(this._sw-this._lineWidth)/2,y:n[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:n,tl:[n[0]-this._sw/2,n[1]-this._sh/2],tr:[n[0]+this._sw/2,n[1]-this._sh/2],br:[n[0]+this._sw/2,n[1]+this._sh/2],bl:[n[0]-this._sw/2,n[1]+this._sh/2]}},pointToDate:function(t){var e=Math.floor((t[0]-this._rect.x)/this._sw)+1,n=Math.floor((t[1]-this._rect.y)/this._sh)+1,i=this._rangeInfo.range;return\"vertical\"===this._orient?this._getDateByWeeksAndDay(n,e-1,i):this._getDateByWeeksAndDay(e,n-1,i)},convertToPixel:i.curry(l,\"dataToPoint\"),convertFromPixel:i.curry(l,\"pointToData\"),_initRangeOption:function(){var t=this._model.get(\"range\"),e=t;if(i.isArray(e)&&1===e.length&&(e=e[0]),/^\\d{4}$/.test(e)&&(t=[e+\"-01-01\",e+\"-12-31\"]),/^\\d{4}[\\/|-]\\d{1,2}$/.test(e)){var n=this.getDateInfo(e),r=n.date;r.setMonth(r.getMonth()+1);var a=this.getNextNDay(r,-1);t=[n.formatedDate,a.formatedDate]}/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(e)&&(t=[e,e]);var o=this._getRangeInfo(t);return o.start.time>o.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var n=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,i=new Date(t[0].time),r=i.getDate(),a=t[1].date.getDate();i.setDate(r+n-1);var o=i.getDate();if(o!==a)for(var s=i.getTime()-t[1].time>0?1:-1;(o=i.getDate())!==a&&(i.getTime()-t[1].time)*s>0;)n-=s,i.setDate(o-s);var l=Math.floor((n+t[0].day+6)/7),u=e?1-l:l-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:n,weeks:l,nthWeek:u,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,n){var i=this._getRangeInfo(n);if(t>i.weeks||0===t&&e<i.fweek||t===i.weeks&&e>i.lweek)return!1;var r=7*(t-1)-i.fweek+e,a=new Date(i.start.time);return a.setDate(i.start.d+r),this.getDateInfo(a)}},s.dimensions=s.prototype.dimensions,s.getDimensionsInfo=s.prototype.getDimensionsInfo,s.create=function(t,e){var n=[];return t.eachComponent(\"calendar\",(function(i){var r=new s(i,t,e);n.push(r),i.coordinateSystem=r})),t.eachSeries((function(t){\"calendar\"===t.get(\"coordinateSystem\")&&(t.coordinateSystem=n[t.get(\"calendarIndex\")||0])})),n},o.register(\"calendar\",s);var u=s;t.exports=u},function(t,e,n){var i=n(0),r=n(22),a=n(11),o=a.getLayoutParams,s=a.sizeCalculable,l=a.mergeLayoutParam,u=r.extend({type:\"calendar\",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:\"horizontal\",splitLine:{show:!0,lineStyle:{color:\"#000\",width:1,type:\"solid\"}},itemStyle:{color:\"#fff\",borderWidth:1,borderColor:\"#ccc\"},dayLabel:{show:!0,firstDay:0,position:\"start\",margin:\"50%\",nameMap:\"en\",color:\"#000\"},monthLabel:{show:!0,position:\"start\",margin:5,align:\"center\",nameMap:\"en\",formatter:null,color:\"#000\"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:\"#ccc\",fontFamily:\"sans-serif\",fontWeight:\"bolder\",fontSize:20}},init:function(t,e,n,i){var r=o(t);u.superApply(this,\"init\",arguments),h(t,r)},mergeOption:function(t,e){u.superApply(this,\"mergeOption\",arguments),h(this.option,t)}});function h(t,e){var n=t.cellSize;i.isArray(n)?1===n.length&&(n[1]=n[0]):n=t.cellSize=[n,n];var r=i.map([0,1],(function(t){return s(e,t)&&(n[t]=\"auto\"),null!=n[t]&&\"auto\"!==n[t]}));l(t,e,{type:\"box\",ignoreSize:r})}var c=u;t.exports=c},function(t,e,n){var i=n(2),r=n(0),a=n(4),o=n(9),s=n(3),l={EN:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],CN:[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"]},u={EN:[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"],CN:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"]},h=i.extendComponentView({type:\"calendar\",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,n){var i=this.group;i.removeAll();var r=t.coordinateSystem,a=r.getRangeInfo(),o=r.getOrient();this._renderDayRect(t,a,i),this._renderLines(t,a,o,i),this._renderYearText(t,a,o,i),this._renderMonthText(t,o,i),this._renderWeekText(t,a,o,i)},_renderDayRect:function(t,e,n){for(var i=t.coordinateSystem,r=t.getModel(\"itemStyle\").getItemStyle(),o=i.getCellWidth(),s=i.getCellHeight(),l=e.start.time;l<=e.end.time;l=i.getNextNDay(l,1).time){var u=i.dataToRect([l],!1).tl,h=new a.Rect({shape:{x:u[0],y:u[1],width:o,height:s},cursor:\"default\",style:r});n.add(h)}},_renderLines:function(t,e,n,i){var r=this,a=t.coordinateSystem,o=t.getModel(\"splitLine.lineStyle\").getLineStyle(),s=t.get(\"splitLine.show\"),l=o.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=e.start,h=0;u.time<=e.end.time;h++){d(u.formatedDate),0===h&&(u=a.getDateInfo(e.start.y+\"-\"+e.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=a.getDateInfo(c)}function d(e){r._firstDayOfMonth.push(a.getDateInfo(e)),r._firstDayPoints.push(a.dataToRect([e],!1).tl);var l=r._getLinePointsOfOneWeek(t,e,n);r._tlpoints.push(l[0]),r._blpoints.push(l[l.length-1]),s&&r._drawSplitline(l,o,i)}d(a.getNextNDay(e.end.time,1).formatedDate),s&&this._drawSplitline(r._getEdgesPoints(r._tlpoints,l,n),o,i),s&&this._drawSplitline(r._getEdgesPoints(r._blpoints,l,n),o,i)},_getEdgesPoints:function(t,e,n){var i=[t[0].slice(),t[t.length-1].slice()],r=\"horizontal\"===n?0:1;return i[0][r]=i[0][r]-e/2,i[1][r]=i[1][r]+e/2,i},_drawSplitline:function(t,e,n){var i=new a.Polyline({z2:20,shape:{points:t},style:e});n.add(i)},_getLinePointsOfOneWeek:function(t,e,n){var i=t.coordinateSystem;e=i.getDateInfo(e);for(var r=[],a=0;a<7;a++){var o=i.getNextNDay(e.time,a),s=i.dataToRect([o.time],!1);r[2*o.day]=s.tl,r[2*o.day+1]=s[\"horizontal\"===n?\"bl\":\"tr\"]}return r},_formatterLabel:function(t,e){return\"string\"==typeof t&&t?o.formatTplSimple(t,e):\"function\"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,n,i,r){e=e.slice();var a=[\"center\",\"bottom\"];\"bottom\"===i?(e[1]+=r,a=[\"center\",\"top\"]):\"left\"===i?e[0]-=r:\"right\"===i?(e[0]+=r,a=[\"center\",\"top\"]):e[1]-=r;var o=0;return\"left\"!==i&&\"right\"!==i||(o=Math.PI/2),{rotation:o,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,n,i){var r=t.getModel(\"yearLabel\");if(r.get(\"show\")){var o=r.get(\"margin\"),s=r.get(\"position\");s||(s=\"horizontal\"!==n?\"top\":\"left\");var l=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],u=(l[0][0]+l[1][0])/2,h=(l[0][1]+l[1][1])/2,c=\"horizontal\"===n?0:1,d={top:[u,l[c][1]],bottom:[u,l[1-c][1]],left:[l[1-c][0],h],right:[l[c][0],h]},f=e.start.y;+e.end.y>+e.start.y&&(f=f+\"-\"+e.end.y);var p=r.get(\"formatter\"),g={start:e.start.y,end:e.end.y,nameMap:f},v=this._formatterLabel(p,g),m=new a.Text({z2:30});a.setTextStyle(m.style,r,{text:v}),m.attr(this._yearTextPositionControl(m,d[s],n,s,o)),i.add(m)}},_monthTextPositionControl:function(t,e,n,i,r){var a=\"left\",o=\"top\",s=t[0],l=t[1];return\"horizontal\"===n?(l+=r,e&&(a=\"center\"),\"start\"===i&&(o=\"bottom\")):(s+=r,e&&(o=\"middle\"),\"start\"===i&&(a=\"right\")),{x:s,y:l,textAlign:a,textVerticalAlign:o}},_renderMonthText:function(t,e,n){var i=t.getModel(\"monthLabel\");if(i.get(\"show\")){var o=i.get(\"nameMap\"),s=i.get(\"margin\"),u=i.get(\"position\"),h=i.get(\"align\"),c=[this._tlpoints,this._blpoints];r.isString(o)&&(o=l[o.toUpperCase()]||[]);var d=\"start\"===u?0:1,f=\"horizontal\"===e?0:1;s=\"start\"===u?-s:s;for(var p=\"center\"===h,g=0;g<c[d].length-1;g++){var v=c[d][g].slice(),m=this._firstDayOfMonth[g];if(p){var y=this._firstDayPoints[g];v[f]=(y[f]+c[0][g+1][f])/2}var _=i.get(\"formatter\"),x=o[+m.m-1],b={yyyy:m.y,yy:(m.y+\"\").slice(2),MM:m.m,M:+m.m,nameMap:x},w=this._formatterLabel(_,b),S=new a.Text({z2:30});r.extend(a.setTextStyle(S.style,i,{text:w}),this._monthTextPositionControl(v,p,e,u,s)),n.add(S)}}},_weekTextPositionControl:function(t,e,n,i,r){var a=\"center\",o=\"middle\",s=t[0],l=t[1],u=\"start\"===n;return\"horizontal\"===e?(s=s+i+(u?1:-1)*r[0]/2,a=u?\"right\":\"left\"):(l=l+i+(u?1:-1)*r[1]/2,o=u?\"bottom\":\"top\"),{x:s,y:l,textAlign:a,textVerticalAlign:o}},_renderWeekText:function(t,e,n,i){var o=t.getModel(\"dayLabel\");if(o.get(\"show\")){var l=t.coordinateSystem,h=o.get(\"position\"),c=o.get(\"nameMap\"),d=o.get(\"margin\"),f=l.getFirstDayOfWeek();r.isString(c)&&(c=u[c.toUpperCase()]||[]);var p=l.getNextNDay(e.end.time,7-e.lweek).time,g=[l.getCellWidth(),l.getCellHeight()];d=s.parsePercent(d,g[\"horizontal\"===n?0:1]),\"start\"===h&&(p=l.getNextNDay(e.start.time,-(7+e.fweek)).time,d=-d);for(var v=0;v<7;v++){var m,y=l.getNextNDay(p,v),_=l.dataToRect([y.time],!1).center;m=Math.abs((v+f)%7);var x=new a.Text({z2:30});r.extend(a.setTextStyle(x.style,o,{text:c[m]}),this._weekTextPositionControl(_,n,h,d,g)),i.add(x)}}}});t.exports=h},function(t,e,n){var i=n(0),r=n(2),a=n(4),o=n(11).getLayoutRect,s=n(9).windowOpen;r.extendComponentModel({type:\"title\",layoutMode:{type:\"box\",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:\"\",target:\"blank\",subtext:\"\",subtarget:\"blank\",left:0,top:0,backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:\"bolder\",color:\"#333\"},subtextStyle:{color:\"#aaa\"}}}),r.extendComponentView({type:\"title\",render:function(t,e,n){if(this.group.removeAll(),t.get(\"show\")){var r=this.group,l=t.getModel(\"textStyle\"),u=t.getModel(\"subtextStyle\"),h=t.get(\"textAlign\"),c=i.retrieve2(t.get(\"textBaseline\"),t.get(\"textVerticalAlign\")),d=new a.Text({style:a.setTextStyle({},l,{text:t.get(\"text\"),textFill:l.getTextColor()},{disableBox:!0}),z2:10}),f=d.getBoundingRect(),p=t.get(\"subtext\"),g=new a.Text({style:a.setTextStyle({},u,{text:p,textFill:u.getTextColor(),y:f.height+t.get(\"itemGap\"),textVerticalAlign:\"top\"},{disableBox:!0}),z2:10}),v=t.get(\"link\"),m=t.get(\"sublink\"),y=t.get(\"triggerEvent\",!0);d.silent=!v&&!y,g.silent=!m&&!y,v&&d.on(\"click\",(function(){s(v,\"_\"+t.get(\"target\"))})),m&&g.on(\"click\",(function(){s(m,\"_\"+t.get(\"subtarget\"))})),d.eventData=g.eventData=y?{componentType:\"title\",componentIndex:t.componentIndex}:null,r.add(d),p&&r.add(g);var _=r.getBoundingRect(),x=t.getBoxLayoutParams();x.width=_.width,x.height=_.height;var b=o(x,{width:n.getWidth(),height:n.getHeight()},t.get(\"padding\"));h||(\"middle\"===(h=t.get(\"left\")||t.get(\"right\"))&&(h=\"center\"),\"right\"===h?b.x+=b.width:\"center\"===h&&(b.x+=b.width/2)),c||(\"center\"===(c=t.get(\"top\")||t.get(\"bottom\"))&&(c=\"middle\"),\"bottom\"===c?b.y+=b.height:\"middle\"===c&&(b.y+=b.height/2),c=c||\"top\"),r.attr(\"position\",[b.x,b.y]);var w={textAlign:h,textVerticalAlign:c};d.setStyle(w),g.setStyle(w),_=r.getBoundingRect();var S=b.margin,M=t.getItemStyle([\"color\",\"opacity\"]);M.fill=t.get(\"backgroundColor\");var T=new a.Rect({shape:{x:_.x-S[3],y:_.y-S[0],width:_.width+S[1]+S[3],height:_.height+S[0]+S[2],r:t.get(\"borderRadius\")},style:M,subPixelOptimize:!0,silent:!0});r.add(T)}}})},function(t,e,n){var i=n(2);n(270),n(271),n(272);var r=n(274),a=n(22);i.registerProcessor(i.PRIORITY.PROCESSOR.SERIES_FILTER,r),a.registerSubTypeDefaulter(\"legend\",(function(){return\"plain\"}))},function(t,e,n){var i=n(2),r=n(0),a=n(16),o=n(1).isNameSpecified,s=n(128).legend.selector,l={all:{type:\"all\",title:r.clone(s.all)},inverse:{type:\"inverse\",title:r.clone(s.inverse)}},u=i.extendComponentModel({type:\"legend.plain\",dependencies:[\"series\"],layoutMode:{type:\"box\",ignoreSize:!0},init:function(t,e,n){this.mergeDefaultAndTheme(t,n),t.selected=t.selected||{},this._updateSelector(t)},mergeOption:function(t){u.superCall(this,\"mergeOption\",t),this._updateSelector(t)},_updateSelector:function(t){var e=t.selector;!0===e&&(e=t.selector=[\"all\",\"inverse\"]),r.isArray(e)&&r.each(e,(function(t,n){r.isString(t)&&(t={type:t}),e[n]=r.merge(t,l[t.type])}))},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&\"single\"===this.get(\"selectedMode\")){for(var e=!1,n=0;n<t.length;n++){var i=t[n].get(\"name\");if(this.isSelected(i)){this.select(i),e=!0;break}}!e&&this.select(t[0].get(\"name\"))}},_updateData:function(t){var e=[],n=[];t.eachRawSeries((function(i){var r,a=i.name;if(n.push(a),i.legendVisualProvider){var s=i.legendVisualProvider.getAllNames();t.isSeriesFiltered(i)||(n=n.concat(s)),s.length?e=e.concat(s):r=!0}else r=!0;r&&o(i)&&e.push(i.name)})),this._availableNames=n;var i=this.get(\"data\")||e,s=r.map(i,(function(t){return\"string\"!=typeof t&&\"number\"!=typeof t||(t={name:t}),new a(t,this,this.ecModel)}),this);this._data=s},getData:function(){return this._data},select:function(t){var e=this.option.selected;if(\"single\"===this.get(\"selectedMode\")){var n=this._data;r.each(n,(function(t){e[t.get(\"name\")]=!1}))}e[t]=!0},unSelect:function(t){\"single\"!==this.get(\"selectedMode\")&&(this.option.selected[t]=!1)},toggleSelected:function(t){var e=this.option.selected;e.hasOwnProperty(t)||(e[t]=!0),this[e[t]?\"unSelect\":\"select\"](t)},allSelect:function(){var t=this._data,e=this.option.selected;r.each(t,(function(t){e[t.get(\"name\",!0)]=!0}))},inverseSelect:function(){var t=this._data,e=this.option.selected;r.each(t,(function(t){var n=t.get(\"name\",!0);e.hasOwnProperty(n)||(e[n]=!0),e[n]=!e[n]}))},isSelected:function(t){var e=this.option.selected;return!(e.hasOwnProperty(t)&&!e[t])&&r.indexOf(this._availableNames,t)>=0},getOrient:function(){return\"vertical\"===this.get(\"orient\")?{index:1,name:\"vertical\"}:{index:0,name:\"horizontal\"}},defaultOption:{zlevel:0,z:4,show:!0,orient:\"horizontal\",left:\"center\",top:0,align:\"auto\",backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:\"#ccc\",inactiveBorderColor:\"#ccc\",itemStyle:{borderWidth:0},textStyle:{color:\"#333\"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:\" sans-serif\",color:\"#666\",borderWidth:1,borderColor:\"#666\"},emphasis:{selectorLabel:{show:!0,color:\"#eee\",backgroundColor:\"#666\"}},selectorPosition:\"auto\",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}}}),h=u;t.exports=h},function(t,e,n){var i=n(2),r=n(0);function a(t,e,n){var i,a={},o=\"toggleSelected\"===t;return n.eachComponent(\"legend\",(function(n){o&&null!=i?n[i?\"select\":\"unSelect\"](e.name):\"allSelect\"===t||\"inverseSelect\"===t?n[t]():(n[t](e.name),i=n.isSelected(e.name));var s=n.getData();r.each(s,(function(t){var e=t.get(\"name\");if(\"\\n\"!==e&&\"\"!==e){var i=n.isSelected(e);a.hasOwnProperty(e)?a[e]=a[e]&&i:a[e]=i}}))})),\"allSelect\"===t||\"inverseSelect\"===t?{selected:a}:{name:e.name,selected:a}}i.registerAction(\"legendToggleSelect\",\"legendselectchanged\",r.curry(a,\"toggleSelected\")),i.registerAction(\"legendAllSelect\",\"legendselectall\",r.curry(a,\"allSelect\")),i.registerAction(\"legendInverseSelect\",\"legendinverseselect\",r.curry(a,\"inverseSelect\")),i.registerAction(\"legendSelect\",\"legendselected\",r.curry(a,\"select\")),i.registerAction(\"legendUnSelect\",\"legendunselected\",r.curry(a,\"unSelect\"))},function(t,e,n){n(5).__DEV__;var i=n(2),r=n(0),a=n(60).createSymbol,o=n(4),s=n(273).makeBackground,l=n(11),u=r.curry,h=r.each,c=o.Group,d=i.extendComponentView({type:\"legend.plain\",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new c),this._backgroundEl,this.group.add(this._selectorGroup=new c),this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get(\"show\",!0)){var a=t.get(\"align\"),o=t.get(\"orient\");a&&\"auto\"!==a||(a=\"right\"===t.get(\"left\")&&\"vertical\"===o?\"right\":\"left\");var u=t.get(\"selector\",!0),h=t.get(\"selectorPosition\",!0);!u||h&&\"auto\"!==h||(h=\"horizontal\"===o?\"end\":\"start\"),this.renderInner(a,t,e,n,u,o,h);var c=t.getBoxLayoutParams(),d={width:n.getWidth(),height:n.getHeight()},f=t.get(\"padding\"),p=l.getLayoutRect(c,d,f),g=this.layoutInner(t,a,p,i,u,h),v=l.getLayoutRect(r.defaults({width:g.width,height:g.height},c),d,f);this.group.attr(\"position\",[v.x-g.x,v.y-g.y]),this.group.add(this._backgroundEl=s(g,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},renderInner:function(t,e,n,i,a,o,s){var l=this.getContentGroup(),d=r.createHashMap(),f=e.get(\"selectedMode\"),m=[];n.eachRawSeries((function(t){!t.get(\"legendHoverLink\")&&m.push(t.id)})),h(e.getData(),(function(r,a){var o=r.get(\"name\");if(this.newlineDisabled||\"\"!==o&&\"\\n\"!==o){var s=n.getSeriesByName(o)[0];if(!d.get(o))if(s){var h=s.getData(),y=h.getVisual(\"color\"),_=h.getVisual(\"borderColor\");\"function\"==typeof y&&(y=y(s.getDataParams(0))),\"function\"==typeof _&&(_=_(s.getDataParams(0)));var x=h.getVisual(\"legendSymbol\")||\"roundRect\",b=h.getVisual(\"symbol\");this._createItem(o,a,r,e,x,b,t,y,_,f).on(\"click\",u(p,o,null,i,m)).on(\"mouseover\",u(g,s.name,null,i,m)).on(\"mouseout\",u(v,s.name,null,i,m)),d.set(o,!0)}else n.eachRawSeries((function(n){if(!d.get(o)&&n.legendVisualProvider){var s=n.legendVisualProvider;if(!s.containName(o))return;var l=s.indexOfName(o),h=s.getItemVisual(l,\"color\"),c=s.getItemVisual(l,\"borderColor\");this._createItem(o,a,r,e,\"roundRect\",null,t,h,c,f).on(\"click\",u(p,null,o,i,m)).on(\"mouseover\",u(g,null,o,i,m)).on(\"mouseout\",u(v,null,o,i,m)),d.set(o,!0)}}),this)}else l.add(new c({newline:!0}))}),this),a&&this._createSelector(a,e,i,o,s)},_createSelector:function(t,e,n,i,r){var a=this.getSelectorGroup();h(t,(function(t){!function(t){var i=t.type,r=new o.Text({style:{x:0,y:0,align:\"center\",verticalAlign:\"middle\"},onclick:function(){n.dispatchAction({type:\"all\"===i?\"legendAllSelect\":\"legendInverseSelect\"})}});a.add(r);var s=e.getModel(\"selectorLabel\"),l=e.getModel(\"emphasis.selectorLabel\");o.setLabelStyle(r.style,r.hoverStyle={},s,l,{defaultText:t.title,isRectText:!1}),o.setHoverStyle(r)}(t)}))},_createItem:function(t,e,n,i,s,l,u,h,d,p){var g=i.get(\"itemWidth\"),v=i.get(\"itemHeight\"),m=i.get(\"inactiveColor\"),y=i.get(\"inactiveBorderColor\"),_=i.get(\"symbolKeepAspect\"),x=i.getModel(\"itemStyle\"),b=i.isSelected(t),w=new c,S=n.getModel(\"textStyle\"),M=n.get(\"icon\"),T=n.getModel(\"tooltip\"),I=T.parentModel,C=a(s=M||s,0,0,g,v,b?h:m,null==_||_);if(w.add(f(C,s,x,d,y,b)),!M&&l&&(l!==s||\"none\"===l)){var D=.8*v;\"none\"===l&&(l=\"circle\");var A=a(l,(g-D)/2,(v-D)/2,D,D,b?h:m,null==_||_);w.add(f(A,l,x,d,y,b))}var k=\"left\"===u?g+5:-5,O=u,P=i.get(\"formatter\"),L=t;\"string\"==typeof P&&P?L=P.replace(\"{name}\",null!=t?t:\"\"):\"function\"==typeof P&&(L=P(t)),w.add(new o.Text({style:o.setTextStyle({},S,{text:L,x:k,y:v/2,textFill:b?S.getTextColor():m,textAlign:O,textVerticalAlign:\"middle\"})}));var R=new o.Rect({shape:w.getBoundingRect(),invisible:!0,tooltip:T.get(\"show\")?r.extend({content:t,formatter:I.get(\"formatter\",!0)||function(){return t},formatterParams:{componentType:\"legend\",legendIndex:i.componentIndex,name:t,$vars:[\"name\"]}},T.option):null});return w.add(R),w.eachChild((function(t){t.silent=!0})),R.silent=!p,this.getContentGroup().add(w),o.setHoverStyle(w),w.__legendDataIndex=e,w},layoutInner:function(t,e,n,i,r,a){var o=this.getContentGroup(),s=this.getSelectorGroup();l.box(t.get(\"orient\"),o,t.get(\"itemGap\"),n.width,n.height);var u=o.getBoundingRect(),h=[-u.x,-u.y];if(r){l.box(\"horizontal\",s,t.get(\"selectorItemGap\",!0));var c=s.getBoundingRect(),d=[-c.x,-c.y],f=t.get(\"selectorButtonGap\",!0),p=t.getOrient().index,g=0===p?\"width\":\"height\",v=0===p?\"height\":\"width\",m=0===p?\"y\":\"x\";\"end\"===a?d[p]+=u[g]+f:h[p]+=c[g]+f,d[1-p]+=u[v]/2-c[v]/2,s.attr(\"position\",d),o.attr(\"position\",h);var y={x:0,y:0};return y[g]=u[g]+f+c[g],y[v]=Math.max(u[v],c[v]),y[m]=Math.min(0,c[m]+d[1-p]),y}return o.attr(\"position\",h),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});function f(t,e,n,i,r,a){var o;return\"line\"!==e&&e.indexOf(\"empty\")<0?(o=n.getItemStyle(),t.style.stroke=i,a||(o.stroke=r)):o=n.getItemStyle([\"borderWidth\",\"borderColor\"]),t.setStyle(o)}function p(t,e,n,i){v(t,e,n,i),n.dispatchAction({type:\"legendToggleSelect\",name:null!=t?t:e}),g(t,e,n,i)}function g(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:\"highlight\",seriesName:t,name:e,excludeSeriesId:i})}function v(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:\"downplay\",seriesName:t,name:e,excludeSeriesId:i})}t.exports=d},function(t,e,n){var i=n(11),r=i.getLayoutRect,a=i.box,o=i.positionElement,s=n(9),l=n(4);e.layout=function(t,e,n){var i=e.getBoxLayoutParams(),s=e.get(\"padding\"),l={width:n.getWidth(),height:n.getHeight()},u=r(i,l,s);a(e.get(\"orient\"),t,e.get(\"itemGap\"),u.width,u.height),o(t,i,l,s)},e.makeBackground=function(t,e){var n=s.normalizeCssArray(e.get(\"padding\")),i=e.getItemStyle([\"color\",\"opacity\"]);return i.fill=e.get(\"backgroundColor\"),t=new l.Rect({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get(\"borderRadius\")},style:i,silent:!0,z2:-1})}},function(t,e){t.exports=function(t){var e=t.findComponents({mainType:\"legend\"});e&&e.length&&t.filterSeries((function(t){for(var n=0;n<e.length;n++)if(!e[n].isSelected(t.name))return!1;return!0}))}},function(t,e,n){var i=n(2);n(276),n(285),n(286),i.registerAction({type:\"showTip\",event:\"showTip\",update:\"tooltip:manuallyShowTip\"},(function(){})),i.registerAction({type:\"hideTip\",event:\"hideTip\",update:\"tooltip:manuallyHideTip\"},(function(){}))},function(t,e,n){var i=n(2),r=n(0),a=n(61),o=n(277);n(278),n(279),n(280),i.registerPreprocessor((function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!r.isArray(e)&&(t.axisPointer.link=[e])}})),i.registerProcessor(i.PRIORITY.PROCESSOR.STATISTIC,(function(t,e){t.getComponent(\"axisPointer\").coordSysAxesInfo=a.collect(t,e)})),i.registerAction({type:\"updateAxisPointer\",event:\"updateAxisPointer\",update:\":updateAxisPointer\"},o)},function(t,e,n){var i=n(0),r=n(1).makeInner,a=n(61),o=n(142),s=i.each,l=i.curry,u=r();function h(t,e,n,r,a){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var l=function(t,e){var n=e.axis,i=n.dim,r=t,a=[],o=Number.MAX_VALUE,l=-1;return s(e.seriesModels,(function(e,u){var h,c,d=e.getData().mapDimension(i,!0);if(e.getAxisTooltipData){var f=e.getAxisTooltipData(d,t,n);c=f.dataIndices,h=f.nestestValue}else{if(!(c=e.getData().indicesOfNearest(d[0],t,\"category\"===n.type?.5:null)).length)return;h=e.getData().get(d[0],c[0])}if(null!=h&&isFinite(h)){var p=t-h,g=Math.abs(p);g<=o&&((g<o||p>=0&&l<0)&&(o=g,l=p,r=h,a.length=0),s(c,(function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})})))}})),{payloadBatch:a,snapToValue:r}}(e,t),u=l.payloadBatch,h=l.snapToValue;u[0]&&null==a.seriesIndex&&i.extend(a,u[0]),!r&&t.snap&&o.containData(h)&&null!=h&&(e=h),n.showPointer(t,e,u,a),n.showTooltip(t,l,h)}else n.showPointer(t,e)}function c(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function d(t,e,n,i){var r=n.payloadBatch,o=e.axis,s=o.model,l=e.axisPointerModel;if(e.triggerTooltip&&r.length){var u=e.coordSys.model,h=a.makeKey(u),c=t.map[h];c||(c=t.map[h]={coordSysId:u.id,coordSysIndex:u.componentIndex,coordSysType:u.type,coordSysMainType:u.mainType,dataByAxis:[]},t.list.push(c)),c.dataByAxis.push({axisDim:o.dim,axisIndex:s.componentIndex,axisType:s.type,axisId:s.id,value:i,valueLabelOpt:{precision:l.get(\"label.precision\"),formatter:l.get(\"label.formatter\")},seriesDataIndices:r.slice()})}}function f(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+\"AxisIndex\"]=e.componentIndex,n.axisName=n[i+\"AxisName\"]=e.name,n.axisId=n[i+\"AxisId\"]=e.id,n}function p(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}t.exports=function(t,e,n){var r=t.currTrigger,a=[t.x,t.y],g=t,v=t.dispatchAction||i.bind(n.dispatchAction,n),m=e.getComponent(\"axisPointer\").coordSysAxesInfo;if(m){p(a)&&(a=o({seriesIndex:g.seriesIndex,dataIndex:g.dataIndex},e).point);var y=p(a),_=g.axesInfo,x=m.axesInfo,b=\"leave\"===r||p(a),w={},S={},M={list:[],map:{}},T={showPointer:l(c,S),showTooltip:l(d,M)};s(m.coordSysMap,(function(t,e){var n=y||t.containPoint(a);s(m.coordSysAxesInfo[e],(function(t,e){var i=t.axis,r=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(_,t);if(!b&&n&&(!_||r)){var o=r&&r.value;null!=o||y||(o=i.pointToData(a)),null!=o&&h(t,o,T,!1,w)}}))}));var I={};return s(x,(function(t,e){var n=t.linkGroup;n&&!S[e]&&s(n.axesInfo,(function(e,i){var r=S[i];if(e!==t&&r){var a=r.value;n.mapper&&(a=t.axis.scale.parse(n.mapper(a,f(e),f(t)))),I[t.key]=a}}))})),s(I,(function(t,e){h(x[e],t,T,!0,w)})),function(t,e,n){var i=n.axesInfo=[];s(e,(function(e,n){var r=e.axisPointerModel.option,a=t[n];a?(!e.useHandle&&(r.status=\"show\"),r.value=a.value,r.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(r.status=\"hide\"),\"show\"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})}))}(S,x,w),function(t,e,n,i){if(p(e)||!t.list.length)return void i({type:\"hideTip\"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:\"showTip\",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}(M,a,t,v),function(t,e,n){var r=n.getZr(),a=u(r).axisPointerLastHighlights||{},o=u(r).axisPointerLastHighlights={};s(t,(function(t,e){var n=t.axisPointerModel.option;\"show\"===n.status&&s(n.seriesDataIndices,(function(t){var e=t.seriesIndex+\" | \"+t.dataIndex;o[e]=t}))}));var l=[],h=[];i.each(a,(function(t,e){!o[e]&&h.push(t)})),i.each(o,(function(t,e){!a[e]&&l.push(t)})),h.length&&n.dispatchAction({type:\"downplay\",escapeConnect:!0,batch:h}),l.length&&n.dispatchAction({type:\"highlight\",escapeConnect:!0,batch:l})}(x,0,n),w}}},function(t,e,n){var i=n(2).extendComponentModel({type:\"axisPointer\",coordSysAxesInfo:null,defaultOption:{show:\"auto\",triggerOn:null,zlevel:0,z:50,type:\"line\",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:\"#aaa\",width:1,type:\"solid\"},shadowStyle:{color:\"rgba(150,150,150,0.3)\"},label:{show:!0,formatter:null,precision:\"auto\",margin:3,color:\"#fff\",padding:[5,7,5,7],backgroundColor:\"auto\",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:\"#aaa\"},handle:{show:!1,icon:\"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z\",size:45,margin:50,color:\"#333\",shadowBlur:3,shadowColor:\"#aaa\",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}});t.exports=i},function(t,e,n){var i=n(2),r=n(143),a=i.extendComponentView({type:\"axisPointer\",render:function(t,e,n){var i=e.getComponent(\"tooltip\"),a=t.get(\"triggerOn\")||i&&i.get(\"triggerOn\")||\"mousemove|click\";r.register(\"axisPointer\",n,(function(t,e,n){\"none\"!==a&&(\"leave\"===t||a.indexOf(t)>=0)&&n({type:\"updateAxisPointer\",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})}))},remove:function(t,e){r.unregister(e.getZr(),\"axisPointer\"),a.superApply(this._model,\"remove\",arguments)},dispose:function(t,e){r.unregister(\"axisPointer\",e),a.superApply(this._model,\"dispose\",arguments)}}),o=a;t.exports=o},function(t,e,n){var i=n(281),r=n(144),a=n(283),o=n(284),s=i.extend({makeElOption:function(t,e,n,i,o){var s=n.axis,h=s.grid,c=i.get(\"type\"),d=l(h,s).getOtherAxis(s).getGlobalExtent(),f=s.toGlobalCoord(s.dataToCoord(e,!0));if(c&&\"none\"!==c){var p=r.buildElStyle(i),g=u[c](s,f,d);g.style=p,t.graphicKey=g.type,t.pointer=g}var v=a.layout(h.model,n);r.buildCartesianSingleLabelElOption(e,t,v,n,i,o)},getHandleTransform:function(t,e,n){var i=a.layout(e.axis.grid.model,e,{labelInside:!1});return i.labelMargin=n.get(\"handle.margin\"),{position:r.getTransformedPosition(e.axis,t,i),rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,n,i){var r=n.axis,a=r.grid,o=r.getGlobalExtent(!0),s=l(a,r).getOtherAxis(r).getGlobalExtent(),u=\"x\"===r.dim?0:1,h=t.position;h[u]+=e[u],h[u]=Math.min(o[1],h[u]),h[u]=Math.max(o[0],h[u]);var c=(s[1]+s[0])/2,d=[c,c];d[u]=h[u];return{position:h,rotation:t.rotation,cursorPoint:d,tooltipOption:[{verticalAlign:\"middle\"},{align:\"center\"}][u]}}});function l(t,e){var n={};return n[e.dim+\"AxisIndex\"]=e.index,t.getCartesian(n)}var u={line:function(t,e,n){return{type:\"Line\",subPixelOptimize:!0,shape:r.makeLineShape([e,n[0]],[e,n[1]],h(t))}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),a=n[1]-n[0];return{type:\"Rect\",shape:r.makeRectShape([e-i/2,n[0]],[i,a],h(t))}}};function h(t){return\"x\"===t.dim?0:1}o.registerAxisPointerClass(\"CartesianAxisPointer\",s);var c=s;t.exports=c},function(t,e,n){var i=n(0),r=n(21),a=n(4),o=n(61),s=n(24),l=n(80),u=(0,n(1).makeInner)(),h=i.clone,c=i.bind;function d(){}function f(t,e,n,r){(function t(e,n){if(i.isObject(e)&&i.isObject(n)){var r=!0;return i.each(n,(function(n,i){r=r&&t(e[i],n)})),!!r}return e===n})(u(n).lastProp,r)||(u(n).lastProp=r,e?a.updateProps(n,r,t):(n.stopAnimation(),n.attr(r)))}function p(t,e){t[e.get(\"label.show\")?\"show\":\"hide\"]()}function g(t){return{position:t.position.slice(),rotation:t.rotation||0}}function v(t,e,n){var i=e.get(\"z\"),r=e.get(\"zlevel\");t&&t.traverse((function(t){\"group\"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)}))}d.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,n,r){var o=e.get(\"value\"),s=e.get(\"status\");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,r||this._lastValue!==o||this._lastStatus!==s){this._lastValue=o,this._lastStatus=s;var l=this._group,u=this._handle;if(!s||\"hide\"===s)return l&&l.hide(),void(u&&u.hide());l&&l.show(),u&&u.show();var h={};this.makeElOption(h,o,t,e,n);var c=h.graphicKey;c!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=c;var d=this._moveAnimation=this.determineAnimation(t,e);if(l){var p=i.curry(f,e,d);this.updatePointerEl(l,h,p,e),this.updateLabelEl(l,h,p,e)}else l=this._group=new a.Group,this.createPointerEl(l,h,t,e),this.createLabelEl(l,h,t,e),n.getZr().add(l);v(l,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var n=e.get(\"animation\"),i=t.axis,r=\"category\"===i.type,a=e.get(\"snap\");if(!a&&!r)return!1;if(\"auto\"===n||null==n){var s=this.animationThreshold;if(r&&i.getBandWidth()>s)return!0;if(a){var l=o.getAxisInfo(t).seriesDataCount,u=i.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return!0===n},makeElOption:function(t,e,n,i,r){},createPointerEl:function(t,e,n,i){var r=e.pointer;if(r){var o=u(t).pointerEl=new a[r.type](h(e.pointer));t.add(o)}},createLabelEl:function(t,e,n,i){if(e.label){var r=u(t).labelEl=new a.Rect(h(e.label));t.add(r),p(r,i)}},updatePointerEl:function(t,e,n){var i=u(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,n,i){var r=u(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{shape:e.label.shape,position:e.label.position}),p(r,i))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e,n=this._axisPointerModel,r=this._api.getZr(),o=this._handle,u=n.getModel(\"handle\"),h=n.get(\"status\");if(!u.get(\"show\")||!h||\"hide\"===h)return o&&r.remove(o),void(this._handle=null);this._handle||(e=!0,o=this._handle=a.createIcon(u.get(\"icon\"),{cursor:\"move\",draggable:!0,onmousemove:function(t){s.stop(t.event)},onmousedown:c(this._onHandleDragMove,this,0,0),drift:c(this._onHandleDragMove,this),ondragend:c(this._onHandleDragEnd,this)}),r.add(o)),v(o,n,!1);o.setStyle(u.getItemStyle(null,[\"color\",\"borderColor\",\"borderWidth\",\"opacity\",\"shadowColor\",\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\"]));var d=u.get(\"size\");i.isArray(d)||(d=[d,d]),o.attr(\"scale\",[d[0]/2,d[1]/2]),l.createOrUpdate(this,\"_doDispatchAxisPointer\",u.get(\"throttle\")||0,\"fixRate\"),this._moveHandleToValue(t,e)}},_moveHandleToValue:function(t,e){f(this._axisPointerModel,!e&&this._moveAnimation,this._handle,g(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(g(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(g(i)),u(n).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:\"updateAxisPointer\",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get(\"value\");this._moveHandleToValue(e),this._api.dispatchAction({type:\"hideTip\"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}}},d.prototype.constructor=d,r.enableClassExtend(d);var m=d;t.exports=m},function(t,e,n){var i=n(0),r=i.retrieve,a=i.defaults,o=i.extend,s=i.each,l=n(9),u=n(4),h=n(16),c=n(3),d=c.isRadianAroundZero,f=c.remRadian,p=n(60).createSymbol,g=n(25),v=n(7).applyTransform,m=n(43).shouldShowAllLabels,y=Math.PI,_=function(t,e){this.opt=e,this.axisModel=t,a(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new u.Group;var n=new u.Group({position:e.position.slice(),rotation:e.rotation});n.updateTransform(),this._transform=n.transform,this._dumbGroup=n};_.prototype={constructor:_,hasBuilder:function(t){return!!x[t]},add:function(t){x[t].call(this)},getGroup:function(){return this.group}};var x={axisLine:function(){var t=this.opt,e=this.axisModel;if(e.get(\"axisLine.show\")){var n=this.axisModel.axis.getExtent(),i=this._transform,r=[n[0],0],a=[n[1],0];i&&(v(r,r,i),v(a,a,i));var l=o({lineCap:\"round\"},e.getModel(\"axisLine.lineStyle\").getLineStyle());this.group.add(new u.Line({anid:\"line\",subPixelOptimize:!0,shape:{x1:r[0],y1:r[1],x2:a[0],y2:a[1]},style:l,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1}));var h=e.get(\"axisLine.symbol\"),c=e.get(\"axisLine.symbolSize\"),d=e.get(\"axisLine.symbolOffset\")||0;if(\"number\"==typeof d&&(d=[d,d]),null!=h){\"string\"==typeof h&&(h=[h,h]),\"string\"!=typeof c&&\"number\"!=typeof c||(c=[c,c]);var f=c[0],g=c[1];s([{rotate:t.rotation+Math.PI/2,offset:d[0],r:0},{rotate:t.rotation-Math.PI/2,offset:d[1],r:Math.sqrt((r[0]-a[0])*(r[0]-a[0])+(r[1]-a[1])*(r[1]-a[1]))}],(function(e,n){if(\"none\"!==h[n]&&null!=h[n]){var i=p(h[n],-f/2,-g/2,f,g,l.stroke,!0),a=e.r+e.offset,o=[r[0]+a*Math.cos(t.rotation),r[1]-a*Math.sin(t.rotation)];i.attr({rotation:e.rotate,position:o,silent:!0,z2:11}),this.group.add(i)}}),this)}}},axisTickLabel:function(){var t=this.axisModel,e=this.opt,n=function(t,e,n){var i=e.axis,r=e.getModel(\"axisTick\");if(!r.get(\"show\")||i.scale.isBlank())return;for(var o=r.getModel(\"lineStyle\"),s=n.tickDirection*r.get(\"length\"),l=C(i.getTicksCoords(),t._transform,s,a(o.getLineStyle(),{stroke:e.get(\"axisLine.lineStyle.color\")}),\"ticks\"),u=0;u<l.length;u++)t.group.add(l[u]);return l}(this,t,e),i=function(t,e,n){var i=e.axis;if(!r(n.axisLabelShow,e.get(\"axisLabel.show\"))||i.scale.isBlank())return;var a=e.getModel(\"axisLabel\"),o=a.get(\"margin\"),l=i.getViewLabels(),c=(r(n.labelRotate,a.get(\"rotate\"))||0)*y/180,d=w(n.rotation,c,n.labelDirection),f=e.getCategories&&e.getCategories(!0),p=[],g=S(e),v=e.get(\"triggerEvent\");return s(l,(function(r,s){var l=r.tickValue,c=r.formattedLabel,m=r.rawLabel,y=a;f&&f[l]&&f[l].textStyle&&(y=new h(f[l].textStyle,a,e.ecModel));var _=y.getTextColor()||e.get(\"axisLine.lineStyle.color\"),x=[i.dataToCoord(l),n.labelOffset+n.labelDirection*o],w=new u.Text({anid:\"label_\"+l,position:x,rotation:d.rotation,silent:g,z2:10});u.setTextStyle(w.style,y,{text:c,textAlign:y.getShallow(\"align\",!0)||d.textAlign,textVerticalAlign:y.getShallow(\"verticalAlign\",!0)||y.getShallow(\"baseline\",!0)||d.textVerticalAlign,textFill:\"function\"==typeof _?_(\"category\"===i.type?m:\"value\"===i.type?l+\"\":l,s):_}),v&&(w.eventData=b(e),w.eventData.targetType=\"axisLabel\",w.eventData.value=m),t._dumbGroup.add(w),w.updateTransform(),p.push(w),t.group.add(w),w.decomposeTransform()})),p}(this,t,e);!function(t,e,n){if(m(t.axis))return;var i=t.get(\"axisLabel.showMinLabel\"),r=t.get(\"axisLabel.showMaxLabel\");n=n||[];var a=(e=e||[])[0],o=e[1],s=e[e.length-1],l=e[e.length-2],u=n[0],h=n[1],c=n[n.length-1],d=n[n.length-2];!1===i?(M(a),M(u)):T(a,o)&&(i?(M(o),M(h)):(M(a),M(u)));!1===r?(M(s),M(c)):T(l,s)&&(r?(M(l),M(d)):(M(s),M(c)))}(t,i,n),function(t,e,n){var i=e.axis,r=e.getModel(\"minorTick\");if(!r.get(\"show\")||i.scale.isBlank())return;var o=i.getMinorTicksCoords();if(!o.length)return;for(var s=r.getModel(\"lineStyle\"),l=n.tickDirection*r.get(\"length\"),u=a(s.getLineStyle(),a(e.getModel(\"axisTick\").getLineStyle(),{stroke:e.get(\"axisLine.lineStyle.color\")})),h=0;h<o.length;h++)for(var c=C(o[h],t._transform,l,u,\"minorticks_\"+h),d=0;d<c.length;d++)t.group.add(c[d])}(this,t,e)},axisName:function(){var t=this.opt,e=this.axisModel,n=r(t.axisName,e.get(\"name\"));if(n){var i,a,s=e.get(\"nameLocation\"),h=t.nameDirection,c=e.getModel(\"nameTextStyle\"),p=e.get(\"nameGap\")||0,g=this.axisModel.axis.getExtent(),v=g[0]>g[1]?-1:1,m=[\"start\"===s?g[0]-v*p:\"end\"===s?g[1]+v*p:(g[0]+g[1])/2,I(s)?t.labelOffset+h*p:0],_=e.get(\"nameRotate\");null!=_&&(_=_*y/180),I(s)?i=w(t.rotation,null!=_?_:t.rotation,h):(i=function(t,e,n,i){var r,a,o=f(n-t.rotation),s=i[0]>i[1],l=\"start\"===e&&!s||\"start\"!==e&&s;d(o-y/2)?(a=l?\"bottom\":\"top\",r=\"center\"):d(o-1.5*y)?(a=l?\"top\":\"bottom\",r=\"center\"):(a=\"middle\",r=o<1.5*y&&o>y/2?l?\"left\":\"right\":l?\"right\":\"left\");return{rotation:o,textAlign:r,textVerticalAlign:a}}(t,s,_||0,g),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(i.rotation)),!isFinite(a)&&(a=null)));var x=c.getFont(),M=e.get(\"nameTruncate\",!0)||{},T=M.ellipsis,C=r(t.nameTruncateMaxWidth,M.maxWidth,a),D=null!=T&&null!=C?l.truncateText(n,C,x,T,{minChar:2,placeholder:M.placeholder}):n,A=e.get(\"tooltip\",!0),k=e.mainType,O={componentType:k,name:n,$vars:[\"name\"]};O[k+\"Index\"]=e.componentIndex;var P=new u.Text({anid:\"name\",__fullText:n,__truncatedText:D,position:m,rotation:i.rotation,silent:S(e),z2:1,tooltip:A&&A.show?o({content:n,formatter:function(){return n},formatterParams:O},A):null});u.setTextStyle(P.style,c,{text:D,textFont:x,textFill:c.getTextColor()||e.get(\"axisLine.lineStyle.color\"),textAlign:c.get(\"align\")||i.textAlign,textVerticalAlign:c.get(\"verticalAlign\")||i.textVerticalAlign}),e.get(\"triggerEvent\")&&(P.eventData=b(e),P.eventData.targetType=\"axisName\",P.eventData.name=n),this._dumbGroup.add(P),P.updateTransform(),this.group.add(P),P.decomposeTransform()}}},b=_.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+\"Index\"]=t.componentIndex,e},w=_.innerTextLayout=function(t,e,n){var i,r,a=f(e-t);return d(a)?(r=n>0?\"top\":\"bottom\",i=\"center\"):d(a-y)?(r=n>0?\"bottom\":\"top\",i=\"center\"):(r=\"middle\",i=a>0&&a<y?n>0?\"right\":\"left\":n>0?\"left\":\"right\"),{rotation:a,textAlign:i,textVerticalAlign:r}};var S=_.isLabelSilent=function(t){var e=t.get(\"tooltip\");return t.get(\"silent\")||!(t.get(\"triggerEvent\")||e&&e.show)};function M(t){t&&(t.ignore=!0)}function T(t,e,n){var i=t&&t.getBoundingRect().clone(),r=e&&e.getBoundingRect().clone();if(i&&r){var a=g.identity([]);return g.rotate(a,a,-t.rotation),i.applyTransform(g.mul([],a,t.getLocalTransform())),r.applyTransform(g.mul([],a,e.getLocalTransform())),i.intersect(r)}}function I(t){return\"middle\"===t||\"center\"===t}function C(t,e,n,i,r){for(var a=[],o=[],s=[],l=0;l<t.length;l++){var h=t[l].coord;o[0]=h,o[1]=0,s[0]=h,s[1]=n,e&&(v(o,o,e),v(s,s,e));var c=new u.Line({anid:r+\"_\"+t[l].tickValue,subPixelOptimize:!0,shape:{x1:o[0],y1:o[1],x2:s[0],y2:s[1]},style:i,z2:2,silent:!0});a.push(c)}return a}var D=_;t.exports=D},function(t,e,n){var i=n(0);e.layout=function(t,e,n){n=n||{};var r=t.coordinateSystem,a=e.axis,o={},s=a.getAxesOnZeroOf()[0],l=a.position,u=s?\"onZero\":l,h=a.dim,c=r.getRect(),d=[c.x,c.x+c.width,c.y,c.y+c.height],f={left:0,right:1,top:0,bottom:1,onZero:2},p=e.get(\"offset\")||0,g=\"x\"===h?[d[2]-p,d[3]+p]:[d[0]-p,d[1]+p];if(s){var v=s.toGlobalCoord(s.dataToCoord(0));g[f.onZero]=Math.max(Math.min(v,g[1]),g[0])}o.position=[\"y\"===h?g[f[u]]:d[0],\"x\"===h?g[f[u]]:d[3]],o.rotation=Math.PI/2*(\"x\"===h?0:1),o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[l],o.labelOffset=s?g[f[l]]-g[f.onZero]:0,e.get(\"axisTick.inside\")&&(o.tickDirection=-o.tickDirection),i.retrieve(n.labelInside,e.get(\"axisLabel.inside\"))&&(o.labelDirection=-o.labelDirection);var m=e.get(\"axisLabel.rotate\");return o.labelRotate=\"top\"===u?-m:m,o.z2=1,o}},function(t,e,n){n(5).__DEV__;var i=n(2),r=n(61),a=i.extendComponentView({type:\"axis\",_axisPointer:null,axisPointerClass:null,render:function(t,e,n,i){this.axisPointerClass&&r.fixValue(t),a.superApply(this,\"render\",arguments),o(this,t,e,n,i,!0)},updateAxisPointer:function(t,e,n,i,r){o(this,t,e,n,i,!1)},remove:function(t,e){var n=this._axisPointer;n&&n.remove(e),a.superApply(this,\"remove\",arguments)},dispose:function(t,e){s(this,e),a.superApply(this,\"dispose\",arguments)}});function o(t,e,n,i,o,l){var u=a.getAxisPointerClass(t.axisPointerClass);if(u){var h=r.getAxisPointerModel(e);h?(t._axisPointer||(t._axisPointer=new u)).render(e,h,i,l):s(t,i)}}function s(t,e,n){var i=t._axisPointer;i&&i.dispose(e,n),t._axisPointer=null}var l=[];a.registerAxisPointerClass=function(t,e){l[t]=e},a.getAxisPointerClass=function(t){return t&&l[t]};var u=a;t.exports=u},function(t,e,n){var i=n(2).extendComponentModel({type:\"tooltip\",dependencies:[\"axisPointer\"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:\"item\",triggerOn:\"mousemove|click\",alwaysShowContent:!1,displayMode:\"single\",renderMode:\"auto\",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:\"rgba(50,50,50,0.7)\",borderColor:\"#333\",borderRadius:4,borderWidth:0,padding:5,extraCssText:\"\",axisPointer:{type:\"line\",axis:\"auto\",animation:\"auto\",animationDurationUpdate:200,animationEasingUpdate:\"exponentialOut\",crossStyle:{color:\"#999\",width:1,type:\"dashed\",textStyle:{}}},textStyle:{color:\"#fff\",fontSize:14}}});t.exports=i},function(t,e,n){var i=n(2),r=n(0),a=n(6),o=n(287),s=n(288),l=n(9),u=n(3),h=n(4),c=n(142),d=n(11),f=n(16),p=n(143),g=n(43),v=n(144),m=n(1).getTooltipRenderMode,y=r.bind,_=r.each,x=u.parsePercent,b=new h.Rect({shape:{x:-1,y:-1,width:2,height:2}}),w=i.extendComponentView({type:\"tooltip\",init:function(t,e){if(!a.node){var n,i=t.getComponent(\"tooltip\"),r=i.get(\"renderMode\");this._renderMode=m(r),\"html\"===this._renderMode?(n=new o(e.getDom(),e,{appendToBody:i.get(\"appendToBody\",!0)}),this._newLine=\"<br/>\"):(n=new s(e),this._newLine=\"\\n\"),this._tooltipContent=n}},render:function(t,e,n){if(!a.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=n,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get(\"alwaysShowContent\");var i=this._tooltipContent;i.update(t),i.setEnterable(t.get(\"enterable\")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get(\"triggerOn\");p.register(\"itemTooltip\",this._api,y((function(e,n,i){\"none\"!==t&&(t.indexOf(e)>=0?this._tryShow(n,i):\"leave\"===e&&this._hide(i))}),this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,n=this._api;if(null!=this._lastX&&null!=this._lastY&&\"none\"!==t.get(\"triggerOn\")){var i=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout((function(){!n.isDisposed()&&i.manuallyShowTip(t,e,n,{x:i._lastX,y:i._lastY})}))}},manuallyShowTip:function(t,e,n,i){if(i.from!==this.uid&&!a.node){var r=M(i,n);this._ticket=\"\";var o=i.dataByCoordSys;if(i.tooltip&&null!=i.x&&null!=i.y){var s=b;s.position=[i.x,i.y],s.update(),s.tooltip=i.tooltip,this._tryShow({offsetX:i.x,offsetY:i.y,target:s},r)}else if(o)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:i.dataByCoordSys,tooltipOption:i.tooltipOption},r);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var l=c(i,e),u=l.point[0],h=l.point[1];null!=u&&null!=h&&this._tryShow({offsetX:u,offsetY:h,position:i.position,target:l.el},r)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:\"updateAxisPointer\",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},r))}},manuallyHideTip:function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get(\"hideDelay\")),this._lastX=this._lastY=null,i.from!==this.uid&&this._hide(M(i,n))},_manuallyAxisShowTip:function(t,e,n,i){var r=i.seriesIndex,a=i.dataIndex,o=e.getComponent(\"axisPointer\").coordSysAxesInfo;if(null!=r&&null!=a&&null!=o){var s=e.getSeriesByIndex(r);if(s)if(\"axis\"===(t=S([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get(\"trigger\"))return n.dispatchAction({type:\"updateAxisPointer\",seriesIndex:r,dataIndex:a,position:i.position}),!0}},_tryShow:function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;i&&i.length?this._showAxisTooltip(i,t):n&&null!=n.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,n,e)):n&&n.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,n,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var n=t.get(\"showDelay\");e=r.bind(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},_showAxisTooltip:function(t,e){var n=this._ecModel,i=this._tooltipModel,a=[e.offsetX,e.offsetY],o=[],s=[],u=S([e.tooltipOption,i]),h=this._renderMode,c=this._newLine,d={};_(t,(function(t){_(t.dataByAxis,(function(t){var e=n.getComponent(t.axisDim+\"Axis\",t.axisIndex),i=t.value,a=[];if(e&&null!=i){var u=v.getValueLabel(i,e.axis,n,t.seriesDataIndices,t.valueLabelOpt);r.each(t.seriesDataIndices,(function(o){var l=n.getSeriesByIndex(o.seriesIndex),c=o.dataIndexInside,f=l&&l.getDataParams(c);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=g.getAxisRawValue(e.axis,i),f.axisValueLabel=u,f){s.push(f);var p,v=l.formatTooltip(c,!0,null,h);if(r.isObject(v)){p=v.html;var m=v.markers;r.merge(d,m)}else p=v;a.push(p)}}));var f=u;\"html\"!==h?o.push(a.join(c)):o.push((f?l.encodeHTML(f)+c:\"\")+a.join(c))}}))}),this),o.reverse(),o=o.join(this._newLine+this._newLine);var f=e.position;this._showOrMove(u,(function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(u,f,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(u,o,s,Math.random(),a[0],a[1],f,void 0,d)}))},_showSeriesItemTooltip:function(t,e,n){var i=this._ecModel,a=e.seriesIndex,o=i.getSeriesByIndex(a),s=e.dataModel||o,l=e.dataIndex,u=e.dataType,h=s.getData(u),c=S([h.getItemModel(l),s,o&&(o.coordinateSystem||{}).model,this._tooltipModel]),d=c.get(\"trigger\");if(null==d||\"item\"===d){var f,p,g=s.getDataParams(l,u),v=s.formatTooltip(l,!1,u,this._renderMode);r.isObject(v)?(f=v.html,p=v.markers):(f=v,p=null);var m=\"item_\"+s.name+\"_\"+l;this._showOrMove(c,(function(){this._showTooltipContent(c,f,g,m,t.offsetX,t.offsetY,t.position,t.target,p)})),n({type:\"showTip\",dataIndexInside:l,dataIndex:h.getRawIndex(l),seriesIndex:a,from:this.uid})}},_showComponentItemTooltip:function(t,e,n){var i=e.tooltip;if(\"string\"==typeof i){i={content:i,formatter:i}}var r=new f(i,this._tooltipModel,this._ecModel),a=r.get(\"content\"),o=Math.random();this._showOrMove(r,(function(){this._showTooltipContent(r,a,r.get(\"formatterParams\")||{},o,t.offsetX,t.offsetY,t.position,e)})),n({type:\"showTip\",from:this.uid})},_showTooltipContent:function(t,e,n,i,r,a,o,s,u){if(this._ticket=\"\",t.get(\"showContent\")&&t.get(\"show\")){var h=this._tooltipContent,c=t.get(\"formatter\");o=o||t.get(\"position\");var d=e;if(c&&\"string\"==typeof c)d=l.formatTpl(c,n,!0);else if(\"function\"==typeof c){var f=y((function(e,i){e===this._ticket&&(h.setContent(i,u,t),this._updatePosition(t,o,r,a,h,n,s))}),this);this._ticket=i,d=c(n,i,f)}h.setContent(d,u,t),h.show(t),this._updatePosition(t,o,r,a,h,n,s)}},_updatePosition:function(t,e,n,i,a,o,s){var l=this._api.getWidth(),u=this._api.getHeight();e=e||t.get(\"position\");var h=a.getSize(),c=t.get(\"align\"),f=t.get(\"verticalAlign\"),p=s&&s.getBoundingRect().clone();if(s&&p.applyTransform(s.transform),\"function\"==typeof e&&(e=e([n,i],o,a.el,p,{viewSize:[l,u],contentSize:h.slice()})),r.isArray(e))n=x(e[0],l),i=x(e[1],u);else if(r.isObject(e)){e.width=h[0],e.height=h[1];var g=d.getLayoutRect(e,{width:l,height:u});n=g.x,i=g.y,c=null,f=null}else if(\"string\"==typeof e&&s){var v=function(t,e,n){var i=n[0],r=n[1],a=0,o=0,s=e.width,l=e.height;switch(t){case\"inside\":a=e.x+s/2-i/2,o=e.y+l/2-r/2;break;case\"top\":a=e.x+s/2-i/2,o=e.y-r-5;break;case\"bottom\":a=e.x+s/2-i/2,o=e.y+l+5;break;case\"left\":a=e.x-i-5,o=e.y+l/2-r/2;break;case\"right\":a=e.x+s+5,o=e.y+l/2-r/2}return[a,o]}(e,p,h);n=v[0],i=v[1]}else{v=function(t,e,n,i,r,a,o){var s=n.getOuterSize(),l=s.width,u=s.height;null!=a&&(t+l+a>i?t-=l+a:t+=a);null!=o&&(e+u+o>r?e-=u+o:e+=o);return[t,e]}(n,i,a,l,u,c?null:20,f?null:20);n=v[0],i=v[1]}if(c&&(n-=T(c)?h[0]/2:\"right\"===c?h[0]:0),f&&(i-=T(f)?h[1]/2:\"bottom\"===f?h[1]:0),t.get(\"confine\")){v=function(t,e,n,i,r){var a=n.getOuterSize(),o=a.width,s=a.height;return t=Math.min(t+o,i)-o,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(n,i,a,l,u);n=v[0],i=v[1]}a.moveTo(n,i)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,n=!!e&&e.length===t.length;return n&&_(e,(function(e,i){var r=e.dataByAxis||{},a=(t[i]||{}).dataByAxis||[];(n&=r.length===a.length)&&_(r,(function(t,e){var i=a[e]||{},r=t.seriesDataIndices||[],o=i.seriesDataIndices||[];(n&=t.value===i.value&&t.axisType===i.axisType&&t.axisId===i.axisId&&r.length===o.length)&&_(r,(function(t,e){var i=o[e];n&=t.seriesIndex===i.seriesIndex&&t.dataIndex===i.dataIndex}))}))})),this._lastDataByCoordSys=t,!!n},_hide:function(t){this._lastDataByCoordSys=null,t({type:\"hideTip\",from:this.uid})},dispose:function(t,e){a.node||(this._tooltipContent.dispose(),p.unregister(\"itemTooltip\",e))}});function S(t){for(var e=t.pop();t.length;){var n=t.pop();n&&(f.isInstance(n)&&(n=n.get(\"tooltip\",!0)),\"string\"==typeof n&&(n={formatter:n}),e=new f(n,e,e.ecModel))}return e}function M(t,e){return t.dispatchAction||r.bind(e.dispatchAction,e)}function T(t){return\"center\"===t||\"middle\"===t}t.exports=w},function(t,e,n){var i=n(0),r=n(30),a=n(24),o=n(100),s=n(6),l=n(9),u=i.each,h=l.toCamelCase,c=[\"\",\"-webkit-\",\"-moz-\",\"-o-\"];function d(t){var e,n,a=[],o=t.get(\"transitionDuration\"),d=t.get(\"backgroundColor\"),f=t.getModel(\"textStyle\"),p=t.get(\"padding\");return o&&a.push((n=\"left \"+(e=o)+\"s cubic-bezier(0.23, 1, 0.32, 1),top \"+e+\"s cubic-bezier(0.23, 1, 0.32, 1)\",i.map(c,(function(t){return t+\"transition:\"+n})).join(\";\"))),d&&(s.canvasSupported?a.push(\"background-Color:\"+d):(a.push(\"background-Color:#\"+r.toHex(d)),a.push(\"filter:alpha(opacity=70)\"))),u([\"width\",\"color\",\"radius\"],(function(e){var n=\"border-\"+e,i=h(n),r=t.get(i);null!=r&&a.push(n+\":\"+r+(\"color\"===e?\"\":\"px\"))})),a.push(function(t){var e=[],n=t.get(\"fontSize\"),i=t.getTextColor();i&&e.push(\"color:\"+i),e.push(\"font:\"+t.getFont());var r=t.get(\"lineHeight\");null==r&&(r=Math.round(3*n/2)),n&&e.push(\"line-height:\"+r+\"px\");var a=t.get(\"textShadowColor\"),o=t.get(\"textShadowBlur\")||0,s=t.get(\"textShadowOffsetX\")||0,l=t.get(\"textShadowOffsetY\")||0;return o&&e.push(\"text-shadow:\"+s+\"px \"+l+\"px \"+o+\"px \"+a),u([\"decoration\",\"align\"],(function(n){var i=t.get(n);i&&e.push(\"text-\"+n+\":\"+i)})),e.join(\";\")}(f)),null!=p&&a.push(\"padding:\"+l.normalizeCssArray(p).join(\"px \")+\"px\"),a.join(\";\")+\";\"}function f(t,e,n,i,r){var a=e&&e.painter;if(n){var s=a&&a.getViewportRoot();s&&o.transformLocalCoord(t,s,document.body,i,r)}else{t[0]=i,t[1]=r;var l=a&&a.getViewportRootOffset();l&&(t[0]+=l.offsetLeft,t[1]+=l.offsetTop)}t[2]=t[0]/e.getWidth(),t[3]=t[1]/e.getHeight()}function p(t,e,n){if(s.wxa)return null;var i=document.createElement(\"div\");i.domBelongToZr=!0,this.el=i;var r=this._zr=e.getZr(),o=this._appendToBody=n&&n.appendToBody;this._styleCoord=[0,0,0,0],f(this._styleCoord,r,o,e.getWidth()/2,e.getHeight()/2),o?document.body.appendChild(i):t.appendChild(i),this._container=t,this._show=!1,this._hideTimeout;var l=this;i.onmouseenter=function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0},i.onmousemove=function(t){if(t=t||window.event,!l._enterable){var e=r.handler,n=r.painter.getViewportRoot();a.normalizeEvent(n,t,!0),e.dispatch(\"mousemove\",t)}},i.onmouseleave=function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1}}p.prototype={constructor:p,_enterable:!0,update:function(t){var e=this._container,n=e.currentStyle||document.defaultView.getComputedStyle(e),i=e.style;\"absolute\"!==i.position&&\"absolute\"!==n.position&&(i.position=\"relative\"),t.get(\"alwaysShowContent\")&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var t=this._styleCoord[2],e=this._styleCoord[3],n=t*this._zr.getWidth(),i=e*this._zr.getHeight();this.moveTo(n,i)},show:function(t){clearTimeout(this._hideTimeout);var e=this.el,n=this._styleCoord;e.style.cssText=\"position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;\"+d(t)+\";left:\"+n[0]+\"px;top:\"+n[1]+\"px;\"+(t.get(\"extraCssText\")||\"\"),e.style.display=e.innerHTML?\"block\":\"none\",e.style.pointerEvents=this._enterable?\"auto\":\"none\",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?\"\":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var n=this._styleCoord;f(n,this._zr,this._appendToBody,t,e);var i=this.el.style;i.left=n[0]+\"px\",i.top=n[1]+\"px\"},hide:function(){this.el.style.display=\"none\",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(i.bind(this.hide,this),t)):this.hide())},isShow:function(){return this._show},dispose:function(){this.el.parentNode.removeChild(this.el)},getOuterSize:function(){var t=this.el.clientWidth,e=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var n=document.defaultView.getComputedStyle(this.el);n&&(t+=parseInt(n.borderLeftWidth,10)+parseInt(n.borderRightWidth,10),e+=parseInt(n.borderTopWidth,10)+parseInt(n.borderBottomWidth,10))}return{width:t,height:e}}};var g=p;t.exports=g},function(t,e,n){var i=n(0),r=n(75),a=n(4);function o(t,e,n,i){t[0]=n,t[1]=i,t[2]=t[0]/e.getWidth(),t[3]=t[1]/e.getHeight()}function s(t){var e=this._zr=t.getZr();this._styleCoord=[0,0,0,0],o(this._styleCoord,e,t.getWidth()/2,t.getHeight()/2),this._show=!1,this._hideTimeout}s.prototype={constructor:s,_enterable:!0,update:function(t){t.get(\"alwaysShowContent\")&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var t=this._styleCoord[2],e=this._styleCoord[3],n=t*this._zr.getWidth(),i=e*this._zr.getHeight();this.moveTo(n,i)},show:function(t){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr(\"show\",!0),this._show=!0},setContent:function(t,e,n){this.el&&this._zr.remove(this.el);for(var i={},o=t,s=o.indexOf(\"{marker\");s>=0;){var l=o.indexOf(\"|}\"),u=o.substr(s+\"{marker\".length,l-s-\"{marker\".length);u.indexOf(\"sub\")>-1?i[\"marker\"+u]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[u],textOffset:[3,0]}:i[\"marker\"+u]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[u]},s=(o=o.substr(l+1)).indexOf(\"{marker\")}var h=n.getModel(\"textStyle\"),c=h.get(\"fontSize\"),d=n.get(\"textLineHeight\");null==d&&(d=Math.round(3*c/2)),this.el=new r({style:a.setTextStyle({},h,{rich:i,text:t,textBackgroundColor:n.get(\"backgroundColor\"),textBorderRadius:n.get(\"borderRadius\"),textFill:n.get(\"textStyle.color\"),textPadding:n.get(\"padding\"),textLineHeight:d}),z:n.get(\"z\")}),this._zr.add(this.el);var f=this;this.el.on(\"mouseover\",(function(){f._enterable&&(clearTimeout(f._hideTimeout),f._show=!0),f._inContent=!0})),this.el.on(\"mouseout\",(function(){f._enterable&&f._show&&f.hideLater(f._hideDelay),f._inContent=!1}))},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){if(this.el){var n=this._styleCoord;o(n,this._zr,t,e),this.el.attr(\"position\",[n[0],n[1]])}},hide:function(){this.el&&this.el.hide(),this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(i.bind(this.hide,this),t)):this.hide())},isShow:function(){return this._show},dispose:function(){clearTimeout(this._hideTimeout),this.el&&this._zr.remove(this.el)},getOuterSize:function(){var t=this.getSize();return{width:t[0],height:t[1]}}};var l=s;t.exports=l},function(t,e,n){\"use strict\";var i=n(13),r=n(20),a=n(36),o=n(290),s=n(45),l=n(19),u=n(68).f,h=n(69).f,c=n(14).f,d=n(292).trim,f=i.Number,p=f,g=f.prototype,v=\"Number\"==a(n(67)(g)),m=\"trim\"in String.prototype,y=function(t){var e=s(t,!1);if(\"string\"==typeof e&&e.length>2){var n,i,r,a=(e=m?e.trim():d(e,3)).charCodeAt(0);if(43===a||45===a){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===a){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var o,l=e.slice(2),u=0,h=l.length;u<h;u++)if((o=l.charCodeAt(u))<48||o>r)return NaN;return parseInt(l,i)}}return+e};if(!f(\" 0o1\")||!f(\"0b1\")||f(\"+0x1\")){f=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof f&&(v?l((function(){g.valueOf.call(n)})):\"Number\"!=a(n))?o(new p(y(e)),n,f):y(e)};for(var _,x=n(18)?u(p):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),b=0;x.length>b;b++)r(p,_=x[b])&&!r(f,_)&&c(f,_,h(p,_));f.prototype=g,g.constructor=f,n(28)(i,\"Number\",f)}},function(t,e,n){var i=n(17),r=n(291).set;t.exports=function(t,e,n){var a,o=e.constructor;return o!==n&&\"function\"==typeof o&&(a=o.prototype)!==n.prototype&&i(a)&&r&&r(t,a),t}},function(t,e,n){var i=n(17),r=n(27),a=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")};t.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,i){try{(i=n(48)(Function.call,n(69).f(Object.prototype,\"__proto__\").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return a(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:a}},function(t,e,n){var i=n(26),r=n(50),a=n(19),o=n(293),s=\"[\"+o+\"]\",l=RegExp(\"^\"+s+s+\"*\"),u=RegExp(s+s+\"*$\"),h=function(t,e,n){var r={},s=a((function(){return!!o[t]()||\"​\"!=\"​\"[t]()})),l=r[t]=s?e(c):o[t];n&&(r[n]=l),i(i.P+i.F*s,\"String\",r)},c=h.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(u,\"\")),t};t.exports=h},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎             　\\u2028\\u2029\\ufeff\"},function(t,e,n){\"use strict\";n.r(e);n(145),n(152),n(153),n(160),n(164),n(97),n(167),n(168),n(174);var i=n(2),r=n.n(i),a=(n(241),n(252),n(256),n(264),n(268),n(269),n(275),n(289),function(){var t=(new Date).valueOf()-20736e6;window.innerWidth<500&&(t+=1296e7),window.innerWidth<1200&&window.innerWidth>=992&&(t+=5184e6),window.innerWidth<768&&window.innerWidth>=500&&(t+=7776e6);var e=new Date(t),n=e.getFullYear(),i=Number(e.getMonth()+1),r=e.getDate();t=n+\"-\"+i+\"-\"+r;var a=new Date;return n=a.getFullYear(),i=Number(a.getMonth()+1),r=a.getDate(),[t,a=n+\"-\"+i+\"-\"+r]});function o(t){return function(t){if(Array.isArray(t))return s(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}(t)||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.\")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var l=document.documentElement.lang,u=\"en\";\"zh-CN\"!==l&&\"zh\"!==l||(u=\"cn\");var h=\"#000000\",c=\"#FFFFFF\";if(c=\"#FFFFFF\",document.querySelectorAll(\".dark-color\").length&&(\"rgba(255, 255, 255, 0.87)\",h=\"rgba(255, 255, 255, 0.87)\",c=\"#1E1E1E\"),document.querySelectorAll(\".loading\").length)for(var d=document.querySelectorAll(\".loading\"),f=0;f<d.length;f++)d[f].parentNode.removeChild(d[f]);var p=Math.max.apply(Math,o(data.post.map((function(t){return t[1]}))));if(p<=10&&(p=10),void 0!==data.post){var g=document.querySelector(\"#post-chart\");r.a.init(g).setOption({tooltip:{},visualMap:{min:0,max:p,type:\"piecewise\",orient:\"horizontal\",left:\"center\",top:0,textStyle:{color:h}},calendar:{top:50,left:30,right:30,cellSize:[\"auto\",16],range:a(),itemStyle:{borderWidth:1,borderColor:\"#808080\",color:c},monthLabel:{nameMap:u,textStyle:{color:h}},dayLabel:{firstDay:1,nameMap:u,textStyle:{color:h}},splitLine:{lineStyle:{color:h}}},series:{type:\"heatmap\",coordinateSystem:\"calendar\",data:data.post,textStyle:{color:h}}})}var v=Math.max.apply(Math,o(data.comment.map((function(t){return t[1]}))));if(v<=20&&(v=20),void 0!==data.comment){var m=document.querySelector(\"#comment-chart\");r.a.init(m).setOption({tooltip:{},visualMap:{min:0,max:v,type:\"piecewise\",orient:\"horizontal\",left:\"center\",top:0,textStyle:{color:h}},calendar:{top:50,left:30,right:30,cellSize:[\"auto\",16],range:a(),itemStyle:{borderWidth:1,borderColor:\"#808080\",color:c},monthLabel:{nameMap:u,textStyle:{color:h}},dayLabel:{firstDay:1,nameMap:u,textStyle:{color:h}},splitLine:{lineStyle:{color:h}}},series:{type:\"heatmap\",coordinateSystem:\"calendar\",data:data.comment}})}if(void 0!==data.category){var y=[];data.category.forEach((function(t){y.push(t.name)}));var _=\"40%\",x={data:y,orient:\"vertical\",right:10,top:0,bottom:20,textStyle:{color:h}};y.length>15&&(_=\"30%\");var b=\"64%\";document.querySelector(\".post-content\").offsetWidth<560&&(_=\"50%\",x=void 0,b=\"50%\");var w=document.querySelector(\"#category-chart\");r.a.init(w).setOption({tooltip:{show:!0,trigger:\"item\",formatter:\"{a} <br/>{b} : {c} ({d}%)\"},aria:{show:!0},legend:x,series:[{name:window.t.categoryDistribution,type:\"pie\",radius:b,data:data.category,center:[_,\"50%\"],emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:\"rgba(0, 0, 0, 0.5)\"}}}]})}}]);"
  },
  {
    "path": "assets/js/highlight.pack.js",
    "content": "/*! highlight.js v9.17.1 | BSD3 License | git.io/hljslicense */\n!function(e){var n=\"object\"==typeof window&&window||\"object\"==typeof self&&self;\"undefined\"==typeof exports||exports.nodeType?n&&(n.hljs=e({}),\"function\"==typeof define&&define.amd&&define([],function(){return n.hljs})):e(exports)}(function(a){var f=[],o=Object.keys,N={},g={},_=!0,n=/^(no-?highlight|plain|text)$/i,E=/\\blang(?:uage)?-([\\w-]+)\\b/i,t=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,r={case_insensitive:\"cI\",lexemes:\"l\",contains:\"c\",keywords:\"k\",subLanguage:\"sL\",className:\"cN\",begin:\"b\",beginKeywords:\"bK\",end:\"e\",endsWithParent:\"eW\",illegal:\"i\",excludeBegin:\"eB\",excludeEnd:\"eE\",returnBegin:\"rB\",returnEnd:\"rE\",variants:\"v\",IDENT_RE:\"IR\",UNDERSCORE_IDENT_RE:\"UIR\",NUMBER_RE:\"NR\",C_NUMBER_RE:\"CNR\",BINARY_NUMBER_RE:\"BNR\",RE_STARTERS_RE:\"RSR\",BACKSLASH_ESCAPE:\"BE\",APOS_STRING_MODE:\"ASM\",QUOTE_STRING_MODE:\"QSM\",PHRASAL_WORDS_MODE:\"PWM\",C_LINE_COMMENT_MODE:\"CLCM\",C_BLOCK_COMMENT_MODE:\"CBCM\",HASH_COMMENT_MODE:\"HCM\",NUMBER_MODE:\"NM\",C_NUMBER_MODE:\"CNM\",BINARY_NUMBER_MODE:\"BNM\",CSS_NUMBER_MODE:\"CSSNM\",REGEXP_MODE:\"RM\",TITLE_MODE:\"TM\",UNDERSCORE_TITLE_MODE:\"UTM\",COMMENT:\"C\",beginRe:\"bR\",endRe:\"eR\",illegalRe:\"iR\",lexemesRe:\"lR\",terminators:\"t\",terminator_end:\"tE\"},C=\"</span>\",m=\"Could not find the language '{}', did you forget to load/include a language module?\",O={classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0},c=\"of and for in not or if then\".split(\" \");function B(e){return e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function d(e){return e.nodeName.toLowerCase()}function R(e){return n.test(e)}function i(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function p(e){var a=[];return function e(n,t){for(var r=n.firstChild;r;r=r.nextSibling)3===r.nodeType?t+=r.nodeValue.length:1===r.nodeType&&(a.push({event:\"start\",offset:t,node:r}),t=e(r,t),d(r).match(/br|hr|img|input/)||a.push({event:\"stop\",offset:t,node:r}));return t}(e,0),a}function v(e,n,t){var r=0,a=\"\",i=[];function o(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:\"start\"===n[0].event?e:n:e.length?e:n}function c(e){a+=\"<\"+d(e)+f.map.call(e.attributes,function(e){return\" \"+e.nodeName+'=\"'+B(e.value).replace(/\"/g,\"&quot;\")+'\"'}).join(\"\")+\">\"}function l(e){a+=\"</\"+d(e)+\">\"}function u(e){(\"start\"===e.event?c:l)(e.node)}for(;e.length||n.length;){var s=o();if(a+=B(t.substring(r,s[0].offset)),r=s[0].offset,s===e){for(i.reverse().forEach(l);u(s.splice(0,1)[0]),(s=o())===e&&s.length&&s[0].offset===r;);i.reverse().forEach(c)}else\"start\"===s[0].event?i.push(s[0].node):i.pop(),u(s.splice(0,1)[0])}return a+B(t.substr(r))}function l(n){return n.v&&!n.cached_variants&&(n.cached_variants=n.v.map(function(e){return i(n,{v:null},e)})),n.cached_variants?n.cached_variants:function e(n){return!!n&&(n.eW||e(n.starts))}(n)?[i(n,{starts:n.starts?i(n.starts):null})]:Object.isFrozen(n)?[i(n)]:[n]}function u(e){if(r&&!e.langApiRestored){for(var n in e.langApiRestored=!0,r)e[n]&&(e[r[n]]=e[n]);(e.c||[]).concat(e.v||[]).forEach(u)}}function M(n,t){var i={};return\"string\"==typeof n?r(\"keyword\",n):o(n).forEach(function(e){r(e,n[e])}),i;function r(a,e){t&&(e=e.toLowerCase()),e.split(\" \").forEach(function(e){var n,t,r=e.split(\"|\");i[r[0]]=[a,(n=r[0],(t=r[1])?Number(t):function(e){return-1!=c.indexOf(e.toLowerCase())}(n)?0:1)]})}}function x(r){function s(e){return e&&e.source||e}function f(e,n){return new RegExp(s(e),\"m\"+(r.cI?\"i\":\"\")+(n?\"g\":\"\"))}function a(a){var i,e,o={},c=[],l={},t=1;function n(e,n){o[t]=e,c.push([e,n]),t+=new RegExp(n.toString()+\"|\").exec(\"\").length-1+1}for(var r=0;r<a.c.length;r++){n(e=a.c[r],e.bK?\"\\\\.?(?:\"+e.b+\")\\\\.?\":e.b)}a.tE&&n(\"end\",a.tE),a.i&&n(\"illegal\",a.i);var u=c.map(function(e){return e[1]});return i=f(function(e,n){for(var t=/\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./,r=0,a=\"\",i=0;i<e.length;i++){var o=r+=1,c=s(e[i]);for(0<i&&(a+=n),a+=\"(\";0<c.length;){var l=t.exec(c);if(null==l){a+=c;break}a+=c.substring(0,l.index),c=c.substring(l.index+l[0].length),\"\\\\\"==l[0][0]&&l[1]?a+=\"\\\\\"+String(Number(l[1])+o):(a+=l[0],\"(\"==l[0]&&r++)}a+=\")\"}return a}(u,\"|\"),!0),l.lastIndex=0,l.exec=function(e){var n;if(0===c.length)return null;i.lastIndex=l.lastIndex;var t=i.exec(e);if(!t)return null;for(var r=0;r<t.length;r++)if(null!=t[r]&&null!=o[\"\"+r]){n=o[\"\"+r];break}return\"string\"==typeof n?(t.type=n,t.extra=[a.i,a.tE]):(t.type=\"begin\",t.rule=n),t},l}if(r.c&&-1!=r.c.indexOf(\"self\")){if(!_)throw new Error(\"ERR: contains `self` is not supported at the top-level of a language.  See documentation.\");r.c=r.c.filter(function(e){return\"self\"!=e})}!function n(t,e){t.compiled||(t.compiled=!0,t.k=t.k||t.bK,t.k&&(t.k=M(t.k,r.cI)),t.lR=f(t.l||/\\w+/,!0),e&&(t.bK&&(t.b=\"\\\\b(\"+t.bK.split(\" \").join(\"|\")+\")\\\\b\"),t.b||(t.b=/\\B|\\b/),t.bR=f(t.b),t.endSameAsBegin&&(t.e=t.b),t.e||t.eW||(t.e=/\\B|\\b/),t.e&&(t.eR=f(t.e)),t.tE=s(t.e)||\"\",t.eW&&e.tE&&(t.tE+=(t.e?\"|\":\"\")+e.tE)),t.i&&(t.iR=f(t.i)),null==t.relevance&&(t.relevance=1),t.c||(t.c=[]),t.c=Array.prototype.concat.apply([],t.c.map(function(e){return l(\"self\"===e?t:e)})),t.c.forEach(function(e){n(e,t)}),t.starts&&n(t.starts,e),t.t=a(t))}(r)}function S(n,i,a,e){function c(e,n,t,r){if(!t&&\"\"===n)return\"\";if(!e)return n;var a='<span class=\"'+(r?\"\":O.classPrefix);return(a+=e+'\">')+n+(t?\"\":C)}function o(){R+=null!=E.sL?function(){var e=\"string\"==typeof E.sL;if(e&&!N[E.sL])return B(p);var n=e?S(E.sL,p,!0,d[E.sL]):T(p,E.sL.length?E.sL:void 0);return 0<E.relevance&&(v+=n.relevance),e&&(d[E.sL]=n.top),c(n.language,n.value,!1,!0)}():function(){var e,n,t,r,a,i,o;if(!E.k)return B(p);for(r=\"\",n=0,E.lR.lastIndex=0,t=E.lR.exec(p);t;)r+=B(p.substring(n,t.index)),a=E,i=t,o=g.cI?i[0].toLowerCase():i[0],(e=a.k.hasOwnProperty(o)&&a.k[o])?(v+=e[1],r+=c(e[0],B(t[0]))):r+=B(t[0]),n=E.lR.lastIndex,t=E.lR.exec(p);return r+B(p.substr(n))}(),p=\"\"}function l(e){R+=e.cN?c(e.cN,\"\",!0):\"\",E=Object.create(e,{parent:{value:E}})}function u(e){var n=e[0],t=e.rule;return t&&t.endSameAsBegin&&(t.eR=new RegExp(n.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),\"m\")),t.skip?p+=n:(t.eB&&(p+=n),o(),t.rB||t.eB||(p=n)),l(t),t.rB?0:n.length}function s(e){var n=e[0],t=i.substr(e.index),r=function e(n,t){if(r=n.eR,a=t,(i=r&&r.exec(a))&&0===i.index){for(;n.endsParent&&n.parent;)n=n.parent;return n}var r,a,i;if(n.eW)return e(n.parent,t)}(E,t);if(r){var a=E;for(a.skip?p+=n:(a.rE||a.eE||(p+=n),o(),a.eE&&(p=n));E.cN&&(R+=C),E.skip||E.sL||(v+=E.relevance),(E=E.parent)!==r.parent;);return r.starts&&(r.endSameAsBegin&&(r.starts.eR=r.eR),l(r.starts)),a.rE?0:n.length}}var f={};function t(e,n){var t=n&&n[0];if(p+=e,null==t)return o(),0;if(\"begin\"==f.type&&\"end\"==n.type&&f.index==n.index&&\"\"===t)return p+=i.slice(n.index,n.index+1),1;if(\"begin\"===(f=n).type)return u(n);if(\"illegal\"===n.type&&!a)throw new Error('Illegal lexeme \"'+t+'\" for mode \"'+(E.cN||\"<unnamed>\")+'\"');if(\"end\"===n.type){var r=s(n);if(null!=r)return r}return p+=t,t.length}var g=D(n);if(!g)throw console.error(m.replace(\"{}\",n)),new Error('Unknown language: \"'+n+'\"');x(g);var r,E=e||g,d={},R=\"\";for(r=E;r!==g;r=r.parent)r.cN&&(R=c(r.cN,\"\",!0)+R);var p=\"\",v=0;try{for(var M,b,h=0;E.t.lastIndex=h,M=E.t.exec(i);)b=t(i.substring(h,M.index),M),h=M.index+b;for(t(i.substr(h)),r=E;r.parent;r=r.parent)r.cN&&(R+=C);return{relevance:v,value:R,i:!1,language:n,top:E}}catch(e){if(e.message&&-1!==e.message.indexOf(\"Illegal\"))return{i:!0,relevance:0,value:B(i)};if(_)return{relevance:0,value:B(i),language:n,top:E,errorRaised:e};throw e}}function T(t,e){e=e||O.languages||o(N);var r={relevance:0,value:B(t)},a=r;return e.filter(D).filter(L).forEach(function(e){var n=S(e,t,!1);n.language=e,n.relevance>a.relevance&&(a=n),n.relevance>r.relevance&&(a=r,r=n)}),a.language&&(r.second_best=a),r}function b(e){return O.tabReplace||O.useBR?e.replace(t,function(e,n){return O.useBR&&\"\\n\"===e?\"<br>\":O.tabReplace?n.replace(/\\t/g,O.tabReplace):\"\"}):e}function s(e){var n,t,r,a,i,o,c,l,u,s,f=function(e){var n,t,r,a,i=e.className+\" \";if(i+=e.parentNode?e.parentNode.className:\"\",t=E.exec(i)){var o=D(t[1]);return o||(console.warn(m.replace(\"{}\",t[1])),console.warn(\"Falling back to no-highlight mode for this block.\",e)),o?t[1]:\"no-highlight\"}for(n=0,r=(i=i.split(/\\s+/)).length;n<r;n++)if(R(a=i[n])||D(a))return a}(e);R(f)||(O.useBR?(n=document.createElement(\"div\")).innerHTML=e.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\"):n=e,i=n.textContent,r=f?S(f,i,!0):T(i),(t=p(n)).length&&((a=document.createElement(\"div\")).innerHTML=r.value,r.value=v(t,p(a),i)),r.value=b(r.value),e.innerHTML=r.value,e.className=(o=e.className,c=f,l=r.language,u=c?g[c]:l,s=[o.trim()],o.match(/\\bhljs\\b/)||s.push(\"hljs\"),-1===o.indexOf(u)&&s.push(u),s.join(\" \").trim()),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll(\"pre code\");f.forEach.call(e,s)}}var w={disableAutodetect:!0};function D(e){return e=(e||\"\").toLowerCase(),N[e]||N[g[e]]}function L(e){var n=D(e);return n&&!n.disableAutodetect}return a.highlight=S,a.highlightAuto=T,a.fixMarkup=b,a.highlightBlock=s,a.configure=function(e){O=i(O,e)},a.initHighlighting=h,a.initHighlightingOnLoad=function(){window.addEventListener(\"DOMContentLoaded\",h,!1),window.addEventListener(\"load\",h,!1)},a.registerLanguage=function(n,e){var t;try{t=e(a)}catch(e){if(console.error(\"Language definition for '{}' could not be registered.\".replace(\"{}\",n)),!_)throw e;console.error(e),t=w}u(N[n]=t),t.rawDefinition=e.bind(null,a),t.aliases&&t.aliases.forEach(function(e){g[e]=n})},a.listLanguages=function(){return o(N)},a.getLanguage=D,a.requireLanguage=function(e){var n=D(e);if(n)return n;throw new Error(\"The '{}' language is required, but not loaded.\".replace(\"{}\",e))},a.autoDetection=L,a.inherit=i,a.debugMode=function(){_=!1},a.IR=a.IDENT_RE=\"[a-zA-Z]\\\\w*\",a.UIR=a.UNDERSCORE_IDENT_RE=\"[a-zA-Z_]\\\\w*\",a.NR=a.NUMBER_RE=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",a.CNR=a.C_NUMBER_RE=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",a.BNR=a.BINARY_NUMBER_RE=\"\\\\b(0b[01]+)\",a.RSR=a.RE_STARTERS_RE=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",a.BE=a.BACKSLASH_ESCAPE={b:\"\\\\\\\\[\\\\s\\\\S]\",relevance:0},a.ASM=a.APOS_STRING_MODE={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\",c:[a.BE]},a.QSM=a.QUOTE_STRING_MODE={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\",c:[a.BE]},a.PWM=a.PHRASAL_WORDS_MODE={b:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},a.C=a.COMMENT=function(e,n,t){var r=a.inherit({cN:\"comment\",b:e,e:n,c:[]},t||{});return r.c.push(a.PWM),r.c.push({cN:\"doctag\",b:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",relevance:0}),r},a.CLCM=a.C_LINE_COMMENT_MODE=a.C(\"//\",\"$\"),a.CBCM=a.C_BLOCK_COMMENT_MODE=a.C(\"/\\\\*\",\"\\\\*/\"),a.HCM=a.HASH_COMMENT_MODE=a.C(\"#\",\"$\"),a.NM=a.NUMBER_MODE={cN:\"number\",b:a.NR,relevance:0},a.CNM=a.C_NUMBER_MODE={cN:\"number\",b:a.CNR,relevance:0},a.BNM=a.BINARY_NUMBER_MODE={cN:\"number\",b:a.BNR,relevance:0},a.CSSNM=a.CSS_NUMBER_MODE={cN:\"number\",b:a.NR+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",relevance:0},a.RM=a.REGEXP_MODE={cN:\"regexp\",b:/\\//,e:/\\/[gimuy]*/,i:/\\n/,c:[a.BE,{b:/\\[/,e:/\\]/,relevance:0,c:[a.BE]}]},a.TM=a.TITLE_MODE={cN:\"title\",b:a.IR,relevance:0},a.UTM=a.UNDERSCORE_TITLE_MODE={cN:\"title\",b:a.UIR,relevance:0},a.METHOD_GUARD={b:\"\\\\.\\\\s*\"+a.UIR,relevance:0},[a.BE,a.ASM,a.QSM,a.PWM,a.C,a.CLCM,a.CBCM,a.HCM,a.NM,a.CNM,a.BNM,a.CSSNM,a.RM,a.TM,a.UTM,a.METHOD_GUARD].forEach(function(e){!function n(t){Object.freeze(t);var r=\"function\"==typeof t;Object.getOwnPropertyNames(t).forEach(function(e){!t.hasOwnProperty(e)||null===t[e]||\"object\"!=typeof t[e]&&\"function\"!=typeof t[e]||r&&(\"caller\"===e||\"callee\"===e||\"arguments\"===e)||Object.isFrozen(t[e])||n(t[e])});return t}(e)}),a});hljs.registerLanguage(\"scss\",function(e){var t=\"@[a-z-]+\",r={cN:\"variable\",b:\"(\\\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\\\b\"},i={cN:\"number\",b:\"#[0-9A-Fa-f]+\"};e.CSSNM,e.QSM,e.ASM,e.CBCM;return{cI:!0,i:\"[=/|']\",c:[e.CLCM,e.CBCM,{cN:\"selector-id\",b:\"\\\\#[A-Za-z0-9_-]+\",relevance:0},{cN:\"selector-class\",b:\"\\\\.[A-Za-z0-9_-]+\",relevance:0},{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\",i:\"$\"},{cN:\"selector-tag\",b:\"\\\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\\\b\",relevance:0},{cN:\"selector-pseudo\",b:\":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)\"},{cN:\"selector-pseudo\",b:\"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)\"},r,{cN:\"attribute\",b:\"\\\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\\\b\",i:\"[^\\\\s]\"},{b:\"\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b\"},{b:\":\",e:\";\",c:[r,i,e.CSSNM,e.QSM,e.ASM,{cN:\"meta\",b:\"!important\"}]},{b:\"@(page|font-face)\",l:t,k:\"@page @font-face\"},{b:\"@\",e:\"[{;]\",rB:!0,k:\"and or not only\",c:[{b:t,cN:\"keyword\"},r,e.QSM,e.ASM,i,e.CSSNM]}]}});hljs.registerLanguage(\"cpp\",function(e){var t={cN:\"keyword\",b:\"\\\\b[a-z\\\\d_]*_t\\\\b\"},r={cN:\"string\",v:[{b:'(u8?|U|L)?\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:\"(u8?|U|L)?'(\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)|.)\",e:\"'\",i:\".\"},{b:/(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\((?:.|\\n)*?\\)\\1\"/}]},a={cN:\"number\",v:[{b:\"\\\\b(0b[01']+)\"},{b:\"(-?)\\\\b([\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)(u|U|l|L|ul|UL|f|F|b|B)\"},{b:\"(-?)(\\\\b0[xX][a-fA-F0-9']+|(\\\\b[\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)([eE][-+]?[\\\\d']+)?)\"}],relevance:0},i={cN:\"meta\",b:/#\\s*[a-z]+\\b/,e:/$/,k:{\"meta-keyword\":\"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include\"},c:[{b:/\\\\\\n/,relevance:0},e.inherit(r,{cN:\"meta-string\"}),{cN:\"meta-string\",b:/<.*?>/,e:/$/,i:\"\\\\n\"},e.CLCM,e.CBCM]},s=e.IR+\"\\\\s*\\\\(\",c={keyword:\"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_tshort reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq\",built_in:\"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary\",literal:\"true false nullptr NULL\"},n=[t,e.CLCM,e.CBCM,a,r];return{aliases:[\"c\",\"cc\",\"h\",\"c++\",\"h++\",\"hpp\",\"hh\",\"hxx\",\"cxx\"],k:c,i:\"</\",c:n.concat([i,{b:\"\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<\",e:\">\",k:c,c:[\"self\",t]},{b:e.IR+\"::\",k:c},{v:[{b:/=/,e:/;/},{b:/\\(/,e:/\\)/},{bK:\"new throw return else\",e:/;/}],k:c,c:n.concat([{b:/\\(/,e:/\\)/,k:c,c:n.concat([\"self\"]),relevance:0}]),relevance:0},{cN:\"function\",b:\"(\"+e.IR+\"[\\\\*&\\\\s]+)+\"+s,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\\w\\s\\*&]/,c:[{b:s,rB:!0,c:[e.TM],relevance:0},{cN:\"params\",b:/\\(/,e:/\\)/,k:c,relevance:0,c:[e.CLCM,e.CBCM,r,a,t,{b:/\\(/,e:/\\)/,k:c,relevance:0,c:[\"self\",e.CLCM,e.CBCM,r,a,t]}]},e.CLCM,e.CBCM,i]},{cN:\"class\",bK:\"class struct\",e:/[{;:]/,c:[{b:/</,e:/>/,c:[\"self\"]},e.TM]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage(\"json\",function(e){var i={literal:\"true false null\"},n=[e.CLCM,e.CBCM],c=[e.QSM,e.CNM],r={e:\",\",eW:!0,eE:!0,c:c,k:i},t={b:\"{\",e:\"}\",c:[{cN:\"attr\",b:/\"/,e:/\"/,c:[e.BE],i:\"\\\\n\"},e.inherit(r,{b:/:/})].concat(n),i:\"\\\\S\"},a={b:\"\\\\[\",e:\"\\\\]\",c:[e.inherit(r)],i:\"\\\\S\"};return c.push(t,a),n.forEach(function(e){c.push(e)}),{c:c,k:i,i:\"\\\\S\"}});hljs.registerLanguage(\"nginx\",function(e){var r={cN:\"variable\",v:[{b:/\\$\\d+/},{b:/\\$\\{/,e:/}/},{b:\"[\\\\$\\\\@]\"+e.UIR}]},b={eW:!0,l:\"[a-z/_]+\",k:{literal:\"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll\"},relevance:0,i:\"=>\",c:[e.HCM,{cN:\"string\",c:[e.BE,r],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/}]},{b:\"([a-z]+):/\",e:\"\\\\s\",eW:!0,eE:!0,c:[r]},{cN:\"regexp\",c:[e.BE,r],v:[{b:\"\\\\s\\\\^\",e:\"\\\\s|{|;\",rE:!0},{b:\"~\\\\*?\\\\s+\",e:\"\\\\s|{|;\",rE:!0},{b:\"\\\\*(\\\\.[a-z\\\\-]+)+\"},{b:\"([a-z\\\\-]+\\\\.)+\\\\*\"}]},{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+[kKmMgGdshdwy]*\\\\b\",relevance:0},r]};return{aliases:[\"nginxconf\"],c:[e.HCM,{b:e.UIR+\"\\\\s+{\",rB:!0,e:\"{\",c:[{cN:\"section\",b:e.UIR}],relevance:0},{b:e.UIR+\"\\\\s\",e:\";|{\",rB:!0,c:[{cN:\"attribute\",b:e.UIR,starts:b}],relevance:0}],i:\"[^\\\\s\\\\}]\"}});hljs.registerLanguage(\"perl\",function(e){var t=\"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when\",r={cN:\"subst\",b:\"[$@]\\\\{\",e:\"\\\\}\",k:t},s={b:\"->{\",e:\"}\"},n={v:[{b:/\\$\\d/},{b:/[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/},{b:/[\\$%@][^\\s\\w{]/,relevance:0}]},c=[e.BE,r,n],a=[n,e.HCM,e.C(\"^\\\\=\\\\w\",\"\\\\=cut\",{eW:!0}),s,{cN:\"string\",c:c,v:[{b:\"q[qwxr]?\\\\s*\\\\(\",e:\"\\\\)\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\[\",e:\"\\\\]\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\{\",e:\"\\\\}\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\|\",e:\"\\\\|\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\<\",e:\"\\\\>\",relevance:5},{b:\"qw\\\\s+q\",e:\"q\",relevance:5},{b:\"'\",e:\"'\",c:[e.BE]},{b:'\"',e:'\"'},{b:\"`\",e:\"`\",c:[e.BE]},{b:\"{\\\\w+}\",c:[],relevance:0},{b:\"-?\\\\w+\\\\s*\\\\=\\\\>\",c:[],relevance:0}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",relevance:0},{b:\"(\\\\/\\\\/|\"+e.RSR+\"|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*\",k:\"split return print reverse grep\",relevance:0,c:[e.HCM,{cN:\"regexp\",b:\"(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*\",relevance:10},{cN:\"regexp\",b:\"(m|qr)?/\",e:\"/[a-z]*\",c:[e.BE],relevance:0}]},{cN:\"function\",bK:\"sub\",e:\"(\\\\s*\\\\(.*?\\\\))?[;{]\",eE:!0,relevance:5,c:[e.TM]},{b:\"-\\\\w\\\\b\",relevance:0},{b:\"^__DATA__$\",e:\"^__END__$\",sL:\"mojolicious\",c:[{b:\"^@@.*\",e:\"$\",cN:\"comment\"}]}];return r.c=a,{aliases:[\"pl\",\"pm\"],l:/[\\w\\.]+/,k:t,c:s.c=a}});hljs.registerLanguage(\"matlab\",function(e){var a=\"('|\\\\.')+\",s={relevance:0,c:[{b:a}]};return{k:{keyword:\"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while\",built_in:\"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell \"},i:'(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',c:[{cN:\"function\",bK:\"function\",e:\"$\",c:[e.UTM,{cN:\"params\",v:[{b:\"\\\\(\",e:\"\\\\)\"},{b:\"\\\\[\",e:\"\\\\]\"}]}]},{cN:\"built_in\",b:/true|false/,relevance:0,starts:s},{b:\"[a-zA-Z][a-zA-Z_0-9]*\"+a,relevance:0},{cN:\"number\",b:e.CNR,relevance:0,starts:s},{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]},{b:/\\]|}|\\)/,relevance:0,starts:s},{cN:\"string\",b:'\"',e:'\"',c:[e.BE,{b:'\"\"'}],starts:s},e.C(\"^\\\\s*\\\\%\\\\{\\\\s*$\",\"^\\\\s*\\\\%\\\\}\\\\s*$\"),e.C(\"\\\\%\",\"$\")]}});hljs.registerLanguage(\"ini\",function(e){var b={cN:\"string\",c:[e.BE],v:[{b:\"'''\",e:\"'''\",relevance:10},{b:'\"\"\"',e:'\"\"\"',relevance:10},{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]};return{aliases:[\"toml\"],cI:!0,i:/\\S/,c:[e.C(\";\",\"$\"),e.HCM,{cN:\"section\",b:/^\\s*\\[+/,e:/\\]+/},{b:/^[a-z0-9\\[\\]_\\.-]+\\s*=\\s*/,e:\"$\",rB:!0,c:[{cN:\"attr\",b:/[a-z0-9\\[\\]_\\.-]+/},{b:/=/,eW:!0,relevance:0,c:[e.C(\";\",\"$\"),e.HCM,{cN:\"literal\",b:/\\bon|off|true|false|yes|no\\b/},{cN:\"variable\",v:[{b:/\\$[\\w\\d\"][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},b,{cN:\"number\",b:/([\\+\\-]+)?[\\d]+_[\\d_]+/},e.NM]}]}]}});hljs.registerLanguage(\"coffeescript\",function(e){var c={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not\",literal:\"true false null undefined yes no on off\",built_in:\"npm require console print module global window document\"},n=\"[A-Za-z$_][0-9A-Za-z$_]*\",r={cN:\"subst\",b:/#\\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",relevance:0}}),{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,r]},{b:/\"/,e:/\"/,c:[e.BE,r]}]},{cN:\"regexp\",v:[{b:\"///\",e:\"///\",c:[r,e.HCM]},{b:\"//[gim]*\",relevance:0},{b:/\\/(?![ *])(\\\\\\/|.)*?\\/[gim]*(?=\\W)/}]},{b:\"@\"+n},{sL:\"javascript\",eB:!0,eE:!0,v:[{b:\"```\",e:\"```\"},{b:\"`\",e:\"`\"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",a={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:c,c:[\"self\"].concat(i)}]};return{aliases:[\"coffee\",\"cson\",\"iced\"],k:c,i:/\\/\\*/,c:i.concat([e.C(\"###\",\"###\"),e.HCM,{cN:\"function\",b:\"^\\\\s*\"+n+\"\\\\s*=\\\\s*\"+t,e:\"[-=]>\",rB:!0,c:[s,a]},{b:/[:\\(,=]\\s*/,relevance:0,c:[{cN:\"function\",b:t,e:\"[-=]>\",rB:!0,c:[a]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[s]},s]},{b:n+\":\",e:\":\",rB:!0,rE:!0,relevance:0}])}});hljs.registerLanguage(\"apache\",function(e){var r={cN:\"number\",b:\"[\\\\$%]\\\\d+\"};return{aliases:[\"apacheconf\"],cI:!0,c:[e.HCM,{cN:\"section\",b:\"</?\",e:\">\"},{cN:\"attribute\",b:/\\w+/,relevance:0,k:{nomarkup:\"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername\"},starts:{e:/$/,relevance:0,k:{literal:\"on off all\"},c:[{cN:\"meta\",b:\"\\\\s\\\\[\",e:\"\\\\]$\"},{cN:\"variable\",b:\"[\\\\$%]\\\\{\",e:\"\\\\}\",c:[\"self\",r]},r,e.QSM]}}],i:/\\S/}});hljs.registerLanguage(\"typescript\",function(e){var r=\"[A-Za-z$_][0-9A-Za-z$_]*\",t={keyword:\"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise\"},n={cN:\"meta\",b:\"@\"+r},a={b:\"\\\\(\",e:/\\)/,k:t,c:[\"self\",e.QSM,e.ASM,e.NM]},c={cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM,n,a]},s={cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)n?\"},{b:\"\\\\b(0[oO][0-7]+)n?\"},{b:e.CNR+\"n?\"}],relevance:0},o={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\",k:t,c:[]},i={b:\"html`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,o],sL:\"xml\"}},l={b:\"css`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,o],sL:\"css\"}},b={cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,o]};return o.c=[e.ASM,e.QSM,i,l,b,s,e.RM],{aliases:[\"ts\"],k:t,c:[{cN:\"meta\",b:/^\\s*['\"]use strict['\"]/},e.ASM,e.QSM,i,l,b,e.CLCM,e.CBCM,s,{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+e.IR+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:e.IR},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[\"self\",e.CLCM,e.CBCM]}]}]}],relevance:0},{cN:\"function\",bK:\"function\",e:/[\\{;]/,eE:!0,k:t,c:[\"self\",e.inherit(e.TM,{b:r}),c],i:/%/,relevance:0},{bK:\"constructor\",e:/[\\{;]/,eE:!0,c:[\"self\",c]},{b:/module\\./,k:{built_in:\"module\"},relevance:0},{bK:\"module\",e:/\\{/,eE:!0},{bK:\"interface\",e:/\\{/,eE:!0,k:\"interface extends\"},{b:/\\$[(.]/},{b:\"\\\\.\"+e.IR,relevance:0},n,a]}});hljs.registerLanguage(\"php\",function(e){var c={b:\"\\\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*\"},i={cN:\"meta\",b:/<\\?(php)?|\\?>/},t={cN:\"string\",c:[e.BE,i],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:[\"php\",\"php3\",\"php4\",\"php5\",\"php6\",\"php7\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally\",c:[e.HCM,e.C(\"//\",\"$\",{c:[i]}),e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:/<<<['\"]?\\w+['\"]?$/,e:/^\\w+;?$/,c:[e.BE,{cN:\"subst\",v:[{b:/\\$\\w+/},{b:/\\{\\$/,e:/\\}/}]}]},i,{cN:\"keyword\",b:/\\$this\\b/},c,{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",c,e.CBCM,t,a]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},t,a]}});hljs.registerLanguage(\"diff\",function(e){return{aliases:[\"patch\"],c:[{cN:\"meta\",relevance:10,v:[{b:/^@@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +@@$/},{b:/^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/},{b:/^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$/}]},{cN:\"comment\",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\\-{3}/,e:/$/},{b:/^\\*{3} /,e:/$/},{b:/^\\+{3}/,e:/$/},{b:/^\\*{15}$/}]},{cN:\"addition\",b:\"^\\\\+\",e:\"$\"},{cN:\"deletion\",b:\"^\\\\-\",e:\"$\"},{cN:\"addition\",b:\"^\\\\!\",e:\"$\"}]}});hljs.registerLanguage(\"bash\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},a={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]};return{aliases:[\"sh\",\"zsh\"],l:/\\b-?[a-z\\._]+\\b/,k:{keyword:\"if then else elif fi for while in do done case esac function\",literal:\"true false\",built_in:\"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp\",_:\"-ne -eq -lt -gt -f -d -e -s -l -a\"},c:[{cN:\"meta\",b:/^#![^\\n]+sh\\s*$/,relevance:10},{cN:\"function\",b:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,rB:!0,c:[e.inherit(e.TM,{b:/\\w[\\w\\d_]*/})],relevance:0},e.HCM,a,{cN:\"\",b:/\\\\\"/},{cN:\"string\",b:/'/,e:/'/},t]}});hljs.registerLanguage(\"less\",function(e){function r(e){return{cN:\"string\",b:\"~?\"+e+\".*?\"+e}}function t(e,r,t){return{cN:e,b:r,relevance:t}}var a=\"[\\\\w-]+\",c=\"(\"+a+\"|@{\"+a+\"})\",s=[],n=[],b={b:\"\\\\(\",e:\"\\\\)\",c:n,relevance:0};n.push(e.CLCM,e.CBCM,r(\"'\"),r('\"'),e.CSSNM,{b:\"(url|data-uri)\\\\(\",starts:{cN:\"string\",e:\"[\\\\)\\\\n]\",eE:!0}},t(\"number\",\"#[0-9A-Fa-f]+\\\\b\"),b,t(\"variable\",\"@@?\"+a,10),t(\"variable\",\"@{\"+a+\"}\"),t(\"built_in\",\"~?`[^`]*?`\"),{cN:\"attribute\",b:a+\"\\\\s*:\",e:\":\",rB:!0,eE:!0},{cN:\"meta\",b:\"!important\"});var i=n.concat({b:\"{\",e:\"}\",c:s}),l={bK:\"when\",eW:!0,c:[{bK:\"and not\"}].concat(n)},o={b:c+\"\\\\s*:\",rB:!0,e:\"[;}]\",relevance:0,c:[{cN:\"attribute\",b:c,e:\":\",eE:!0,starts:{eW:!0,i:\"[<=$]\",relevance:0,c:n}}]},u={cN:\"keyword\",b:\"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b\",starts:{e:\"[;{}]\",rE:!0,c:n,relevance:0}},v={cN:\"variable\",v:[{b:\"@\"+a+\"\\\\s*:\",relevance:15},{b:\"@\"+a}],starts:{e:\"[;}]\",rE:!0,c:i}},C={v:[{b:\"[\\\\.#:&\\\\[>]\",e:\"[;{}]\"},{b:c,e:\"{\"}],rB:!0,rE:!0,i:\"[<='$\\\"]\",relevance:0,c:[e.CLCM,e.CBCM,l,t(\"keyword\",\"all\\\\b\"),t(\"variable\",\"@{\"+a+\"}\"),t(\"selector-tag\",c+\"%?\",0),t(\"selector-id\",\"#\"+c),t(\"selector-class\",\"\\\\.\"+c,0),t(\"selector-tag\",\"&\",0),{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\"},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"\\\\(\",e:\"\\\\)\",c:i},{b:\"!important\"}]};return s.push(e.CLCM,e.CBCM,u,v,o,C),{cI:!0,i:\"[=>'/<($\\\"]\",c:s}});hljs.registerLanguage(\"swift\",function(e){var i={keyword:\"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet\",literal:\"true false nil\",built_in:\"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip\"},t=e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),n={cN:\"subst\",b:/\\\\\\(/,e:\"\\\\)\",k:i,c:[]},r={cN:\"string\",c:[e.BE,n],v:[{b:/\"\"\"/,e:/\"\"\"/},{b:/\"/,e:/\"/}]},a={cN:\"number\",b:\"\\\\b([\\\\d_]+(\\\\.[\\\\deE_]+)?|0x[a-fA-F0-9_]+(\\\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b\",relevance:0};return n.c=[a],{k:i,c:[r,e.CLCM,t,{cN:\"type\",b:\"\\\\b[A-Z][\\\\wÀ-ʸ']*[!?]\"},{cN:\"type\",b:\"\\\\b[A-Z][\\\\wÀ-ʸ']*\",relevance:0},a,{cN:\"function\",bK:\"func\",e:\"{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b:/</,e:/>/},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:i,c:[\"self\",a,r,e.CBCM,{b:\":\"}],i:/[\"']/}],i:/\\[|%/},{cN:\"class\",bK:\"struct protocol class extension enum\",k:i,e:\"\\\\{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\\u00C0-\\u02B80-9A-Za-z$_]*/})]},{cN:\"meta\",b:\"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\"},{bK:\"import\",e:/$/,c:[e.CLCM,t]}]}});hljs.registerLanguage(\"makefile\",function(e){var i={cN:\"variable\",v:[{b:\"\\\\$\\\\(\"+e.UIR+\"\\\\)\",c:[e.BE]},{b:/\\$[@%<?\\^\\+\\*]/}]},r={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,i]},a={cN:\"variable\",b:/\\$\\([\\w-]+\\s/,e:/\\)/,k:{built_in:\"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value\"},c:[i]},n={b:\"^\"+e.UIR+\"\\\\s*(?=[:+?]?=)\"},t={cN:\"section\",b:/^[^\\s]+:/,e:/$/,c:[i]};return{aliases:[\"mk\",\"mak\"],k:\"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath\",l:/[\\w-]+/,c:[e.HCM,i,r,a,n,{cN:\"meta\",b:/^\\.PHONY:/,e:/$/,k:{\"meta-keyword\":\".PHONY\"},l:/[\\.\\w]+/},t]}});hljs.registerLanguage(\"lua\",function(e){var t=\"\\\\[=*\\\\[\",a=\"\\\\]=*\\\\]\",n={b:t,e:a,c:[\"self\"]},l=[e.C(\"--(?!\"+t+\")\",\"$\"),e.C(\"--\"+t,a,{c:[n],relevance:10})];return{l:e.UIR,k:{literal:\"true false nil\",keyword:\"and break do else elseif end for goto if in local not or repeat return then until while\",built_in:\"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove\"},c:l.concat([{cN:\"function\",bK:\"function\",e:\"\\\\)\",c:[e.inherit(e.TM,{b:\"([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*\"}),{cN:\"params\",b:\"\\\\(\",eW:!0,c:l}].concat(l)},e.CNM,e.ASM,e.QSM,{cN:\"string\",b:t,e:a,c:[n],relevance:5}])}});hljs.registerLanguage(\"xml\",function(e){var c={cN:\"symbol\",b:\"&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;\"},s={b:\"\\\\s\",c:[{cN:\"meta-keyword\",b:\"#?[a-z_][a-z1-9_-]+\",i:\"\\\\n\"}]},a=e.inherit(s,{b:\"\\\\(\",e:\"\\\\)\"}),t=e.inherit(e.ASM,{cN:\"meta-string\"}),l=e.inherit(e.QSM,{cN:\"meta-string\"}),r={eW:!0,i:/</,relevance:0,c:[{cN:\"attr\",b:\"[A-Za-z0-9\\\\._:-]+\",relevance:0},{b:/=\\s*/,relevance:0,c:[{cN:\"string\",endsParent:!0,v:[{b:/\"/,e:/\"/,c:[c]},{b:/'/,e:/'/,c:[c]},{b:/[^\\s\"'=<>`]+/}]}]}]};return{aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xjb\",\"xsd\",\"xsl\",\"plist\",\"wsf\",\"svg\"],cI:!0,c:[{cN:\"meta\",b:\"<![a-z]\",e:\">\",relevance:10,c:[s,l,t,a,{b:\"\\\\[\",e:\"\\\\]\",c:[{cN:\"meta\",b:\"<![a-z]\",e:\">\",c:[s,a,l,t]}]}]},e.C(\"\\x3c!--\",\"--\\x3e\",{relevance:10}),{b:\"<\\\\!\\\\[CDATA\\\\[\",e:\"\\\\]\\\\]>\",relevance:10},c,{cN:\"meta\",b:/<\\?xml/,e:/\\?>/,relevance:10},{b:/<\\?(php)?/,e:/\\?>/,sL:\"php\",c:[{b:\"/\\\\*\",e:\"\\\\*/\",skip:!0},{b:'b\"',e:'\"',skip:!0},{b:\"b'\",e:\"'\",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:\"tag\",b:\"<style(?=\\\\s|>)\",e:\">\",k:{name:\"style\"},c:[r],starts:{e:\"</style>\",rE:!0,sL:[\"css\",\"xml\"]}},{cN:\"tag\",b:\"<script(?=\\\\s|>)\",e:\">\",k:{name:\"script\"},c:[r],starts:{e:\"<\\/script>\",rE:!0,sL:[\"actionscript\",\"javascript\",\"handlebars\",\"xml\"]}},{cN:\"tag\",b:\"</?\",e:\"/?>\",c:[{cN:\"name\",b:/[^\\/><\\s]+/,relevance:0},r]}]}});hljs.registerLanguage(\"markdown\",function(e){return{aliases:[\"md\",\"mkdown\",\"mkd\"],c:[{cN:\"section\",v:[{b:\"^#{1,6}\",e:\"$\"},{b:\"^.+?\\\\n[=-]{2,}$\"}]},{b:\"<\",e:\">\",sL:\"xml\",relevance:0},{cN:\"bullet\",b:\"^\\\\s*([*+-]|(\\\\d+\\\\.))\\\\s+\"},{cN:\"strong\",b:\"[*_]{2}.+?[*_]{2}\"},{cN:\"emphasis\",v:[{b:\"\\\\*.+?\\\\*\"},{b:\"_.+?_\",relevance:0}]},{cN:\"quote\",b:\"^>\\\\s+\",e:\"$\"},{cN:\"code\",v:[{b:\"^```\\\\w*\\\\s*$\",e:\"^```[ ]*$\"},{b:\"`.+?`\"},{b:\"^( {4}|\\\\t)\",e:\"$\",relevance:0}]},{b:\"^[-\\\\*]{3,}\",e:\"$\"},{b:\"\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]\",rB:!0,c:[{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,rE:!0,relevance:0},{cN:\"link\",b:\"\\\\]\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"symbol\",b:\"\\\\]\\\\[\",e:\"\\\\]\",eB:!0,eE:!0}],relevance:10},{b:/^\\[[^\\n]+\\]:/,rB:!0,c:[{cN:\"symbol\",b:/\\[/,e:/\\]/,eB:!0,eE:!0},{cN:\"link\",b:/:\\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage(\"kotlin\",function(e){var t={keyword:\"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default\",built_in:\"Byte Short Char Int Long Boolean Float Double Void Unit Nothing\",literal:\"true false null\"},a={cN:\"symbol\",b:e.UIR+\"@\"},n={cN:\"subst\",b:\"\\\\${\",e:\"}\",c:[e.CNM]},c={cN:\"variable\",b:\"\\\\$\"+e.UIR},r={cN:\"string\",v:[{b:'\"\"\"',e:'\"\"\"(?=[^\"])',c:[c,n]},{b:\"'\",e:\"'\",i:/\\n/,c:[e.BE]},{b:'\"',e:'\"',i:/\\n/,c:[e.BE,c,n]}]};n.c.push(r);var i={cN:\"meta\",b:\"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*\"+e.UIR+\")?\"},l={cN:\"meta\",b:\"@\"+e.UIR,c:[{b:/\\(/,e:/\\)/,c:[e.inherit(r,{cN:\"meta-string\"})]}]},s={cN:\"number\",b:\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",relevance:0},b=e.C(\"/\\\\*\",\"\\\\*/\",{c:[e.CBCM]}),o={v:[{cN:\"type\",b:e.UIR},{b:/\\(/,e:/\\)/,c:[]}]},d=o;return d.v[1].c=[o],o.v[1].c=[d],{aliases:[\"kt\"],k:t,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{relevance:0,c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,b,{cN:\"keyword\",b:/\\b(break|continue|return|this)\\b/,starts:{c:[{cN:\"symbol\",b:/@\\w+/}]}},a,i,l,{cN:\"function\",bK:\"fun\",e:\"[(]|$\",rB:!0,eE:!0,k:t,i:/fun\\s+(<.*>)?[^\\s\\(]+(\\s+[^\\s\\(]+)\\s*=/,relevance:5,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,relevance:0,c:[e.UTM]},{cN:\"type\",b:/</,e:/>/,k:\"reified\",relevance:0},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:t,relevance:0,c:[{b:/:/,e:/[=,\\/]/,eW:!0,c:[o,e.CLCM,b],relevance:0},e.CLCM,b,i,l,r,e.CNM]},b]},{cN:\"class\",bK:\"class interface trait\",e:/[:\\{(]|$/,eE:!0,i:\"extends implements\",c:[{bK:\"public protected internal private constructor\"},e.UTM,{cN:\"type\",b:/</,e:/>/,eB:!0,eE:!0,relevance:0},{cN:\"type\",b:/[,:]\\s*/,e:/[<\\(,]|$/,eB:!0,rE:!0},i,l]},r,{cN:\"meta\",b:\"^#!/usr/bin/env\",e:\"$\",i:\"\\n\"},s]}});hljs.registerLanguage(\"ruby\",function(e){var c=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",b={keyword:\"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor\",literal:\"true false nil\"},r={cN:\"doctag\",b:\"@[A-Za-z]+\"},a={b:\"#<\",e:\">\"},n=[e.C(\"#\",\"$\",{c:[r]}),e.C(\"^\\\\=begin\",\"^\\\\=end\",{c:[r],relevance:10}),e.C(\"^__END__\",\"\\\\n$\")],s={cN:\"subst\",b:\"#\\\\{\",e:\"}\",k:b},t={cN:\"string\",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%[qQwWx]?\\\\(\",e:\"\\\\)\"},{b:\"%[qQwWx]?\\\\[\",e:\"\\\\]\"},{b:\"%[qQwWx]?{\",e:\"}\"},{b:\"%[qQwWx]?<\",e:\">\"},{b:\"%[qQwWx]?/\",e:\"/\"},{b:\"%[qQwWx]?%\",e:\"%\"},{b:\"%[qQwWx]?-\",e:\"-\"},{b:\"%[qQwWx]?\\\\|\",e:\"\\\\|\"},{b:/\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/},{b:/<<[-~]?'?(\\w+)(?:.|\\n)*?\\n\\s*\\1\\b/,rB:!0,c:[{b:/<<[-~]?'?/},{b:/\\w+/,endSameAsBegin:!0,c:[e.BE,s]}]}]},i={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,k:b},l=[t,a,{cN:\"class\",bK:\"class module\",e:\"$|;\",i:/=/,c:[e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{b:\"<\\\\s*\",c:[{b:\"(\"+e.IR+\"::)?\"+e.IR}]}].concat(n)},{cN:\"function\",bK:\"def\",e:\"$|;\",c:[e.inherit(e.TM,{b:c}),i].concat(n)},{b:e.IR+\"::\"},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",relevance:0},{cN:\"symbol\",b:\":(?!\\\\s)\",c:[t,{b:c}],relevance:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",relevance:0},{b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{cN:\"params\",b:/\\|/,e:/\\|/,k:b},{b:\"(\"+e.RSR+\"|unless)\\\\s*\",k:\"unless\",c:[a,{cN:\"regexp\",c:[e.BE,s],i:/\\n/,v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r{\",e:\"}[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)[a-z]*\"},{b:\"%r!\",e:\"![a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}].concat(n),relevance:0}].concat(n);s.c=l;var d=[{b:/^\\s*=>/,starts:{e:\"$\",c:i.c=l}},{cN:\"meta\",b:\"^([>?]>|[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>|(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d(p\\\\d+)?[^>]+>)\",starts:{e:\"$\",c:l}}];return{aliases:[\"rb\",\"gemspec\",\"podspec\",\"thor\",\"irb\"],k:b,i:/\\/\\*/,c:n.concat(d).concat(l)}});hljs.registerLanguage(\"shell\",function(s){return{aliases:[\"console\"],c:[{cN:\"meta\",b:\"^\\\\s{0,3}[/\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]\",starts:{e:\"$\",sL:\"bash\"}}]}});hljs.registerLanguage(\"yaml\",function(e){var b=\"true false yes no null\",a={cN:\"string\",relevance:0,v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/\\S+/}],c:[e.BE,{cN:\"template-variable\",v:[{b:\"{{\",e:\"}}\"},{b:\"%{\",e:\"}\"}]}]};return{cI:!0,aliases:[\"yml\",\"YAML\",\"yaml\"],c:[{cN:\"attr\",v:[{b:\"\\\\w[\\\\w :\\\\/.-]*:(?=[ \\t]|$)\"},{b:'\"\\\\w[\\\\w :\\\\/.-]*\":(?=[ \\t]|$)'},{b:\"'\\\\w[\\\\w :\\\\/.-]*':(?=[ \\t]|$)\"}]},{cN:\"meta\",b:\"^---s*$\",relevance:10},{cN:\"string\",b:\"[\\\\|>]([0-9]?[+-])?[ ]*\\\\n( *)[\\\\S ]+\\\\n(\\\\2[\\\\S ]+\\\\n?)*\"},{b:\"<%[%=-]?\",e:\"[%-]?%>\",sL:\"ruby\",eB:!0,eE:!0,relevance:0},{cN:\"type\",b:\"!\"+e.UIR},{cN:\"type\",b:\"!!\"+e.UIR},{cN:\"meta\",b:\"&\"+e.UIR+\"$\"},{cN:\"meta\",b:\"\\\\*\"+e.UIR+\"$\"},{cN:\"bullet\",b:\"\\\\-(?=[ ]|$)\",relevance:0},e.HCM,{bK:b,k:{literal:b}},{cN:\"number\",b:e.CNR+\"\\\\b\"},a]}});hljs.registerLanguage(\"java\",function(e){var a=\"false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do\",t={cN:\"number\",b:\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",relevance:0};return{aliases:[\"jsp\"],k:a,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{relevance:0,c:[{b:/\\w+@/,relevance:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"new throw return else\",relevance:0},{cN:\"function\",b:\"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\\\s*,\\\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\\\s+)+\"+e.UIR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,relevance:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,k:a,relevance:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},t,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}});hljs.registerLanguage(\"objectivec\",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,i=\"@interface @class @protocol @implementation\";return{aliases:[\"mm\",\"objc\",\"obj-c\"],k:{keyword:\"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN\",literal:\"false true FALSE TRUE nil YES NO NULL\",built_in:\"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once\"},l:t,i:\"</\",c:[{cN:\"built_in\",b:\"\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+\"},e.CLCM,e.CBCM,e.CNM,e.QSM,e.ASM,{cN:\"string\",v:[{b:'@\"',e:'\"',i:\"\\\\n\",c:[e.BE]}]},{cN:\"meta\",b:/#\\s*[a-z]+\\b/,e:/$/,k:{\"meta-keyword\":\"if else elif endif define undef warning error line pragma ifdef ifndef include\"},c:[{b:/\\\\\\n/,relevance:0},e.inherit(e.QSM,{cN:\"meta-string\"}),{cN:\"meta-string\",b:/<.*?>/,e:/$/,i:\"\\\\n\"},e.CLCM,e.CBCM]},{cN:\"class\",b:\"(\"+i.split(\" \").join(\"|\")+\")\\\\b\",e:\"({|$)\",eE:!0,k:i,l:t,c:[e.UTM]},{b:\"\\\\.\"+e.UIR,relevance:0}]}});hljs.registerLanguage(\"go\",function(e){var n={keyword:\"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune\",literal:\"true false iota nil\",built_in:\"append cap close complex copy imag len make new panic print println real recover delete\"};return{aliases:[\"golang\"],k:n,i:\"</\",c:[e.CLCM,e.CBCM,{cN:\"string\",v:[e.QSM,e.ASM,{b:\"`\",e:\"`\"}]},{cN:\"number\",v:[{b:e.CNR+\"[i]\",relevance:1},e.CNM]},{b:/:=/},{cN:\"function\",bK:\"func\",e:\"\\\\s*(\\\\{|$)\",eE:!0,c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:n,i:/[\"']/}]}]}});hljs.registerLanguage(\"rust\",function(e){var t=\"([ui](8|16|32|64|128|size)|f(32|64))?\",r=\"drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!\";return{aliases:[\"rs\"],k:{keyword:\"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield\",literal:\"true false Some None Ok Err\",built_in:r},l:e.IR+\"!?\",i:\"</\",c:[e.CLCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),e.inherit(e.QSM,{b:/b?\"/,i:null}),{cN:\"string\",v:[{b:/r(#*)\"(.|\\n)*?\"\\1(?!#)/},{b:/b?'\\\\?(x\\w{2}|u\\w{4}|U\\w{8}|.)'/}]},{cN:\"symbol\",b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:\"number\",v:[{b:\"\\\\b0b([01_]+)\"+t},{b:\"\\\\b0o([0-7_]+)\"+t},{b:\"\\\\b0x([A-Fa-f0-9_]+)\"+t},{b:\"\\\\b(\\\\d[\\\\d_]*(\\\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)\"+t}],relevance:0},{cN:\"function\",bK:\"fn\",e:\"(\\\\(|<)\",eE:!0,c:[e.UTM]},{cN:\"meta\",b:\"#\\\\!?\\\\[\",e:\"\\\\]\",c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{cN:\"class\",bK:\"type\",e:\";\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"\\\\S\"},{cN:\"class\",bK:\"trait enum struct union\",e:\"{\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"[\\\\w\\\\d]\"},{b:e.IR+\"::\",k:{built_in:r}},{b:\"->\"}]}});hljs.registerLanguage(\"http\",function(e){var t=\"HTTP/[0-9\\\\.]+\";return{aliases:[\"https\"],i:\"\\\\S\",c:[{b:\"^\"+t,e:\"$\",c:[{cN:\"number\",b:\"\\\\b\\\\d{3}\\\\b\"}]},{b:\"^[A-Z]+ (.*?) \"+t+\"$\",rB:!0,e:\"$\",c:[{cN:\"string\",b:\" \",e:\" \",eB:!0,eE:!0},{b:t},{cN:\"keyword\",b:\"[A-Z]+\"}]},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,i:\"\\\\n|\\\\s|=\",starts:{e:\"$\",relevance:0}},{b:\"\\\\n\\\\n\",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage(\"powershell\",function(e){var t={keyword:\"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter\"},n={b:\"`[\\\\s\\\\S]\",relevance:0},c={cN:\"variable\",v:[{b:/\\$\\B/},{cN:\"keyword\",b:/\\$this/},{b:/\\$[\\w\\d][\\w\\d_:]*/}]},i={cN:\"string\",v:[{b:/\"/,e:/\"/},{b:/@\"/,e:/^\"@/}],c:[n,c,{cN:\"variable\",b:/\\$[A-z]/,e:/[^A-z]/}]},a={cN:\"string\",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},r=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[{cN:\"doctag\",v:[{b:/\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/}]}]}),o={cN:\"built_in\",v:[{b:\"(\".concat(\"Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|New|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Complete|Confirm|Deny|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where\",\")+(-)[\\\\w\\\\d]+\")}]},l={cN:\"class\",bK:\"class enum\",e:/\\s*[{]/,eE:!0,relevance:0,c:[e.TM]},s={cN:\"function\",b:/function\\s+/,e:/\\s*\\{|$/,eE:!0,rB:!0,relevance:0,c:[{b:\"function\",relevance:0,cN:\"keyword\"},{cN:\"title\",b:/\\w[\\w\\d]*((-)[\\w\\d]+)*/,relevance:0},{b:/\\(/,e:/\\)/,cN:\"params\",relevance:0,c:[c]}]},p={b:/using\\s/,e:/$/,rB:!0,c:[i,a,{cN:\"keyword\",b:/(using|assembly|command|module|namespace|type)/}]},b={v:[{cN:\"operator\",b:\"(\".concat(\"-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor\",\")\\\\b\")},{cN:\"literal\",b:/(-)[\\w\\d]+/,relevance:0}]},d={cN:\"function\",b:/\\[.*\\]\\s*[\\w]+[ ]??\\(/,e:/$/,rB:!0,relevance:0,c:[{cN:\"keyword\",b:\"(\".concat(t.keyword.toString().replace(/\\s/g,\"|\"),\")\\\\b\"),endsParent:!0,relevance:0},e.inherit(e.TM,{endsParent:!0})]},u=[d,r,n,e.NM,i,a,o,c,{cN:\"literal\",b:/\\$(null|true|false)\\b/},{cN:\"selector-tag\",b:/\\@\\B/,relevance:0}],m={b:/\\[/,e:/\\]/,eB:!0,eE:!0,relevance:0,c:[].concat(\"self\",u,{b:\"(\"+[\"string\",\"char\",\"byte\",\"int\",\"long\",\"bool\",\"decimal\",\"single\",\"double\",\"DateTime\",\"xml\",\"array\",\"hashtable\",\"void\"].join(\"|\")+\")\",cN:\"built_in\",relevance:0},{cN:\"type\",b:/[\\.\\w\\d]+/,relevance:0})};return d.c.unshift(m),{aliases:[\"ps\",\"ps1\"],l:/-?[A-z\\.\\-]+/,cI:!0,k:t,c:u.concat(l,s,p,b,m)}});hljs.registerLanguage(\"dart\",function(e){var t={cN:\"subst\",v:[{b:\"\\\\$[A-Za-z0-9_]+\"}]},r={cN:\"subst\",v:[{b:\"\\\\${\",e:\"}\"}],k:\"true false null this is new super\"},n={cN:\"string\",v:[{b:\"r'''\",e:\"'''\"},{b:'r\"\"\"',e:'\"\"\"'},{b:\"r'\",e:\"'\",i:\"\\\\n\"},{b:'r\"',e:'\"',i:\"\\\\n\"},{b:\"'''\",e:\"'''\",c:[e.BE,t,r]},{b:'\"\"\"',e:'\"\"\"',c:[e.BE,t,r]},{b:\"'\",e:\"'\",i:\"\\\\n\",c:[e.BE,t,r]},{b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE,t,r]}]};r.c=[e.CNM,n];return{k:{keyword:\"abstract as assert async await break case catch class const continue covariant default deferred do dynamic else enum export extends extension external factory false final finally for Function get hide if implements import in inferface is library mixin new null on operator part rethrow return set show static super switch sync this throw true try typedef var void while with yield\",built_in:\"Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double dynamic int num print Element ElementList document querySelector querySelectorAll window\"},c:[n,e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{sL:\"markdown\"}),e.C(\"///+\\\\s*\",\"$\",{c:[{sL:\"markdown\",b:\".\",e:\"$\"}]}),e.CLCM,e.CBCM,{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,c:[{bK:\"extends implements\"},e.UTM]},e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"},{b:\"=>\"}]}});hljs.registerLanguage(\"python\",function(e){var r={keyword:\"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10\",built_in:\"Ellipsis NotImplemented\",literal:\"False None True\"},b={cN:\"meta\",b:/^(>>>|\\.\\.\\.) /},c={cN:\"subst\",b:/\\{/,e:/\\}/,k:r,i:/#/},a={b:/\\{\\{/,relevance:0},l={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,b],relevance:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,c:[e.BE,b],relevance:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,b,a,c]},{b:/(fr|rf|f)\"\"\"/,e:/\"\"\"/,c:[e.BE,b,a,c]},{b:/(u|r|ur)'/,e:/'/,relevance:10},{b:/(u|r|ur)\"/,e:/\"/,relevance:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,a,c]},{b:/(fr|rf|f)\"/,e:/\"/,c:[e.BE,a,c]},e.ASM,e.QSM]},n={cN:\"number\",relevance:0,v:[{b:e.BNR+\"[lLjJ]?\"},{b:\"\\\\b(0o[0-7]+)[lLjJ]?\"},{b:e.CNR+\"[lLjJ]?\"}]},i={cN:\"params\",b:/\\(/,e:/\\)/,c:[\"self\",b,n,l,e.HCM]};return c.c=[l,n,b],{aliases:[\"py\",\"gyp\",\"ipython\"],k:r,i:/(<\\/|->|\\?)|=>/,c:[b,n,{bK:\"if\",relevance:0},l,e.HCM,{v:[{cN:\"function\",bK:\"def\"},{cN:\"class\",bK:\"class\"}],e:/:/,i:/[${=;\\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:\"None\"}]},{cN:\"meta\",b:/^[\\t ]*@/,e:/$/},{b:/\\b(print|exec)\\(/}]}});hljs.registerLanguage(\"sql\",function(e){var t=e.C(\"--\",\"$\");return{cI:!0,i:/[<>{}*]/,c:[{bK:\"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with\",e:/;/,eW:!0,l:/[\\w\\.]+/,k:{keyword:\"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek\",literal:\"true false null unknown\",built_in:\"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[{b:\"''\"}]},{cN:\"string\",b:'\"',e:'\"',c:[{b:'\"\"'}]},{cN:\"string\",b:\"`\",e:\"`\"},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}});hljs.registerLanguage(\"cs\",function(e){var a={keyword:\"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield\",literal:\"null false true\"},i={cN:\"number\",v:[{b:\"\\\\b(0b[01']+)\"},{b:\"(-?)\\\\b([\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)(u|U|l|L|ul|UL|f|F|b|B)\"},{b:\"(-?)(\\\\b0[xX][a-fA-F0-9']+|(\\\\b[\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)([eE][-+]?[\\\\d']+)?)\"}],relevance:0},c={cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},r=e.inherit(c,{i:/\\n/}),n={cN:\"subst\",b:\"{\",e:\"}\",k:a},t=e.inherit(n,{i:/\\n/}),s={cN:\"string\",b:/\\$\"/,e:'\"',i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},e.BE,t]},l={cN:\"string\",b:/\\$@\"/,e:'\"',c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},n]},b=e.inherit(l,{i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},t]});n.c=[l,s,c,e.ASM,e.QSM,i,e.CBCM],t.c=[b,s,r,e.ASM,e.QSM,i,e.inherit(e.CBCM,{i:/\\n/})];var o={v:[l,s,c,e.ASM,e.QSM]},d=e.IR+\"(<\"+e.IR+\"(\\\\s*,\\\\s*\"+e.IR+\")*>)?(\\\\[\\\\])?\";return{aliases:[\"csharp\",\"c#\"],k:a,i:/::/,c:[e.C(\"///\",\"$\",{rB:!0,c:[{cN:\"doctag\",v:[{b:\"///\",relevance:0},{b:\"\\x3c!--|--\\x3e\"},{b:\"</?\",e:\">\"}]}]}),e.CLCM,e.CBCM,{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elif endif define undef warning error line region endregion pragma checksum\"}},o,i,{bK:\"class interface\",e:/[{;=]/,i:/[^\\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:\"namespace\",e:/[{;=]/,i:/[^\\s:]/,c:[e.inherit(e.TM,{b:\"[a-zA-Z](\\\\.?\\\\w)*\"}),e.CLCM,e.CBCM]},{cN:\"meta\",b:\"^\\\\s*\\\\[\",eB:!0,e:\"\\\\]\",eE:!0,c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{bK:\"new return throw await else\",relevance:0},{cN:\"function\",b:\"(\"+d+\"\\\\s+)+\"+e.IR+\"\\\\s*\\\\(\",rB:!0,e:/\\s*[{;=]/,eE:!0,k:a,c:[{b:e.IR+\"\\\\s*\\\\(\",rB:!0,c:[e.TM],relevance:0},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:a,relevance:0,c:[o,i,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage(\"css\",function(e){var c={b:/(?:[A-Z\\_\\.\\-]+|--[a-zA-Z0-9_-]+)\\s*:/,rB:!0,e:\";\",eW:!0,c:[{cN:\"attribute\",b:/\\S/,e:\":\",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\\w-]+\\(/,rB:!0,c:[{cN:\"built_in\",b:/[\\w-]+/},{b:/\\(/,e:/\\)/,c:[e.ASM,e.QSM,e.CSSNM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"number\",b:\"#[0-9A-Fa-f]+\"},{cN:\"meta\",b:\"!important\"}]}}]};return{cI:!0,i:/[=\\/|'\\$]/,c:[e.CBCM,{cN:\"selector-id\",b:/#[A-Za-z0-9_-]+/},{cN:\"selector-class\",b:/\\.[A-Za-z0-9_-]+/},{cN:\"selector-attr\",b:/\\[/,e:/\\]/,i:\"$\",c:[e.ASM,e.QSM]},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"@(page|font-face)\",l:\"@[a-z-]+\",k:\"@page @font-face\"},{b:\"@\",e:\"[{;]\",i:/:/,rB:!0,c:[{cN:\"keyword\",b:/@\\-?\\w[\\w]*(\\-\\w+)*/},{b:/\\s/,eW:!0,eE:!0,relevance:0,k:\"and or not only\",c:[{b:/[a-z-]+:/,cN:\"attribute\"},e.ASM,e.QSM,e.CSSNM]}]},{cN:\"selector-tag\",b:\"[a-zA-Z-][a-zA-Z0-9_-]*\",relevance:0},{b:\"{\",e:\"}\",i:/\\S/,c:[e.CBCM,c]}]}});hljs.registerLanguage(\"javascript\",function(e){var r=\"[A-Za-z$_][0-9A-Za-z$_]*\",a={keyword:\"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise\"},t={cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)n?\"},{b:\"\\\\b(0[oO][0-7]+)n?\"},{b:e.CNR+\"n?\"}],relevance:0},c={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\",k:a,c:[]},n={b:\"html`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,c],sL:\"xml\"}},s={b:\"css`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,c],sL:\"css\"}},o={cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,c]};c.c=[e.ASM,e.QSM,n,s,o,t,e.RM];var i=c.c.concat([e.CBCM,e.CLCM]);return{aliases:[\"js\",\"jsx\",\"mjs\",\"cjs\"],k:a,c:[{cN:\"meta\",relevance:10,b:/^\\s*['\"]use (strict|asm)['\"]/},{cN:\"meta\",b:/^#!/,e:/$/},e.ASM,e.QSM,n,s,o,e.CLCM,e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{relevance:0,c:[{cN:\"doctag\",b:\"@[A-Za-z]+\",c:[{cN:\"type\",b:\"\\\\{\",e:\"\\\\}\",relevance:0},{cN:\"variable\",b:r+\"(?=\\\\s*(-)|$)\",endsParent:!0,relevance:0},{b:/(?=[^\\n])\\s/,relevance:0}]}]}),e.CBCM,t,{b:/[{,\\n]\\s*/,relevance:0,c:[{b:r+\"\\\\s*:\",rB:!0,relevance:0,c:[{cN:\"attr\",b:r,relevance:0}]}]},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+r+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:r},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:a,c:i}]}]},{cN:\"\",b:/\\s/,e:/\\s*/,skip:!0},{b:/</,e:/(\\/[A-Za-z0-9\\\\._:-]+|[A-Za-z0-9\\\\._:-]+\\/)>/,sL:\"xml\",c:[{b:/<[A-Za-z0-9\\\\._:-]+\\s*\\/>/,skip:!0},{b:/<[A-Za-z0-9\\\\._:-]+/,e:/(\\/[A-Za-z0-9\\\\._:-]+|[A-Za-z0-9\\\\._:-]+\\/)>/,skip:!0,c:[{b:/<[A-Za-z0-9\\\\._:-]+\\s*\\/>/,skip:!0},\"self\"]}]}],relevance:0},{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:i}],i:/\\[|%/},{b:/\\$[(.]/},e.METHOD_GUARD,{cN:\"class\",bK:\"class\",e:/[{;=]/,eE:!0,i:/[:\"\\[\\]]/,c:[{bK:\"extends\"},e.UTM]},{bK:\"constructor get set\",e:/\\{/,eE:!0}],i:/#(?!!)/}});"
  },
  {
    "path": "assets/js/jquery.pjax.js",
    "content": "/*!\n * Copyright 2012, Chris Wanstrath\n * Released under the MIT License\n * https://github.com/defunkt/jquery-pjax\n */\n\n(function($){\n\n// When called on a container with a selector, fetches the href with\n// ajax into the container or with the data-pjax attribute on the link\n// itself.\n//\n// Tries to make sure the back button and ctrl+click work the way\n// you'd expect.\n//\n// Exported as $.fn.pjax\n//\n// Accepts a jQuery ajax options object that may include these\n// pjax specific options:\n//\n//\n// container - String selector for the element where to place the response body.\n//      push - Whether to pushState the URL. Defaults to true (of course).\n//   replace - Want to use replaceState instead? That's cool.\n//\n// For convenience the second parameter can be either the container or\n// the options object.\n//\n// Returns the jQuery object\nfunction fnPjax(selector, container, options) {\n  options = optionsFor(container, options)\n  return this.on('click.pjax', selector, function(event) {\n    var opts = options\n    if (!opts.container) {\n      opts = $.extend({}, options)\n      opts.container = $(this).attr('data-pjax')\n    }\n    handleClick(event, opts)\n  })\n}\n\n// Public: pjax on click handler\n//\n// Exported as $.pjax.click.\n//\n// event   - \"click\" jQuery.Event\n// options - pjax options\n//\n// Examples\n//\n//   $(document).on('click', 'a', $.pjax.click)\n//   // is the same as\n//   $(document).pjax('a')\n//\n// Returns nothing.\nfunction handleClick(event, container, options) {\n  options = optionsFor(container, options)\n\n  var link = event.currentTarget\n  var $link = $(link)\n\n  if (link.tagName.toUpperCase() !== 'A')\n    throw \"$.fn.pjax or $.pjax.click requires an anchor element\"\n\n  // Middle click, cmd click, and ctrl click should open\n  // links in a new tab as normal.\n  if ( event.which > 1 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey )\n    return\n\n  // Ignore cross origin links\n  if ( location.protocol !== link.protocol || location.hostname !== link.hostname )\n    return\n\n  // Ignore case when a hash is being tacked on the current URL\n  if ( link.href.indexOf('#') > -1 && stripHash(link) == stripHash(location) )\n    return\n\n  // Ignore event with default prevented\n  if (event.isDefaultPrevented())\n    return\n\n  var defaults = {\n    url: link.href,\n    container: $link.attr('data-pjax'),\n    target: link\n  }\n\n  var opts = $.extend({}, defaults, options)\n  var clickEvent = $.Event('pjax:click')\n  $link.trigger(clickEvent, [opts])\n\n  if (!clickEvent.isDefaultPrevented()) {\n    pjax(opts)\n    event.preventDefault()\n    $link.trigger('pjax:clicked', [opts])\n  }\n}\n\n// Public: pjax on form submit handler\n//\n// Exported as $.pjax.submit\n//\n// event   - \"click\" jQuery.Event\n// options - pjax options\n//\n// Examples\n//\n//  $(document).on('submit', 'form', function(event) {\n//    $.pjax.submit(event, '[data-pjax-container]')\n//  })\n//\n// Returns nothing.\nfunction handleSubmit(event, container, options) {\n  options = optionsFor(container, options)\n\n  var form = event.currentTarget\n  var $form = $(form)\n\n  if (form.tagName.toUpperCase() !== 'FORM')\n    throw \"$.pjax.submit requires a form element\"\n\n  var defaults = {\n    type: ($form.attr('method') || 'GET').toUpperCase(),\n    url: $form.attr('action'),\n    container: $form.attr('data-pjax'),\n    target: form\n  }\n\n  if (defaults.type !== 'GET' && window.FormData !== undefined) {\n    defaults.data = new FormData(form)\n    defaults.processData = false\n    defaults.contentType = false\n  } else {\n    // Can't handle file uploads, exit\n    if ($form.find(':file').length) {\n      return\n    }\n\n    // Fallback to manually serializing the fields\n    defaults.data = $form.serializeArray()\n  }\n\n  pjax($.extend({}, defaults, options))\n\n  event.preventDefault()\n}\n\n// Loads a URL with ajax, puts the response body inside a container,\n// then pushState()'s the loaded URL.\n//\n// Works just like $.ajax in that it accepts a jQuery ajax\n// settings object (with keys like url, type, data, etc).\n//\n// Accepts these extra keys:\n//\n// container - String selector for where to stick the response body.\n//      push - Whether to pushState the URL. Defaults to true (of course).\n//   replace - Want to use replaceState instead? That's cool.\n//\n// Use it just like $.ajax:\n//\n//   var xhr = $.pjax({ url: this.href, container: '#main' })\n//   console.log( xhr.readyState )\n//\n// Returns whatever $.ajax returns.\nfunction pjax(options) {\n  options = $.extend(true, {}, $.ajaxSettings, pjax.defaults, options)\n\n  if ($.isFunction(options.url)) {\n    options.url = options.url()\n  }\n\n  var hash = parseURL(options.url).hash\n\n  var containerType = $.type(options.container)\n  if (containerType !== 'string') {\n    throw \"expected string value for 'container' option; got \" + containerType\n  }\n  var context = options.context = $(options.container)\n  if (!context.length) {\n    throw \"the container selector '\" + options.container + \"' did not match anything\"\n  }\n\n  // We want the browser to maintain two separate internal caches: one\n  // for pjax'd partial page loads and one for normal page loads.\n  // Without adding this secret parameter, some browsers will often\n  // confuse the two.\n  if (!options.data) options.data = {}\n  if ($.isArray(options.data)) {\n    options.data.push({name: '_pjax', value: options.container})\n  } else {\n    options.data._pjax = options.container\n  }\n\n  function fire(type, args, props) {\n    if (!props) props = {}\n    props.relatedTarget = options.target\n    var event = $.Event(type, props)\n    context.trigger(event, args)\n    return !event.isDefaultPrevented()\n  }\n\n  var timeoutTimer\n\n  options.beforeSend = function(xhr, settings) {\n    // No timeout for non-GET requests\n    // Its not safe to request the resource again with a fallback method.\n    if (settings.type !== 'GET') {\n      settings.timeout = 0\n    }\n\n    xhr.setRequestHeader('X-PJAX', 'true')\n    xhr.setRequestHeader('X-PJAX-Container', options.container)\n\n    if (!fire('pjax:beforeSend', [xhr, settings]))\n      return false\n\n    if (settings.timeout > 0) {\n      timeoutTimer = setTimeout(function() {\n        if (fire('pjax:timeout', [xhr, options]))\n          xhr.abort('timeout')\n      }, settings.timeout)\n\n      // Clear timeout setting so jquerys internal timeout isn't invoked\n      settings.timeout = 0\n    }\n\n    var url = parseURL(settings.url)\n    if (hash) url.hash = hash\n    options.requestUrl = stripInternalParams(url)\n  }\n\n  options.complete = function(xhr, textStatus) {\n    if (timeoutTimer)\n      clearTimeout(timeoutTimer)\n\n    fire('pjax:complete', [xhr, textStatus, options])\n\n    fire('pjax:end', [xhr, options])\n  }\n\n  options.error = function(xhr, textStatus, errorThrown) {\n    var container = extractContainer(\"\", xhr, options)\n\n    var allowed = fire('pjax:error', [xhr, textStatus, errorThrown, options])\n    if (options.type == 'GET' && textStatus !== 'abort' && allowed) {\n      locationReplace(container.url)\n    }\n  }\n\n  options.success = function(data, status, xhr) {\n    var previousState = pjax.state\n\n    // If $.pjax.defaults.version is a function, invoke it first.\n    // Otherwise it can be a static string.\n    var currentVersion = typeof $.pjax.defaults.version === 'function' ?\n      $.pjax.defaults.version() :\n      $.pjax.defaults.version\n\n    var latestVersion = xhr.getResponseHeader('X-PJAX-Version')\n\n    var container = extractContainer(data, xhr, options)\n\n    var url = parseURL(container.url)\n    if (hash) {\n      url.hash = hash\n      container.url = url.href\n    }\n\n    // If there is a layout version mismatch, hard load the new url\n    if (currentVersion && latestVersion && currentVersion !== latestVersion) {\n      locationReplace(container.url)\n      return\n    }\n\n    // If the new response is missing a body, hard load the page\n    if (!container.contents) {\n      locationReplace(container.url)\n      return\n    }\n\n    pjax.state = {\n      id: options.id || uniqueId(),\n      url: container.url,\n      title: container.title,\n      container: options.container,\n      fragment: options.fragment,\n      timeout: options.timeout\n    }\n\n    if (options.push || options.replace) {\n      window.history.replaceState(pjax.state, container.title, container.url)\n    }\n\n    // Only blur the focus if the focused element is within the container.\n    var blurFocus = $.contains(context, document.activeElement)\n\n    // Clear out any focused controls before inserting new page contents.\n    if (blurFocus) {\n      try {\n        document.activeElement.blur()\n      } catch (e) { /* ignore */ }\n    }\n\n    if (container.title) document.title = container.title\n\n    fire('pjax:beforeReplace', [container.contents, options], {\n      state: pjax.state,\n      previousState: previousState\n    })\n    context.html(container.contents)\n\n    // FF bug: Won't autofocus fields that are inserted via JS.\n    // This behavior is incorrect. So if theres no current focus, autofocus\n    // the last field.\n    //\n    // http://www.w3.org/html/wg/drafts/html/master/forms.html\n    var autofocusEl = context.find('input[autofocus], textarea[autofocus]').last()[0]\n    if (autofocusEl && document.activeElement !== autofocusEl) {\n      autofocusEl.focus()\n    }\n\n    executeScriptTags(container.scripts)\n\n    var scrollTo = options.scrollTo\n\n    // Ensure browser scrolls to the element referenced by the URL anchor\n    if (hash) {\n      var name = decodeURIComponent(hash.slice(1))\n      var target = document.getElementById(name) || document.getElementsByName(name)[0]\n      if (target) scrollTo = $(target).offset().top\n    }\n\n    if (typeof scrollTo == 'number') $(window).scrollTop(scrollTo)\n\n    fire('pjax:success', [data, status, xhr, options])\n  }\n\n\n  // Initialize pjax.state for the initial page load. Assume we're\n  // using the container and options of the link we're loading for the\n  // back button to the initial page. This ensures good back button\n  // behavior.\n  if (!pjax.state) {\n    pjax.state = {\n      id: uniqueId(),\n      url: window.location.href,\n      title: document.title,\n      container: options.container,\n      fragment: options.fragment,\n      timeout: options.timeout\n    }\n    window.history.replaceState(pjax.state, document.title)\n  }\n\n  // Cancel the current request if we're already pjaxing\n  abortXHR(pjax.xhr)\n\n  pjax.options = options\n  var xhr = pjax.xhr = $.ajax(options)\n\n  if (xhr.readyState > 0) {\n    if (options.push && !options.replace) {\n      // Cache current container element before replacing it\n      cachePush(pjax.state.id, [options.container, cloneContents(context)])\n\n      window.history.pushState(null, \"\", options.requestUrl)\n    }\n\n    fire('pjax:start', [xhr, options])\n    fire('pjax:send', [xhr, options])\n  }\n\n  return pjax.xhr\n}\n\n// Public: Reload current page with pjax.\n//\n// Returns whatever $.pjax returns.\nfunction pjaxReload(container, options) {\n  var defaults = {\n    url: window.location.href,\n    push: false,\n    replace: true,\n    scrollTo: false\n  }\n\n  return pjax($.extend(defaults, optionsFor(container, options)))\n}\n\n// Internal: Hard replace current state with url.\n//\n// Work for around WebKit\n//   https://bugs.webkit.org/show_bug.cgi?id=93506\n//\n// Returns nothing.\nfunction locationReplace(url) {\n  window.history.replaceState(null, \"\", pjax.state.url)\n  window.location.replace(url)\n}\n\n\nvar initialPop = true\nvar initialURL = window.location.href\nvar initialState = window.history.state\n\n// Initialize $.pjax.state if possible\n// Happens when reloading a page and coming forward from a different\n// session history.\nif (initialState && initialState.container) {\n  pjax.state = initialState\n}\n\n// Non-webkit browsers don't fire an initial popstate event\nif ('state' in window.history) {\n  initialPop = false\n}\n\n// popstate handler takes care of the back and forward buttons\n//\n// You probably shouldn't use pjax on pages with other pushState\n// stuff yet.\nfunction onPjaxPopstate(event) {\n\n  // Hitting back or forward should override any pending PJAX request.\n  if (!initialPop) {\n    abortXHR(pjax.xhr)\n  }\n\n  var previousState = pjax.state\n  var state = event.state\n  var direction\n\n  if (state && state.container) {\n    // When coming forward from a separate history session, will get an\n    // initial pop with a state we are already at. Skip reloading the current\n    // page.\n    if (initialPop && initialURL == state.url) return\n\n    if (previousState) {\n      // If popping back to the same state, just skip.\n      // Could be clicking back from hashchange rather than a pushState.\n      if (previousState.id === state.id) return\n\n      // Since state IDs always increase, we can deduce the navigation direction\n      direction = previousState.id < state.id ? 'forward' : 'back'\n    }\n\n    var cache = cacheMapping[state.id] || []\n    var containerSelector = cache[0] || state.container\n    var container = $(containerSelector), contents = cache[1]\n\n    if (container.length) {\n      if (previousState) {\n        // Cache current container before replacement and inform the\n        // cache which direction the history shifted.\n        cachePop(direction, previousState.id, [containerSelector, cloneContents(container)])\n      }\n\n      var popstateEvent = $.Event('pjax:popstate', {\n        state: state,\n        direction: direction\n      })\n      container.trigger(popstateEvent)\n\n      var options = {\n        id: state.id,\n        url: state.url,\n        container: containerSelector,\n        push: false,\n        fragment: state.fragment,\n        timeout: state.timeout,\n        scrollTo: false\n      }\n\n      if (contents) {\n        container.trigger('pjax:start', [null, options])\n\n        pjax.state = state\n        if (state.title) document.title = state.title\n        var beforeReplaceEvent = $.Event('pjax:beforeReplace', {\n          state: state,\n          previousState: previousState\n        })\n        container.trigger(beforeReplaceEvent, [contents, options])\n        container.html(contents)\n\n        container.trigger('pjax:end', [null, options])\n      } else {\n        pjax(options)\n      }\n\n      // Force reflow/relayout before the browser tries to restore the\n      // scroll position.\n      container[0].offsetHeight // eslint-disable-line no-unused-expressions\n    } else {\n      locationReplace(location.href)\n    }\n  }\n  initialPop = false\n}\n\n// Fallback version of main pjax function for browsers that don't\n// support pushState.\n//\n// Returns nothing since it retriggers a hard form submission.\nfunction fallbackPjax(options) {\n  var url = $.isFunction(options.url) ? options.url() : options.url,\n      method = options.type ? options.type.toUpperCase() : 'GET'\n\n  var form = $('<form>', {\n    method: method === 'GET' ? 'GET' : 'POST',\n    action: url,\n    style: 'display:none'\n  })\n\n  if (method !== 'GET' && method !== 'POST') {\n    form.append($('<input>', {\n      type: 'hidden',\n      name: '_method',\n      value: method.toLowerCase()\n    }))\n  }\n\n  var data = options.data\n  if (typeof data === 'string') {\n    $.each(data.split('&'), function(index, value) {\n      var pair = value.split('=')\n      form.append($('<input>', {type: 'hidden', name: pair[0], value: pair[1]}))\n    })\n  } else if ($.isArray(data)) {\n    $.each(data, function(index, value) {\n      form.append($('<input>', {type: 'hidden', name: value.name, value: value.value}))\n    })\n  } else if (typeof data === 'object') {\n    var key\n    for (key in data)\n      form.append($('<input>', {type: 'hidden', name: key, value: data[key]}))\n  }\n\n  $(document.body).append(form)\n  form.submit()\n}\n\n// Internal: Abort an XmlHttpRequest if it hasn't been completed,\n// also removing its event handlers.\nfunction abortXHR(xhr) {\n  if ( xhr && xhr.readyState < 4) {\n    xhr.onreadystatechange = $.noop\n    xhr.abort()\n  }\n}\n\n// Internal: Generate unique id for state object.\n//\n// Use a timestamp instead of a counter since ids should still be\n// unique across page loads.\n//\n// Returns Number.\nfunction uniqueId() {\n  return (new Date).getTime()\n}\n\nfunction cloneContents(container) {\n  var cloned = container.clone()\n  // Unmark script tags as already being eval'd so they can get executed again\n  // when restored from cache. HAXX: Uses jQuery internal method.\n  cloned.find('script').each(function(){\n    if (!this.src) $._data(this, 'globalEval', false)\n  })\n  return cloned.contents()\n}\n\n// Internal: Strip internal query params from parsed URL.\n//\n// Returns sanitized url.href String.\nfunction stripInternalParams(url) {\n  url.search = url.search.replace(/([?&])(_pjax|_)=[^&]*/g, '').replace(/^&/, '')\n  return url.href.replace(/\\?($|#)/, '$1')\n}\n\n// Internal: Parse URL components and returns a Locationish object.\n//\n// url - String URL\n//\n// Returns HTMLAnchorElement that acts like Location.\nfunction parseURL(url) {\n  var a = document.createElement('a')\n  a.href = url\n  return a\n}\n\n// Internal: Return the `href` component of given URL object with the hash\n// portion removed.\n//\n// location - Location or HTMLAnchorElement\n//\n// Returns String\nfunction stripHash(location) {\n  return location.href.replace(/#.*/, '')\n}\n\n// Internal: Build options Object for arguments.\n//\n// For convenience the first parameter can be either the container or\n// the options object.\n//\n// Examples\n//\n//   optionsFor('#container')\n//   // => {container: '#container'}\n//\n//   optionsFor('#container', {push: true})\n//   // => {container: '#container', push: true}\n//\n//   optionsFor({container: '#container', push: true})\n//   // => {container: '#container', push: true}\n//\n// Returns options Object.\nfunction optionsFor(container, options) {\n  if (container && options) {\n    options = $.extend({}, options)\n    options.container = container\n    return options\n  } else if ($.isPlainObject(container)) {\n    return container\n  } else {\n    return {container: container}\n  }\n}\n\n// Internal: Filter and find all elements matching the selector.\n//\n// Where $.fn.find only matches descendants, findAll will test all the\n// top level elements in the jQuery object as well.\n//\n// elems    - jQuery object of Elements\n// selector - String selector to match\n//\n// Returns a jQuery object.\nfunction findAll(elems, selector) {\n  return elems.filter(selector).add(elems.find(selector))\n}\n\nfunction parseHTML(html) {\n  return $.parseHTML(html, document, true)\n}\n\n// Internal: Extracts container and metadata from response.\n//\n// 1. Extracts X-PJAX-URL header if set\n// 2. Extracts inline <title> tags\n// 3. Builds response Element and extracts fragment if set\n//\n// data    - String response data\n// xhr     - XHR response\n// options - pjax options Object\n//\n// Returns an Object with url, title, and contents keys.\nfunction extractContainer(data, xhr, options) {\n  var obj = {}, fullDocument = /<html/i.test(data)\n\n  // Prefer X-PJAX-URL header if it was set, otherwise fallback to\n  // using the original requested url.\n  var serverUrl = xhr.getResponseHeader('X-PJAX-URL')\n  obj.url = serverUrl ? stripInternalParams(parseURL(serverUrl)) : options.requestUrl\n\n  var $head, $body\n  // Attempt to parse response html into elements\n  if (fullDocument) {\n    $body = $(parseHTML(data.match(/<body[^>]*>([\\s\\S.]*)<\\/body>/i)[0]))\n    var head = data.match(/<head[^>]*>([\\s\\S.]*)<\\/head>/i)\n    $head = head != null ? $(parseHTML(head[0])) : $body\n  } else {\n    $head = $body = $(parseHTML(data))\n  }\n\n  // If response data is empty, return fast\n  if ($body.length === 0)\n    return obj\n\n  // If there's a <title> tag in the header, use it as\n  // the page's title.\n  obj.title = findAll($head, 'title').last().text()\n\n  if (options.fragment) {\n    var $fragment = $body\n    // If they specified a fragment, look for it in the response\n    // and pull it out.\n    if (options.fragment !== 'body') {\n      $fragment = findAll($fragment, options.fragment).first()\n    }\n\n    if ($fragment.length) {\n      obj.contents = options.fragment === 'body' ? $fragment : $fragment.contents()\n\n      // If there's no title, look for data-title and title attributes\n      // on the fragment\n      if (!obj.title)\n        obj.title = $fragment.attr('title') || $fragment.data('title')\n    }\n\n  } else if (!fullDocument) {\n    obj.contents = $body\n  }\n\n  // Clean up any <title> tags\n  if (obj.contents) {\n    // Remove any parent title elements\n    obj.contents = obj.contents.not(function() { return $(this).is('title') })\n\n    // Then scrub any titles from their descendants\n    obj.contents.find('title').remove()\n\n    // Gather all script[src] elements\n    obj.scripts = findAll(obj.contents, 'script[src]').remove()\n    obj.contents = obj.contents.not(obj.scripts)\n  }\n\n  // Trim any whitespace off the title\n  if (obj.title) obj.title = $.trim(obj.title)\n\n  return obj\n}\n\n// Load an execute scripts using standard script request.\n//\n// Avoids jQuery's traditional $.getScript which does a XHR request and\n// globalEval.\n//\n// scripts - jQuery object of script Elements\n//\n// Returns nothing.\nfunction executeScriptTags(scripts) {\n  if (!scripts) return\n\n  var existingScripts = $('script[src]')\n\n  scripts.each(function() {\n    var src = this.src\n    var matchedScripts = existingScripts.filter(function() {\n      return this.src === src\n    })\n    if (matchedScripts.length) return\n\n    var script = document.createElement('script')\n    var type = $(this).attr('type')\n    if (type) script.type = type\n    script.src = $(this).attr('src')\n    document.head.appendChild(script)\n  })\n}\n\n// Internal: History DOM caching class.\nvar cacheMapping      = {}\nvar cacheForwardStack = []\nvar cacheBackStack    = []\n\n// Push previous state id and container contents into the history\n// cache. Should be called in conjunction with `pushState` to save the\n// previous container contents.\n//\n// id    - State ID Number\n// value - DOM Element to cache\n//\n// Returns nothing.\nfunction cachePush(id, value) {\n  cacheMapping[id] = value\n  cacheBackStack.push(id)\n\n  // Remove all entries in forward history stack after pushing a new page.\n  trimCacheStack(cacheForwardStack, 0)\n\n  // Trim back history stack to max cache length.\n  trimCacheStack(cacheBackStack, pjax.defaults.maxCacheLength)\n}\n\n// Shifts cache from directional history cache. Should be\n// called on `popstate` with the previous state id and container\n// contents.\n//\n// direction - \"forward\" or \"back\" String\n// id        - State ID Number\n// value     - DOM Element to cache\n//\n// Returns nothing.\nfunction cachePop(direction, id, value) {\n  var pushStack, popStack\n  cacheMapping[id] = value\n\n  if (direction === 'forward') {\n    pushStack = cacheBackStack\n    popStack  = cacheForwardStack\n  } else {\n    pushStack = cacheForwardStack\n    popStack  = cacheBackStack\n  }\n\n  pushStack.push(id)\n  id = popStack.pop()\n  if (id) delete cacheMapping[id]\n\n  // Trim whichever stack we just pushed to to max cache length.\n  trimCacheStack(pushStack, pjax.defaults.maxCacheLength)\n}\n\n// Trim a cache stack (either cacheBackStack or cacheForwardStack) to be no\n// longer than the specified length, deleting cached DOM elements as necessary.\n//\n// stack  - Array of state IDs\n// length - Maximum length to trim to\n//\n// Returns nothing.\nfunction trimCacheStack(stack, length) {\n  while (stack.length > length)\n    delete cacheMapping[stack.shift()]\n}\n\n// Public: Find version identifier for the initial page load.\n//\n// Returns String version or undefined.\nfunction findVersion() {\n  return $('meta').filter(function() {\n    var name = $(this).attr('http-equiv')\n    return name && name.toUpperCase() === 'X-PJAX-VERSION'\n  }).attr('content')\n}\n\n// Install pjax functions on $.pjax to enable pushState behavior.\n//\n// Does nothing if already enabled.\n//\n// Examples\n//\n//     $.pjax.enable()\n//\n// Returns nothing.\nfunction enable() {\n  $.fn.pjax = fnPjax\n  $.pjax = pjax\n  $.pjax.enable = $.noop\n  $.pjax.disable = disable\n  $.pjax.click = handleClick\n  $.pjax.submit = handleSubmit\n  $.pjax.reload = pjaxReload\n  $.pjax.defaults = {\n    timeout: 650,\n    push: true,\n    replace: false,\n    type: 'GET',\n    dataType: 'html',\n    scrollTo: 0,\n    maxCacheLength: 20,\n    version: findVersion\n  }\n  $(window).on('popstate.pjax', onPjaxPopstate)\n}\n\n// Disable pushState behavior.\n//\n// This is the case when a browser doesn't support pushState. It is\n// sometimes useful to disable pushState for debugging on a modern\n// browser.\n//\n// Examples\n//\n//     $.pjax.disable()\n//\n// Returns nothing.\nfunction disable() {\n  $.fn.pjax = function() { return this }\n  $.pjax = fallbackPjax\n  $.pjax.enable = enable\n  $.pjax.disable = $.noop\n  $.pjax.click = $.noop\n  $.pjax.submit = $.noop\n  $.pjax.reload = function() { window.location.reload() }\n\n  $(window).off('popstate.pjax', onPjaxPopstate)\n}\n\n\n// Add the state property to jQuery's event object so we can use it in\n// $(window).bind('popstate')\nif ($.event.props && $.inArray('state', $.event.props) < 0) {\n  $.event.props.push('state')\n} else if (!('state' in $.Event.prototype)) {\n  $.event.addProp('state')\n}\n\n// Is pjax supported by this browser?\n$.support.pjax =\n  window.history && window.history.pushState && window.history.replaceState &&\n  // pushState isn't reliable on iOS until 5.\n  !navigator.userAgent.match(/((iPod|iPhone|iPad).+\\bOS\\s+[1-4]\\D|WebApps\\/.+CFNetwork)/)\n\nif ($.support.pjax) {\n  enable()\n} else {\n  disable()\n}\n\n})(jQuery)\n"
  },
  {
    "path": "assets/js/modules/ArticleEngagement.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default class ArticleEngagement {\n  /**\n   * 点赞初始化\n   */\n  static likeInit() {\n    if ($('#agree-btn').length) {\n      $('#agree-btn').on('click', () => {\n        $('#agree-btn').prop('disabled', true);\n        $.ajax({\n          type: 'post',\n          url: $('#agree-btn').attr('data-url'),\n          data: `agree=${$('#agree-btn').attr('data-cid')}`,\n          async: true,\n          timeout: 30000,\n          cache: false,\n          success: data => {\n            const re = /\\d/;\n            if (re.test(data)) {\n              $('#agree-btn .agree-num').html(data);\n              $('.post-page').append(`<span id=\"agree-p\" role=\"alert\">${window.t.like} + 1</span>`);\n              $('#agree-p').css({\n                top: $('#agree-btn').offset().top - 25,\n                left: $('#agree-btn').offset().left + $('#agree-btn').outerWidth() / 2 - $('#agree-p').outerWidth() / 2\n              });\n\n              $('#agree-p').animate({\n                top: $('#agree-btn').offset().top - 70,\n                opacity: 0\n              }, 400, () => {\n                $('#agree-p').remove();\n              });\n            }\n          },\n          error: () => {\n            $('#agree-btn').prop('disabled', false);\n          }\n        });\n      });\n    }\n  }\n\n  /**\n   * 生成分享二维码\n   */\n  static shareQrCode() {\n    // 是否是文章页\n    if ($('#qr').length) {\n      // 生成文章二维码\n      $('#qr').qrcode({\n        width: 150,\n        height: 150,\n        text: $('#share-btn').attr('data-url')\n      });\n\n      // 给二维码图片添加 alt 属性\n      $('#qr canvas').attr({\n        role: 'img',\n        'aria-label': window.t.QRCode\n      });\n    }\n  }\n}"
  },
  {
    "path": "assets/js/modules/AvatarGenerator.js",
    "content": "export default class AvatarGenerator {\n  /**\n   * 创建 AvatarGenerator 实例\n   */\n  constructor() {\n    this.init();\n    this.linksLogo();\n  }\n\n  /**\n   * 初始化所有头像元素的事件监听\n   * 为头像图片绑定加载失败和加载成功事件处理器\n   * @returns {void}\n   */\n  init() {\n    $('.avatar').each((index, img) => {\n      const $img = $(img);\n      \n      // 监听图片加载错误事件\n      $img.on('error', () => {\n        this.generateTextAvatar($img);\n      });\n\n      // 监听图片加载成功事件，移除背景色\n      $img.on('load', () => {\n        $img.css('background-color', '');\n      });\n\n      // 检查图片是否已经加载失败（针对页面加载时就失败的情况）\n      if (img.complete && img.naturalHeight === 0) {\n        this.generateTextAvatar($img);\n      }\n    });\n  }\n\n  /**\n   * 生成文字头像\n   * @param {jQuery} $img - 图片元素\n   */\n  generateTextAvatar($img) {\n    const username = $img.attr('alt') || '';\n    const firstChar = username.charAt(0) || '?';\n    const backgroundColor = this.generateColor(username);\n\n    // 创建文字头像 div\n    const $textAvatar = $('<div></div>')\n      .addClass('avatar text-avatar')\n      .attr('role', 'img')\n      .attr('aria-label', username)\n      .css('background-color', backgroundColor)\n      .text(firstChar);\n\n    // 替换原有的 img 元素\n    $img.replaceWith($textAvatar);\n  }\n\n  /**\n   * 根据用户名生成确定的背景颜色\n   * @param {string} username - 用户名\n   * @returns {string} - 颜色值（HSL格式）\n   */\n  generateColor(username) {\n    // 计算用户名的哈希值\n    let hash = 0;\n    for (let i = 0; i < username.length; i++) {\n      hash = username.charCodeAt(i) + ((hash << 5) - hash);\n      hash = hash & hash; // 转换为32位整数\n    }\n\n    // 使用 HSL 颜色空间生成颜色\n    // 色相（Hue）: 0-360度，根据哈希值确定\n    const hue = Math.abs(hash % 360);\n    \n    // 饱和度（Saturation）: 固定在65-85%之间，保证颜色鲜艳\n    const saturation = 65 + (Math.abs(hash) % 21);\n    \n    // 亮度（Lightness）: 固定在35-50%之间，保证颜色足够深，文字清晰可见\n    const lightness = 35 + (Math.abs(hash >> 8) % 16);\n\n    return `hsl(${hue}, ${saturation}%, ${lightness}%)`;\n  }\n\n  /**\n   * 刷新所有头像（如果需要动态添加新头像时调用）\n   */\n  refresh() {\n    this.init();\n    this.linksLogo();\n  }\n\n  /**\n   * 为加载失败的链接 logo 设置默认 logo\n   * @returns \n   */\n  linksLogo() {\n    // 没有链接 logo 就不再往下执行\n    if ($('img.link-logo').length < 1) return false;\n    // 用字体图标替换加载失败的链接 logo\n    $('img.link-logo').on('error', ev => {\n      // 生成一个链接图标\n      $(ev.target).after(`<i class=\"link-logo float-left icon-link icon-logo rounded-circle\" aria-label=\"站点Logo\"></i>`);\n      // 移除加载失败的 logo\n      $(ev.target).remove();\n    });\n    // 移除加载完成的链接 logo 背景颜色\n    $('img.link-logo').on('load', ev => {\n      $(ev.target).css('background', 'none');\n    });\n  }\n}"
  },
  {
    "path": "assets/js/modules/ColorAndLanguage.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default class ColorAndLanguage {\n  /**\n   * 语言和配色初始化\n   */\n  init() {\n    // 导航栏的语言切换点击\n    $('header .change-language').on('click', ev => {\n      this.changeLanguage(ev);\n    });\n\n    // 侧边栏语言切换初始化\n    this.sidebarChangeLanguageInit();\n\n    // 切换主题配色初始化\n    this.changeColorInit();\n\n    // 配色切换按钮初始化\n    this.changeColorBtnInit();\n  }\n\n  /**\n   * 侧边栏的语言切换初始化（侧边栏内容会被 PJAX 替换，可能需要调用多次，所以单独拆分出来）\n   */\n  sidebarChangeLanguageInit() {\n    // 侧边栏的语言切换单选改变\n    $('.sidebar .change-language').on('change', ev => {\n      this.changeLanguage(ev);\n    });\n  }\n\n  /**\n   * 更改语言\n   * @param ev 事件 event\n   */\n  changeLanguage(ev) {\n    const language = $(ev.target).attr('data-language');\n    // 获取当前的时间戳\n    let time = Date.parse(new Date());\n    // 在当前的时间戳上 + 180天\n    time += 15552000000;\n    time = new Date(time);\n    // 写入 cookie\n    document.cookie = `language=${language};path=/;expires=Tue,${time}`;\n    location.reload();\n  }\n\n  /**\n   * 切换主题配色初始化\n   */\n  changeColorInit() {\n    // 切换主题配色按钮点击\n    $('#change-color-btn').on('click', ev => {\n      let color = '';  // 颜色\n      if ($('.dark-color').length) {\n        // 切换为浅色\n        $('body').removeClass('dark-color');\n        $('body').addClass($(ev.target).closest('button').attr('data-light'));\n        $('body').attr('data-color', $(ev.target).closest('button').attr('data-light'));\n        color = $(ev.target).closest('button').attr('data-light');\n        // 更改代码块配色\n        if ($('body').attr('data-code-theme') === 'auto') {\n          $('body').removeClass('github-dark').addClass('stackoverflow-light');\n        }\n      }else {\n        // 切换为深色\n        $('body').removeClass($('body').attr('data-color'));\n        $('body').addClass('dark-color');\n        $('body').attr('data-color', 'dark-color');\n        color = 'dark-color';\n        // 更改代码块配色\n        if ($('body').attr('data-code-theme') === 'auto') {\n          $('body').removeClass('stackoverflow-light').addClass('github-dark');\n        }\n      }\n      // 重新初始化配色切换按钮\n      this.changeColorBtnInit();\n      // 重新初始化配色切换按钮的 bootstrap 的工具提示\n      $('#change-color-btn').tooltip('show');\n\n      // 获取当前时间戳\n      let time = Date.parse(new Date());\n      // 在当前的时间戳上 + 180天\n      time += 15552000000;\n      time = new Date(time);\n      // 写入 cookie\n      document.cookie = `themeColor=${color};path=/;expires=Tue,${time}`;\n    });\n\n    // 切换主题配色按钮键盘按下回车\n    $('#change-color-btn').on('keypress', ev => {\n      if (ev.keyCode === 13) $('#change-color-btn').click();\n    });\n  }\n\n  /**\n   * 根据使用的主题配色来设置配色切换按钮的提示\n   */\n  changeColorBtnInit() {\n    if ($('.dark-color').length) {\n      $('#change-color-btn i').removeClass('icon-sun');\n      $('#change-color-btn i').addClass('icon-moon');\n      $('#change-color-btn').attr('title', window.t.switchToLightMode);\n    }else {\n      $('#change-color-btn i').removeClass('icon-moon');\n      $('#change-color-btn i').addClass('icon-sun');\n      $('#change-color-btn').attr('title', window.t.switchToDarkMode);\n    }\n    $('#change-color-btn').attr('data-original-title', $('#change-color-btn').attr('title'));\n    $('#change-color-btn').tooltip('update');\n  }\n}"
  },
  {
    "path": "assets/js/modules/Directory.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default class Directory {\n  isShow = false;  // 是否打开移动设备的目录\n  directoryTop = 0;  // 侧边栏章节目录的高度\n\n  /**\n   * 目录功能初始化\n   */\n  init() {\n    // 章节目录跳转初始化\n    this.directoryStyleInit();\n    // 侧边栏目录高亮初始化\n    this.directoryHighlightInit();\n    // 调整侧边栏目录的尺寸\n    this.directorySize();\n  }\n\n  /**\n   * 固定侧边栏目录的位置，页面滚动时调用\n   */\n  directoryPosition() {\n    if ($('.sidebar .directory').length && window.innerWidth >= 992) {\n      if ($(document).scrollTop() >= this.directoryTop) {\n        $('.sidebar .directory').css({\n          position: 'fixed',\n          top: 80\n        });\n      }else {\n        $('.sidebar .directory').css('position', 'static');\n      }\n    }\n  }\n\n  /**\n   * 移动设备目录开关按钮初始化，PJAX 替换完成后调用\n   */\n  directoryBtnInit() {\n    // 如果开启了移动设备目录并且目录按钮不存在就插入一个按钮\n    if ($('#directory-mobile').length && $('#directory-btn').length < 1) {\n      const directoryBtn = `\n      <button\n      type=\"button\"\n      id=\"directory-btn\"\n      class=\"btn rounded-circle d-block d-sm-block d-md-block d-lg-none d-xl-none\"\n      aria-expanded=\"false\"\n      aria-label=\"${window.t.tableOfContents}\" title=\"${window.t.tableOfContents}\"\n      >\n        <i class=\"icon-list-ol\"></i>\n      </button>\n      `;\n      $('#footer-btn-box').prepend(directoryBtn);\n      // 重置目录状态\n      if (this.isShow) this.isShow = false;\n    }\n\n    // 如果移动设备目录按钮存在但文章目录不存在就删除按钮\n    if ($('#directory-btn').length && $('#directory-mobile').length < 1) {\n      $('#directory-btn').remove();\n    }\n  }\n\n  /**\n   * 调整侧边栏目录的位置\n   */\n  directorySize() {\n    if ($('.sidebar .directory').length) {\n      // 获取侧边栏章节目录的位置\n      this.directoryTop = $('.sidebar .directory').offset().top;\n      $('.sidebar .directory').css('width', $('.sidebar .reference-line').innerWidth());\n      $('.sidebar .directory > .article-directory').css({\n        'max-height': window.innerHeight - 180\n      });\n    }\n  }\n\n  /**\n   * 章节目录跳转初始化\n   */\n  directoryStyleInit() {\n    // 目录链接点击\n    $('.directory-link').on('click', ev => {\n      const titleSelect = `[data-title=\"${$(ev.target).closest('a').attr('data-directory')}\"]`;\n      $('html').animate({\n        scrollTop: $(titleSelect).offset().top - 60\n      }, 400);\n      return false;\n    });\n\n    // 如果开启了移动设备文章目录就给目录添加事件\n    if ($('#directory-mobile').length) {\n      // 移动设备目录按钮点击\n      $('#directory-btn').on('click',  () => {\n        if (!this.isShow) {\n          $('#directory-mobile').css('display', 'flex');\n          $('#directory-mobile').animate({opacity: 1}, 250);\n          this.isShow = true;\n        }else {\n          $('#directory-mobile').animate({opacity: 0}, 250, () => {\n            $('#directory-mobile').hide();\n          });\n          this.isShow = false;\n        }\n        $('#directory-btn').attr('aria-expanded', this.isShow);\n      });\n\n      // 移动设备的关闭目录按钮点击\n      $('#directory-mobile .close-btn').on('click', () => {\n        $('#directory-btn').click();\n      });\n    }\n  }\n\n  /**\n   * 侧边栏目录高亮初始化\n   */\n  directoryHighlightInit() {\n    // 定义常量和进行一次性元素选择 ---\n    const MOBILE_BREAKPOINT = 992; // Bootstrap 4 的 'lg' 断点，小于此值为移动端\n    const $targets = $('.title-position');\n\n    // 明确选择桌面端和移动端的链接，并缓存\n    const $desktopLinks = $('.sidebar .directory-link');\n    const $mobileLinks = $('#directory-mobile .directory-link');\n\n    // 为两套链接分别构建高效的查找 Map\n    const desktopLinkMap = new Map();\n    $desktopLinks.each(function() {\n      desktopLinkMap.set($(this).attr('href'), $(this));\n    });\n\n    const mobileLinkMap = new Map();\n    $mobileLinks.each(function() {\n      mobileLinkMap.set($(this).attr('href'), $(this));\n    });\n\n    // 如果页面上没有任何标题，直接退出\n    if (!$targets.length) {\n      return;\n    }\n\n    // 计算动态偏移量 ---\n    const $stickyHeader = $('.sticky-top');\n    const headerHeight = $stickyHeader.length ? $stickyHeader.outerHeight() : 0;\n    const activationOffset = headerHeight + 30;\n\n    // 核心更新函数\n    const updateActiveLink = (linksToUpdate, linkMap) => {\n      // 如果被告知要更新的链接集不存在，则不执行\n      if (!linksToUpdate || !linksToUpdate.length) {\n        return;\n      }\n\n      const scrollTop = $(window).scrollTop();\n      const activationPoint = scrollTop + activationOffset;\n      let activeTargetId = null;\n\n      $targets.each(function() {\n        if ($(this).offset().top < activationPoint) {\n          activeTargetId = `#${$(this).attr('id')}`;\n        } else {\n          return false;\n        }\n      });\n\n      const windowHeight = $(window).height();\n      const docHeight = $(document).height();\n      if (scrollTop + windowHeight >= docHeight - 5) {\n        const $lastTarget = $targets.last();\n        if ($lastTarget.length) {\n          activeTargetId = `#${$lastTarget.attr('id')}`;\n        }\n      }\n\n      // 更新 Class\n      linksToUpdate.removeClass('directory-active');\n      if (activeTargetId) {\n        const $activeLink = linkMap.get(activeTargetId);\n        if ($activeLink) {\n          $activeLink.addClass('directory-active');\n        }\n      }\n    };\n\n    // 这个函数负责判断环境并调用执行者\n    const scrollspyController = () => {\n      // 清理工作：在判断前，先移除所有链接的高亮，以防窗口切换时残留\n      $desktopLinks.removeClass('directory-active');\n      $mobileLinks.removeClass('directory-active');\n\n      // 根据窗口宽度决定使用哪一套链接和 Map\n      if (window.innerWidth >= MOBILE_BREAKPOINT) {\n        // 桌面模式\n        updateActiveLink($desktopLinks, desktopLinkMap);\n      } else {\n        // 移动模式\n        updateActiveLink($mobileLinks, mobileLinkMap);\n      }\n    };\n\n    // 辅助函数：防抖和节流 ---\n    const debounce = (func, delay) => {\n      let timeout;\n      return (...args) => {\n        clearTimeout(timeout);\n        timeout = setTimeout(() => func.apply(this, args), delay);\n      };\n    };\n    const throttle = (func, delay) => {\n      let inProgress = false;\n      return (...args) => {\n        if (inProgress) return;\n        inProgress = true;\n        setTimeout(() => {\n          func.apply(this, args);\n          inProgress = false;\n        }, delay);\n      };\n    };\n\n    const throttledController = throttle(scrollspyController, 100);\n    const debouncedController = debounce(scrollspyController, 250);\n\n    $(window).on('scroll', throttledController);\n    $(window).on('resize', debouncedController);\n\n    // 页面加载完成后，立即执行一次“总指挥”，以设置正确的初始状态\n    scrollspyController();\n  }\n}"
  },
  {
    "path": "assets/js/modules/Emoji.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/Facile\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default class Emoji {\n  // Emoji 表情\n  emojiList = {\n    smileys: ['😀', '😁', '😂', '🤣', '😃', '😄', '😅', '😆', '😉', '😊', '😋', '😎', '😍', '😘', '🥰', '😗', '😙', '😚', '☺️', '🙂', '🤗', '🤩', '🤔', '🤨', '😐', '😑', '😶', '🙄', '😏', '😣', '😥', '😮', '🤐', '😯', '😪', '😫', '😴', '😌', '😛', '😜', '😝', '🤤', '😒', '😓', '😔', '😕', '🙃', '🤑', '😲', '☹️', '🙁', '😖', '😞', '😟', '😤', '😢', '😭', '😦', '😧', '😨', '😩', '🤯', '😬', '😰', '😱', '🥵', '🥶', '😳', '🤪', '😵', '😡', '😠', '🤬', '😷', '🤒', '🤕', '🤢', '🤮', '🤧', '😇', '🤠', '🤡', '🥳', '🥴', '🥺', '🤥', '🤫', '🤭', '🧐', '🤓', '😈', '👿', '👹', '👺', '💀', '👻', '👽', '🤖', '💩', '😺', '😸', '😹', '😻', '😼', '😽', '🙀', '😿', '😾'],\n    character: ['👶', '👧', '🧒', '👦', '👩', '🧑', '👨', '👵', '🧓', '👴', '👲', '👳‍♀️', '👳‍♂️', '🧕', '🧔', '👱‍♂️', '👱‍♀️', '👨‍🦰', '👩‍🦰', '👨‍🦱', '👩‍🦱', '👨‍🦲', '👩‍🦲', '👨‍🦳', '👩‍🦳', '🦸‍♀️', '🦸‍♂️', '🦹‍♀️', '🦹‍♂️', '👮‍♀️', '👮‍♂️', '👷‍♀️', '👷‍♂️', '💂‍♀️', '💂‍♂️', '🕵️‍♀️', '🕵️‍♂️', '👩‍⚕️', '👨‍⚕️', '👩‍🌾', '👨‍🌾', '👩‍🍳', '👨‍🍳', '👩‍🎓', '👨‍🎓', '👩‍🎤', '👨‍🎤', '👩‍🏫', '👨‍🏫', '👩‍🏭', '👨‍🏭', '👩‍💻', '👨‍💻', '👩‍💼', '👨‍💼', '👩‍🔧', '👨‍🔧', '👩‍🔬', '👨‍🔬', '👩‍🎨', '👨‍🎨', '👩‍🚒', '👨‍🚒', '👩‍✈️', '👨‍✈️', '👩‍🚀', '👨‍🚀', '👩‍⚖️', '👨‍⚖️', '👰', '🤵', '👸', '🤴', '🤶', '🎅', '🧙‍♀️', '🧙‍♂️', '🧝‍♀️', '🧝‍♂️', '🧛‍♀️', '🧛‍♂️', '🧟‍♀️', '🧟‍♂️', '🧞‍♀️', '🧞‍♂️', '🧜‍♀️', '🧜‍♂️', '🧚‍♀️', '🧚‍♂️', '👼', '🤰', '🤱', '🙇‍♀️', '🙇‍♂️', '💁‍♀️', '💁‍♂️', '🙅‍♀️', '🙅‍♂️', '🙆‍♀️', '🙆‍♂️', '🙋‍♀️', '🙋‍♂️', '🤦‍♀️', '🤦‍♂️', '🤷‍♀️', '🤷‍♂️', '🙎‍♀️', '🙎‍♂️', '🙍‍♀️', '🙍‍♂️', '💇‍♀️', '💇‍♂️', '💆‍♀️', '💆‍♂️', '🧖‍♀️', '🧖‍♂️', '💅', '🤳', '💃', '🕺', '👯‍♀️', '👯‍♂️', '🕴', '🚶‍♀️', '🚶‍♂️', '🏃‍♀️', '🏃‍♂️', '👫', '👭', '👬', '💑', '👩‍❤️‍👩', '👨‍❤️‍👨', '💏', '👩‍❤️‍💋‍👩', '👨‍❤️‍💋‍👨', '👪', '👨‍👩‍👧', '👨‍👩‍👧‍👦', '👨‍👩‍👦‍👦', '👨‍👩‍👧‍👧', '👩‍👩‍👦', '👩‍👩‍👧', '👩‍👩‍👧‍👦', '👩‍👩‍👦‍👦', '👩‍👩‍👧‍👧', '👨‍👨‍👦', '👨‍👨‍👧', '👨‍👨‍👧‍👦', '👨‍👨‍👦‍👦', '👨‍👨‍👧‍👧', '👩‍👦', '👩‍👧', '👩‍👧‍👦', '👩‍👦‍👦', '👩‍👧‍👧', '👨‍👦', '👨‍👧', '👨‍👧‍👦', '👨‍👦‍👦', '👨‍👧‍👧', '🤲', '👐', '🙌', '👏', '🤝', '👍', '👎', '👊', '✊', '🤛', '🤜', '🤞', '✌️', '🤟', '🤘', '👌', '👈', '👉', '👆', '👇', '☝️', '✋', '🤚', '🖐', '🖖', '👋', '🤙', '💪', '🦵', '🦶', '🖕', '✍️', '🙏', '💍', '💄', '💋', '👄', '👅', '👂', '👃', '👣', '👁', '👀', '🧠', '🦴', '🦷', '🗣', '👤', '👥'],\n    clothing: ['🧥', '👚', '👕', '👖', '👔', '👗', '👙', '👘', '👠', '👡', '👢', '👞', '👟', '🥾', '🥿', '🧦', '🧤', '🧣', '🎩', '🧢', '👒', '🎓', '⛑', '👑', '👝', '👛', '👜', '💼', '🎒', '👓', '🕶', '🥽', '🥼', '🌂', '🧵', '🧶'],\n    animal: ['🐶', '🐱', '🐭', '🐹', '🐰', '🦊', '🦝', '🐻', '🐼', '🦘', '🦡', '🐨', '🐯', '🦁', '🐮', '🐷', '🐽', '🐸', '🐵', '🙈', '🙉', '🙊', '🐒', '🐔', '🐧', '🐦', '🐤', '🐣', '🐥', '🦆', '🦢', '🦅', '🦉', '🦚', '🦜', '🦇', '🐺', '🐗', '🐴', '🦄', '🐝', '🐛', '🦋', '🐌', '🐚', '🐞', '🐜', '🦗', '🕷', '🕸', '🦂', '🦟', '🦠', '🐢', '🐍', '🦎', '🦖', '🦕', '🐙', '🦑', '🦐', '🦀', '🐡', '🐠', '🐟', '🐬', '🐳', '🐋', '🦈', '🐊', '🐅', '🐆', '🦓', '🦍', '🐘', '🦏', '🦛', '🐪', '🐫', '🦙', '🦒', '🐃', '🐂', '🐄', '🐎', '🐖', '🐏', '🐑', '🐐', '🦌', '🐕', '🐩', '🐈', '🐓', '🦃', '🕊', '🐇', '🐁', '🐀', '🐿', '🦔', '🐾', '🐉', '🐲', '🌵', '🎄', '🌲', '🌳', '🌴', '🌱', '🌿', '☘️', '🍀', '🎍', '🎋', '🍃', '🍂', '🍁', '🍄', '🌾', '💐', '🌷', '🌹', '🥀', '🌺', '🌸', '🌼', '🌻', '🌞', '🌝', '🌛', '🌜', '🌚', '🌕', '🌖', '🌗', '🌘', '🌑', '🌒', '🌓', '🌔', '🌙', '🌎', '🌍', '🌏', '💫', '⭐️', '🌟', '✨', '⚡️', '☄️', '💥', '🔥', '🌪', '🌈', '☀️', '🌤', '⛅️', '🌥', '☁️', '🌦', '🌧', '⛈', '🌩', '🌨', '❄️', '☃️', '⛄️', '🌬', '💨', '💧', '💦', '☔️', '☂️', '🌊', '🌫'],\n    food: ['🍏', '🍎', '🍐', '🍊', '🍋', '🍌', '🍉', '🍇', '🍓', '🍈', '🍒', '🍑', '🍍', '🥭', '🥥', '🥝', '🍅', '🍆', '🥑', '🥦', '🥒', '🥬', '🌶', '🌽', '🥕', '🥔', '🍠', '🥐', '🍞', '🥖', '🥨', '🥯', '🧀', '🥚', '🍳', '🥞', '🥓', '🥩', '🍗', '🍖', '🌭', '🍔', '🍟', '🍕', '🥪', '🥙', '🌮', '🌯', '🥗', '🥘', '🥫', '🍝', '🍜', '🍲', '🍛', '🍣', '🍱', '🥟', '🍤', '🍙', '🍚', '🍘', '🍥', '🥮', '🥠', '🍢', '🍡', '🍧', '🍨', '🍦', '🥧', '🍰', '🎂', '🍮', '🍭', '🍬', '🍫', '🍿', '🧂', '🍩', '🍪', '🌰', '🥜', '🍯', '🥛', '🍼', '☕️', '🍵', '🥤', '🍶', '🍺', '🍻', '🥂', '🍷', '🥃', '🍸', '🍹', '🍾', '🥄', '🍴', '🍽', '🥣', '🥡', '🥢'],\n    motion: ['⚽️', '🏀', '🏈', '⚾️', '🥎', '🏐', '🏉', '🎾', '🥏', '🎱', '🏓', '🏸', '🥅', '🏒', '🏑', '🥍', '🏏', '⛳️', '🏹', '🎣', '🥊', '🥋', '🎽', '⛸', '🥌', '🛷', '🛹', '🎿', '⛷', '🏂', '🏋️‍♀️', '🏋🏻‍♀️', '🏋🏼‍♀️', '🏋🏽‍♀️', '🏋🏾‍♀️', '🏋🏿‍♀️', '🏋️‍♂️', '🏋🏻‍♂️', '🏋🏼‍♂️', '🏋🏽‍♂️', '🏋🏾‍♂️', '🏋🏿‍♂️', '🤼‍♀️', '🤼‍♂️', '🤸‍♀️', '🤸🏻‍♀️', '🤸🏼‍♀️', '🤸🏽‍♀️', '🤸🏾‍♀️', '🤸🏿‍♀️', '🤸‍♂️', '🤸🏻‍♂️', '🤸🏼‍♂️', '🤸🏽‍♂️', '🤸🏾‍♂️', '🤸🏿‍♂️', '⛹️‍♀️', '⛹🏻‍♀️', '⛹🏼‍♀️', '⛹🏽‍♀️', '⛹🏾‍♀️', '⛹🏿‍♀️', '⛹️‍♂️', '⛹🏻‍♂️', '⛹🏼‍♂️', '⛹🏽‍♂️', '⛹🏾‍♂️', '⛹🏿‍♂️', '🤺', '🤾‍♀️', '🤾🏻‍♀️', '🤾🏼‍♀️', '🤾🏾‍♀️', '🤾🏾‍♀️', '🤾🏿‍♀️', '🤾‍♂️', '🤾🏻‍♂️', '🤾🏼‍♂️', '🤾🏽‍♂️', '🤾🏾‍♂️', '🤾🏿‍♂️', '🏌️‍♀️', '🏌🏻‍♀️', '🏌🏼‍♀️', '🏌🏽‍♀️', '🏌🏾‍♀️', '🏌🏿‍♀️', '🏌️‍♂️', '🏌🏻‍♂️', '🏌🏼‍♂️', '🏌🏽‍♂️', '🏌🏾‍♂️', '🏌🏿‍♂️', '🏇', '🏇🏻', '🏇🏼', '🏇🏽', '🏇🏾', '🏇🏿', '🧘‍♀️', '🧘🏻‍♀️', '🧘🏼‍♀️', '🧘🏽‍♀️', '🧘🏾‍♀️', '🧘🏿‍♀️', '🧘‍♂️', '🧘🏻‍♂️', '🧘🏼‍♂️', '🧘🏽‍♂️', '🧘🏾‍♂️', '🧘🏿‍♂️', '🏄‍♀️', '🏄🏻‍♀️', '🏄🏼‍♀️', '🏄🏽‍♀️', '🏄🏾‍♀️', '🏄🏿‍♀️', '🏄‍♂️', '🏄🏻‍♂️', '🏄🏼‍♂️', '🏄🏽‍♂️', '🏄🏾‍♂️', '🏄🏿‍♂️', '🏊‍♀️', '🏊🏻‍♀️', '🏊🏼‍♀️', '🏊🏽‍♀️', '🏊🏾‍♀️', '🏊🏿‍♀️', '🏊‍♂️', '🏊🏻‍♂️', '🏊🏼‍♂️', '🏊🏽‍♂️', '🏊🏾‍♂️', '🏊🏿‍♂️', '🤽‍♀️', '🤽🏻‍♀️', '🤽🏼‍♀️', '🤽🏽‍♀️', '🤽🏾‍♀️', '🤽🏿‍♀️', '🤽‍♂️', '🤽🏻‍♂️', '🤽🏼‍♂️', '🤽🏽‍♂️', '🤽🏾‍♂️', '🤽🏿‍♂️', '🚣‍♀️', '🚣🏻‍♀️', '🚣🏼‍♀️', '🚣🏽‍♀️', '🚣🏾‍♀️', '🚣🏿‍♀️', '🚣‍♂️', '🚣🏻‍♂️', '🚣🏼‍♂️', '🚣🏽‍♂️', '🚣🏾‍♂️', '🚣🏿‍♂️', '🧗‍♀️', '🧗🏻‍♀️', '🧗🏼‍♀️', '🧗🏽‍♀️', '🧗🏾‍♀️', '🧗🏿‍♀️', '🧗‍♂️', '🧗🏻‍♂️', '🧗🏼‍♂️', '🧗🏽‍♂️', '🧗🏾‍♂️', '🧗🏿‍♂️', '🚵‍♀️', '🚵🏻‍♀️', '🚵🏼‍♀️', '🚵🏽‍♀️', '🚵🏾‍♀️', '🚵🏿‍♀️', '🚵‍♂️', '🚵🏻‍♂️', '🚵🏼‍♂️', '🚵🏽‍♂️', '🚵🏾‍♂️', '🚵🏿‍♂️', '🚴‍♀️', '🚴🏻‍♀️', '🚴🏼‍♀️', '🚴🏽‍♀️', '🚴🏾‍♀️', '🚴🏿‍♀️', '🚴‍♂️', '🚴🏻‍♂️', '🚴🏼‍♂️', '🚴🏽‍♂️', '🚴🏾‍♂️', '🚴🏿‍♂️', '🏆', '🥇', '🥈', '🥉', '🏅', '🎖', '🏵', '🎗', '🎫', '🎟', '🎪', '🤹‍♀️', '🤹🏻‍♀️', '🤹🏼‍♀️', '🤹🏽‍♀️', '🤹🏾‍♀️', '🤹🏿‍♀️', '🤹‍♂️', '🤹🏻‍♂️', '🤹🏼‍♂️', '🤹🏽‍♂️', '🤹🏾‍♂️', '🤹🏿‍♂️', '🎭', '🎨', '🎬', '🎤', '🎧', '🎼', '🎹', '🥁', '🎷', '🎺', '🎸', '🎻', '🎲', '🧩', '♟', '🎯', '🎳', '🎮', '🎰'],\n    tourism: ['🚗', '🚕', '🚙', '🚌', '🚎', '🏎', '🚓', '🚑', '🚒', '🚐', '🚚', '🚛', '🚜', '🛴', '🚲', '🛵', '🏍', '🚨', '🚔', '🚍', '🚘', '🚖', '🚡', '🚠', '🚟', '🚃', '🚋', '🚞', '🚝', '🚄', '🚅', '🚈', '🚂', '🚆', '🚇', '🚊', '🚉', '✈️', '🛫', '🛬', '🛩', '💺', '🛰', '🚀', '🛸', '🚁', '🛶', '⛵️', '🚤', '🛥', '🛳', '⛴', '🚢', '⚓️', '⛽️', '🚧', '🚦', '🚥', '🚏', '🗺', '🗿', '🗽', '🗼', '🏰', '🏯', '🏟', '🎡', '🎢', '🎠', '⛲️', '⛱', '🏖', '🏝', '🏜', '🌋', '⛰', '🏔', '🗻', '🏕', '⛺️', '🏠', '🏡', '🏘', '🏚', '🏗', '🏭', '🏢', '🏬', '🏣', '🏤', '🏥', '🏦', '🏨', '🏪', '🏫', '🏩', '💒', '🏛', '⛪️', '🕌', '🕍', '🕋', '⛩', '🛤', '🛣', '🗾', '🎑', '🏞', '🌅', '🌄', '🌠', '🎇', '🎆', '🌇', '🌆', '🏙', '🌃', '🌌', '🌉', '🌁'],\n    objects: ['⌚️', '📱', '📲', '💻', '⌨️', '🖥', '🖨', '🖱', '🖲', '🕹', '🗜', '💽', '💾', '💿', '📀', '📼', '📷', '📸', '📹', '🎥', '📽', '🎞', '📞', '☎️', '📟', '📠', '📺', '📻', '🎙', '🎚', '🎛', '⏱', '⏲', '⏰', '🕰', '⌛️', '⏳', '📡', '🔋', '🔌', '💡', '🔦', '🕯', '🗑', '🛢', '💸', '💵', '💴', '💶', '💷', '💰', '💳', '🧾', '💎', '⚖️', '🔧', '🔨', '⚒', '🛠', '⛏', '🔩', '⚙️', '⛓', '🔫', '💣', '🔪', '🗡', '⚔️', '🛡', '🚬', '⚰️', '⚱️', '🏺', '🧭', '🧱', '🔮', '🧿', '🧸', '📿', '💈', '⚗️', '🔭', '🧰', '🧲', '🧪', '🧫', '🧬', '🧯', '🔬', '🕳', '💊', '💉', '🌡', '🚽', '🚰', '🚿', '🛁', '🛀', '🛀🏻', '🛀🏼', '🛀🏽', '🛀🏾', '🛀🏿', '🧴', '🧵', '🧶', '🧷', '🧹', '🧺', '🧻', '🧼', '🧽', '🛎', '🔑', '🗝', '🚪', '🛋', '🛏', '🛌', '🖼', '🛍', '🧳', '🛒', '🎁', '🎈', '🎏', '🎀', '🎊', '🎉', '🧨', '🎎', '🏮', '🎐', '🧧', '✉️', '📩', '📨', '📧', '💌', '📥', '📤', '📦', '🏷', '📪', '📫', '📬', '📭', '📮', '📯', '📜', '📃', '📄', '📑', '📊', '📈', '📉', '🗒', '🗓', '📆', '📅', '📇', '🗃', '🗳', '🗄', '📋', '📁', '📂', '🗂', '🗞', '📰', '📓', '📔', '📒', '📕', '📗', '📘', '📙', '📚', '📖', '🔖', '🔗', '📎', '🖇', '📐', '📏', '📌', '📍', '✂️', '🖊', '🖋', '✒️', '🖌', '🖍', '📝', '✏️', '🔍', '🔎', '🔏', '🔐', '🔒', '🔓'],\n    symbols: ['❤️', '🧡', '💛', '💚', '💙', '💜', '🖤', '💔', '❣️', '💕', '💞', '💓', '💗', '💖', '💘', '💝', '💟', '☮️', '✝️', '☪️', '🕉', '☸️', '✡️', '🔯', '🕎', '☯️', '☦️', '🛐', '⛎', '♈️', '♉️', '♊️', '♋️', '♌️', '♍️', '♎️', '♏️', '♐️', '♑️', '♒️', '♓️', '🆔', '⚛️', '🉑', '☢️', '☣️', '📴', '📳', '🈶', '🈚️', '🈸', '🈺', '🈷️', '✴️', '🆚', '💮', '🉐', '㊙️', '㊗️', '🈴', '🈵', '🈹', '🈲', '🅰️', '🅱️', '🆎', '🆑', '🅾️', '🆘', '❌', '⭕️', '🛑', '⛔️', '📛', '🚫', '💯', '💢', '♨️', '🚷', '🚯', '🚳', '🚱', '🔞', '📵', '🚭', '❗️', '❕', '❓', '❔', '‼️', '⁉️', '🔅', '🔆', '〽️', '⚠️', '🚸', '🔱', '⚜️', '🔰', '♻️', '✅', '🈯️', '💹', '❇️', '✳️', '❎', '🌐', '💠', 'Ⓜ️', '🌀', '💤', '🏧', '🚾', '♿️', '🅿️', '🈳', '🈂️', '🛂', '🛃', '🛄', '🛅', '🚹', '🚺', '🚼', '🚻', '🚮', '🎦', '📶', '🈁', '🔣', 'ℹ️', '🔤', '🔡', '🔠', '🆖', '🆗', '🆙', '🆒', '🆕', '🆓', '0️⃣', '1️⃣', '2️⃣', '3️⃣', '4️⃣', '5️⃣', '6️⃣', '7️⃣', '8️⃣', '9️⃣', '🔟', '🔢', '#️⃣', '*️⃣', '⏏️', '▶️', '⏸', '⏯', '⏹', '⏺', '⏭', '⏮', '⏩', '⏪', '⏫', '⏬', '◀️', '🔼', '🔽', '➡️', '⬅️', '⬆️', '⬇️', '↗️', '↘️', '↙️', '↖️', '↕️', '↔️', '↪️', '↩️', '⤴️', '⤵️', '🔀', '🔁', '🔂', '🔄', '🔃', '🎵', '🎶', '➕', '➖', '➗', '✖️', '♾', '💲', '💱', '™️', '©️', '®️', '〰️', '➰', '➿', '🔚', '🔙', '🔛', '🔝', '🔜', '✔️', '☑️', '🔘', '⚪️', '⚫️', '🔴', '🔵', '🔺', '🔻', '🔸', '🔹', '🔶', '🔷', '🔳', '🔲', '▪️', '▫️', '◾️', '◽️', '◼️', '◻️', '⬛️', '⬜️', '🔈', '🔇', '🔉', '🔊', '🔔', '🔕', '📣', '📢', '👁‍🗨', '💬', '💭', '🗯', '♠️', '♣️', '♥️', '♦️', '🃏', '🎴', '🀄️', '🕐', '🕑', '🕒', '🕓', '🕔', '🕕', '🕖', '🕗', '🕘', '🕙', '🕚', '🕛', '🕜', '🕝', '🕞', '🕟', '🕠', '🕡', '🕢', '🕣', '🕤', '🕥', '🕦', '🕧']\n  }\n  isShow = false;  // Emoji面板是否开启\n\n  /**\n   * Emoji初始化\n   */\n  init() {\n    // 如果没有启用 Emoji 功能就直接返回\n    if ($('#emoji-panel').length < 1) return false;\n    // 默认关闭 emoji 面板\n    this.isShow = false;\n    // Emoji 开关点击\n    $('#show-emoji-btn').on('click', ev => {\n      // 设置 Emoji 的显示和隐藏状态\n      this.isShow = !this.isShow;\n      // 设置 Emoji 面板的显示和隐藏\n      $('#emoji-panel').slideToggle(250);\n      // 设置用于屏幕阅读器的 Emoji 面板的显示和隐藏状态\n      $(ev.target).attr('aria-expanded', this.isShow);\n      // 如果是开启\n      if (this.isShow) {\n        // 点击一次 emoji 类型按钮，把类型设置为第一个\n        $('#emoji-classification button').eq(0).click();\n        // 聚焦到 emoji 面板的第一个按钮\n        $('#emoji-panel button').eq(0).focus();\n      }\n      // 避免触发页面空白区域\n      return false;\n    });\n\n    // 切换Emoji类型按钮点击\n    $('#emoji-classification button').on('click', ev => {\n      // 清除之前选中的按钮的选中状态\n      $('#emoji-classification .selected').attr('aria-checked', false);\n      $('#emoji-classification .selected').removeClass('selected');\n      // 设置点击按钮的选中状态\n      $(ev.target).attr('aria-checked', true);\n      $(ev.target).addClass('selected');\n      // 获取指定类型的 emoji\n      const emoji = this.emojiList[$(ev.target).attr('data-classification')];\n      // 生成 emoji 元素\n      let emojiEl = '';\n      emoji.forEach(e => {\n        emojiEl += `<div class=\"emoji p-2\" tabindex=\"0\" role=\"listitem\">${e}</div>`;\n      });\n      // 清除之前的 Emoji\n      if ($('#emoji-list .emoji').length) {\n        $('#emoji-list .emoji').remove();\n      }\n      // 把 Emoji 插入到页面\n      $('#emoji-list').append(emojiEl);\n      // 设置类型标题\n      $('#emoji-title').html($(ev.target).attr('title'));\n      // 设置用于屏幕阅读器的表情列表标题\n      $('#emoji-list').attr(\n        'aria-label',\n        `${$(ev.target).attr('title')} ${window.t.pressEnterToAddTheEmojiToTheCommentInputField}`\n      );\n    });\n\n    // Emoji 表情点击\n    $('#emoji-list').on('click', '.emoji', ev => {\n      // 把表情添加到评论内容输入框\n      $('#textarea').val($('#textarea').val() + $(ev.target).html());\n    });\n\n    // Emoji 表情按下回车或 Tab\n    $('#emoji-list').on('keydown', '.emoji', ev => {\n      // 按下回车键\n      if (ev.keyCode === 13 || ev.key === 'Enter') {\n        // 把表情添加到评论内容输入框\n        $('#textarea').val($('#textarea').val() + $(ev.target).html());\n      }\n      // 按下 Tab\n      if ((ev.keyCode === 9 || ev.key === 'Tab') && $(ev.target).is('#emoji-list .emoji:last-child')) {\n        ev.preventDefault();\n        // 聚焦到 emoji 面板的第一个按钮\n        $('#emoji-panel button').eq(0).focus();\n      }\n    });\n\n    // Emoji 表情面板按下 ESC\n    $('#emoji-panel').on('keydown', ev => {\n      if (ev.keyCode === 27 || ev.key === 'Escape') {\n        // 调用 Emoji 开关事件\n        $('#show-emoji-btn').click();\n        $('#textarea').focus();\n      }\n    });\n\n    // Emoji 面板的空白区域点击\n    $('#emoji-panel').on('click', () => {\n      return false;\n    });\n  }\n}"
  },
  {
    "path": "assets/js/modules/Lightbox.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default class Lightbox {\n  imgCount = 0;  // 图片总数量\n  imgIndex = null;\n  srcImgSize = {width: 0, height: 0};  // 图片真实尺寸\n  imgElSize = {width: 0, height: 0, left: 0, top: 0};  // 文章内的图片元素尺寸和位置\n  isShow = false;  // 图片灯箱是否开启\n  maxImgSize = {width: 0, height: 0};  // 图片灯箱内显示的图片大小\n  allowMove = false;  // 图片是否可以拖动\n  direction = 0;  // 图片旋转角度\n  imgEl = null;  // 图片元素，切换图片时用于加载图片\n\n  /**\n   * 计算图片灯箱内显示的图片尺寸\n   * @returns {{targetHeight: number, targetWidth: number}} 返回图片灯箱内使用的图片宽度和高度\n   */\n  calculateImgSize() {\n    // 默认使用原始尺寸\n    let targetWidth = this.srcImgSize.width;\n    let targetHeight = this.srcImgSize.height;\n    if (this.srcImgSize.width > window.innerWidth || this.srcImgSize.height > window.innerHeight) {\n      // 计算宽高各自的缩放比例\n      const widthRatio = window.innerWidth / this.srcImgSize.width;\n      const heightRatio = window.innerHeight / this.srcImgSize.height;\n      // 取较小的缩放比例，保证宽高都不超出\n      const scale = Math.min(widthRatio, heightRatio);\n\n      targetWidth = Math.round(this.srcImgSize.width * scale);\n      targetHeight = Math.round(this.srcImgSize.height * scale);\n    }\n\n    return {targetHeight, targetWidth};\n  }\n\n  /**\n   * 初始化\n   */\n  init() {\n    // 如果文章内没有图片\n    if ($('.post-content img').length < 1) return;\n    // 获取图片总数量\n    this.imgCount = $('.post-content img').length;\n    // 给文章中的图片添加一个索引\n    for (let i = 0;i < this.imgCount;i ++) {\n      $('.post-content img').eq(i).attr('data-index', i);\n    }\n\n    this.imgEl = new Image();\n\n    // 文章内的图片点击\n    $('.post-content img').on('click', ev => {\n      // 显示图片灯箱\n      this.show(ev);\n\n      // 鼠标拖动初始化\n      this.mouseMove();\n\n      // 手指拖动初始化\n      this.touchMove();\n\n      // 图片缩放初始化\n      this.zoom();\n\n      // 图片旋转初始化\n      this.rotate();\n\n      // 关闭图片灯箱点击\n      $('#max-img-box .close-img').on('click', ev => {\n        ev.stopPropagation();\n        this.hide();\n      });\n\n      // 更换下一张图片点击\n      $('#max-img-box .next-image').on('click', ev => {\n        ev.stopPropagation();\n        // 如果当前是最后一张图片就不再往后切换\n        if (this.imgIndex === this.imgCount - 1) return false;\n        // 当前图片索引+1\n        this.imgIndex ++;\n        // 切换图片\n        this.changeImg();\n      });\n\n      // 更换上一张图片点击\n      $('#max-img-box .previous-image').on('click', ev => {\n        ev.stopPropagation();\n        // 如果是第一张图片就不再往前切换\n        if (this.imgIndex === 0) return false;\n        // 当前图片索引-1\n        this.imgIndex --;\n        // 切换图片\n        this.changeImg();\n      });\n\n      // 键盘事件\n      $('#max-img-box').on('keydown', ev => {\n        // ESC 关闭\n        if (ev.keyCode === 27 || ev.key === 'Escape') {\n          $('#max-img-box .close-img').click();\n        }\n        // 右方向键更换图片\n        if (ev.keyCode === 39 || ev.key === 'ArrowRight') {\n          $('#max-img-box .next-image').click();\n        }\n        // 左方向键更换图片\n        if (ev.keyCode === 37 || ev.key === 'ArrowLeft') {\n          $('#max-img-box .previous-image').click();\n        }\n      });\n\n      // 图片灯箱的背景区域点击\n      $('#max-img-box').on('click', () => {\n        $('#max-img-box .close-img').click();\n      });\n\n      // 避免点击图片冒泡\n      $('#max-img').on('click', ev => {\n        ev.stopPropagation();\n      });\n    });\n  }\n\n  /**\n   * 获取文章内的图片尺寸和位置\n   * @param el\n   */\n  getImgElSize(el) {\n    this.imgElSize.width = el.width();\n    this.imgElSize.height = el.height();\n    this.imgElSize.left = el.offset().left;\n    this.imgElSize.top = el.offset().top;\n  }\n\n  /**\n   * 显示图片灯箱\n   * @param ev event 事件对象\n   */\n  show(ev) {\n    let newImgUrl = '';  // 存储要显示的图片的 URL\n    // 获取当前点击的图片的 URL\n    if ($(ev.target).hasClass('load-img')) {\n      newImgUrl = $(ev.target).attr('data-src');\n    }else {\n      newImgUrl = $(ev.target).attr('src');\n    }\n\n    // 加载图片\n    this.imgEl.src = newImgUrl;\n    this.imgEl.alt = $(ev.target).attr('alt');\n\n    // 获取图片真实尺寸\n    this.srcImgSize.width = this.imgEl.naturalWidth;\n    this.srcImgSize.height = this.imgEl.naturalHeight;\n    // 获取当前点击的图片尺寸和位置\n    this.getImgElSize($(ev.target));\n    // 获取当前点击的图片索引\n    this.imgIndex = Number($(ev.target).attr('data-index'));\n    // 图片灯箱HTML\n    const lightboxHtml = `\n    <div id=\"max-img-box\" tabindex=\"-1\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"img-alt\" aria-describedby=\"img-counter\">\n      <p id=\"img-counter\" aria-live=\"polite\">${this.imgIndex + 1}/${this.imgCount}</p>\n      <div class=\"btn-bar\">\n        <button type=\"button\" class=\"btn zoom-in-btn\" aria-label=\"${window.t.zoomIn}\" title=\"${window.t.zoomIn}\">\n          <i class=\"icon-zoom-in\"></i>\n        </button>\n        <button type=\"button\" class=\"btn zoom-out-btn\" aria-label=\"${window.t.zoomOut}\" title=\"${window.t.zoomOut}\">\n          <i class=\"icon-zoom-out\"></i>\n        </button>\n        <button type=\"button\" class=\"btn rotate-left-btn\" aria-label=\"${window.t.rotateLeft}\" title=\"${window.t.rotateLeft}\">\n          <i class=\"icon-undo\"></i>\n        </button>\n        <button type=\"button\" class=\"btn rotate-right-btn\" aria-label=\"${window.t.rotateRight}\" title=\"${window.t.rotateRight}\">\n          <i class=\"icon-redo\"></i>\n        </button>\n        <button type=\"button\" class=\"btn close-img\" aria-label=\"${window.t.closeImage}\" title=\"${window.t.closeImage}\">\n          <i class=\"icon-cancel-circle\"></i>\n        </button>\n      </div>\n      <a href=\"javascript:;\" aria-label=\"${window.t.previousImage}\" title=\"${window.t.previousImage}\" class=\"previous-image\" role=\"button\">\n        <i class=\"icon-chevron-left\"></i>\n      </a>\n      <a href=\"javascript:;\" aria-label=\"${window.t.nextImage}\" title=\"${window.t.nextImage}\" class=\"next-image\" role=\"button\">\n        <i class=\"icon-chevron-right\"></i>\n      </a>\n      <p id=\"img-alt\" aria-live=\"polite\">${this.imgEl.alt}</p>\n      <div class=\"loading-animation\">\n        <div class=\"spinner-border text-light\" role=\"status\">\n          <span class=\"sr-only\">Loading...</span>\n        </div>\n      </div>\n    </div>\n    `;\n    // 把图片灯箱HTML插入到页面\n    $('body').append(lightboxHtml);\n\n    // 创建一张图片\n    const imgEl = document.createElement('img');\n    imgEl.src = this.imgEl.src;\n    imgEl.alt = this.imgEl.alt;\n    imgEl.setAttribute('id', 'max-img');\n    imgEl.className = 'shadow';\n    // 让图片的尺寸和位置和原图保持一致\n    imgEl.style.top = `${this.imgElSize.top}px`;\n    imgEl.style.left = `${this.imgElSize.left}px`;\n    imgEl.style.width = `${this.imgElSize.width}px`;\n    imgEl.style.height = `${this.imgElSize.height}px`;\n    // 把图片插入到页面\n    $('body').append(imgEl);\n\n    // 计算图片灯箱内的图片尺寸\n    const {targetHeight, targetWidth} = this.calculateImgSize();\n    this.maxImgSize.width = targetWidth;\n    this.maxImgSize.height = targetHeight;\n\n    // 把图片移动到页面中心，同时改变大小\n    $('#max-img').animate({\n      width: targetWidth,\n      height: targetHeight,\n      top: $(document).scrollTop() + window.innerHeight / 2 - targetHeight / 2,\n      left: window.innerWidth / 2 - targetWidth / 2\n    }, 250, () => {\n      // 移动完成后把图片节点移动到灯箱内\n      $('#max-img-box').append($('#max-img'));\n      // 重新设置定位\n      $('#max-img').css('top', window.innerHeight / 2 - targetHeight / 2);\n    });\n\n    // 显示图片灯箱背景\n    $('#max-img-box').fadeIn(250);\n    // 禁止滚动\n    $('body').addClass('stop-scrolling');\n    // 聚焦到图片灯箱\n    $('#max-img-box').focus();\n    // 把图片灯箱状态设置为开启\n    this.isShow = true;\n\n    // 图片加载完成后隐藏加载动画\n    this.imgEl.onload = () => {\n      $('#max-img-box .loading-animation').addClass('d-none');\n      // 如果当前点击的文章内的图片还没有加载就顺便加载\n      if ($(ev.target).hasClass('load-img')) {\n        $(ev.target).attr('src', this.imgEl.src);\n      }\n      // 如果灯箱内的图片尺寸不正确就重新设置尺寸和位置\n      if ($('#max-img').width() < 1 || $('#max-img').height() < 1) {\n        // 重新获取图片的真实尺寸\n        this.srcImgSize.width = this.imgEl.naturalWidth;\n        this.srcImgSize.height = this.imgEl.naturalHeight;\n        // 计算图片灯箱内的图片尺寸\n        const {targetHeight, targetWidth} = this.calculateImgSize();\n        // 重新设置尺寸和位置\n        $('#max-img').css({\n          width: targetWidth,\n          height: targetHeight,\n          top: window.innerHeight / 2 - targetHeight / 2,\n          left: window.innerWidth / 2 - targetWidth / 2\n        });\n      }\n    };\n  }\n\n  /**\n   * 重置图片角度\n   */\n  resetDirection() {\n    this.direction = 0;\n    $('#max-img').css('transform', `rotate(${this.direction}deg)`);\n  }\n\n  /**\n   * 关闭图片灯箱\n   */\n  hide() {\n    // 灰度图片角度\n    this.resetDirection();\n    // 恢复图片的鼠标样式和禁止拖动\n    $('#max-img-box #max-img').css('cursor', 'default');\n    this.allowMove = false;\n    // 淡出图片灯箱背景\n    $('#max-img-box').fadeOut(250, () => {\n      // 隐藏完成后移除图片灯箱\n      $('#max-img-box').remove();\n      // 恢复页面滚动条\n      $('body').removeClass('stop-scrolling');\n    });\n    // 获取图片灯箱内的图片top\n    const targetTop = $('#max-img').offset().top;\n    // 把图片节点移出到 body\n    $('body').append($('#max-img'));\n    // 重新设置定位\n    $('#max-img').css('top',targetTop);\n    // 把图片还原到页面中的位置和大小\n    $('#max-img').animate({\n      width: this.imgElSize.width,\n      height: this.imgElSize.height,\n      top: this.imgElSize.top,\n      left: this.imgElSize.left\n    }, 250, () => {\n      // 完成后移除图片\n      $('#max-img').remove();\n    });\n    // 把图片灯箱状态设置为关闭\n    this.isShow = false;\n  }\n\n  /**\n   * 图片旋转初始化\n   */\n  rotate() {\n    // 图片左旋转点击\n    $('#max-img-box .rotate-left-btn').on('click', ev => {\n      ev.stopPropagation();\n      this.direction -= 90;\n      // 设置过渡时间\n      $('#max-img').css('transition', '0.25s');\n      $('#max-img').css('transform', `rotate(${this.direction}deg)`);\n      // 清除过渡\n      setTimeout(function () {\n        $('#max-img').css('transition', '0s');\n      }, 250);\n    });\n\n    // 图片右旋转点击\n    $('#max-img-box .rotate-right-btn').on('click', ev => {\n      ev.stopPropagation();\n      this.direction += 90;\n      // 设置过渡时间\n      $('#max-img').css('transition', '0.25s');\n      $('#max-img').css('transform', `rotate(${this.direction}deg)`);\n      // 清除过渡\n      setTimeout(function () {\n        $('#max-img').css('transition', '0s');\n      }, 250);\n    });\n  }\n\n  /**\n   * 图片缩放初始化\n   */\n  zoom() {\n    // 放大按钮点击\n    $('#max-img-box .zoom-in-btn').on('click', ev => {\n      ev.stopPropagation();\n      // 每次放大 20%\n      const targetWidth = $('#max-img-box #max-img').width() + this.maxImgSize.width / 5;\n      const targetHeight = $('#max-img-box #max-img').height() + this.maxImgSize.height / 5;\n      // 放大\n      $('#max-img-box #max-img').animate({\n        width: targetWidth,\n        height: targetHeight\n      }, 250, () => {\n        // 如果图片超出了可视区\n        if (\n            $('#max-img-box #max-img').offset().left + $('#max-img-box #max-img').width() >= window.innerWidth ||\n            $('#max-img-box #max-img').offset().top + $('#max-img-box #max-img').height() >= $(document).scrollTop() + window.innerHeight\n        ) {\n          // 把图片的鼠标样式设置为可拖动\n          $('#max-img-box #max-img').css('cursor', 'move');\n          this.allowMove = true;\n        }\n      });\n    });\n\n    // 缩小按钮点击\n    $('#max-img-box .zoom-out-btn').on('click', ev => {\n      ev.stopPropagation();\n      // 如果当前图片尺寸是初始大小就不再缩小\n      if (\n          $('#max-img-box #max-img').width() === this.maxImgSize.width &&\n          $('#max-img-box #max-img').height() === this.maxImgSize.height\n      ) return;\n      // 还原到初始大小和位置\n      $('#max-img-box #max-img').animate({\n        width: this.maxImgSize.width,\n        height: this.maxImgSize.height,\n        top: window.innerHeight / 2 - this.maxImgSize.height / 2,\n        left: window.innerWidth / 2 - this.maxImgSize.width / 2\n      }, 250, () => {\n        // 恢复图片的鼠标样式和禁止拖动\n        $('#max-img-box #max-img').css('cursor', 'default');\n        this.allowMove = false;\n      });\n    });\n  }\n\n  /**\n   * 图片鼠标拖动\n   */\n  mouseMove() {\n    $('#max-img').on('mousedown', ev => {\n      ev.preventDefault();\n      ev.stopPropagation();\n      // 是否允许拖动\n      if (!this.allowMove) return false;\n      const X = ev.clientX - ev.target.offsetLeft;\n      const Y = ev.clientY - ev.target.offsetTop;\n      // 开始拖动\n      $('#max-img-box').on('mousemove', ev => {\n        $('#max-img').css({\n          left: ev.clientX - X,\n          top: ev.clientY - Y\n        });\n      });\n      // 停止拖动\n      $('#max-img-box').on('mouseup', ev => {\n        ev.stopPropagation();\n        $('#max-img-box').off('mousemove');\n      });\n    });\n  }\n\n  /**\n   * 图片手指拖动\n   */\n  touchMove() {\n    $('#max-img').on('touchstart', ev => {\n      ev.preventDefault();\n      ev.stopPropagation();\n      // 是否允许拖动\n      if (!this.allowMove) return false;\n      const X = ev.touches[0].pageX - ev.target.offsetLeft;\n      const Y = ev.touches[0].pageY - ev.target.offsetTop;\n      // 开始拖动\n      $('#max-img-box').on('touchmove', ev => {\n        ev.preventDefault();\n        $('#max-img').css({\n          left: ev.touches[0].pageX - X,\n          top: ev.touches[0].pageY - Y\n        });\n        return false;\n      });\n      // 停止拖动\n      $('#max-img-box').on('touchend', ev => {\n        ev.stopPropagation();\n        $('#max-img-box').off('touchmove');\n      });\n    });\n  }\n\n  /**\n   * 更换图片\n   */\n  changeImg() {\n    // 恢复图片的鼠标样式和禁止拖动\n    $('#max-img-box #max-img').css('cursor', 'default');\n    this.allowMove = false;\n    // 重置图片角度\n    this.resetDirection();\n    // 隐藏灯箱内的图片\n    $('#max-img').hide();\n    // 显示动画\n    $('#max-img-box .loading-animation').removeClass('d-none');\n\n    let newImgUrl = '';  // 存储要显示的图片的 URL\n    // 获取要显示的图片的 URL\n    if ($('.post-content img').eq(this.imgIndex).hasClass('load-img')) {\n      newImgUrl = $('.post-content img').eq(this.imgIndex).attr('data-src');\n    }else {\n      newImgUrl = $('.post-content img').eq(this.imgIndex).attr('src');\n    }\n    // 加载图片\n    this.imgEl.src = newImgUrl;\n    this.imgEl.alt = $('.post-content img').eq(this.imgIndex).attr('alt');\n    // 设置图片 alt 文字显示\n    $('#img-alt').html(this.imgEl.alt);\n    // 重新设置当前图片的序号和总数量\n    $('#max-img-box #img-counter').html(`${this.imgIndex + 1}/${this.imgCount}`);\n\n    // 图片加载完成\n    this.imgEl.onload = () => {\n      // 获取图片的真实尺寸\n      this.srcImgSize.width = this.imgEl.naturalWidth;\n      this.srcImgSize.height = this.imgEl.naturalHeight;\n      // 如果文章内的图片还没有加载就顺便加载文章内的图片\n      if ($('.post-content img').eq(this.imgIndex).hasClass('load-img')) {\n        $('.post-content img').eq(this.imgIndex).attr('src', newImgUrl);\n      }\n      // 重新获取当前显示的图片在文章内的尺寸和位置\n      this.getImgElSize($('.post-content img').eq(this.imgIndex));\n      // 计算图片灯箱内的新图片的尺寸\n      const {targetHeight, targetWidth} = this.calculateImgSize();\n      this.maxImgSize.width = targetWidth;\n      this.maxImgSize.height = targetHeight;\n      // 隐藏加载动画\n      $('#max-img-box .loading-animation').addClass('d-none');\n      // 显示灯箱内的图片\n      $('#max-img').show();\n      // 给图片添加动画\n      $('#max-img').addClass('change-img-animation');\n\n      // 在下一帧执行\n      requestAnimationFrame(() => {\n        // 设置图片 src 和 alt\n        $('#max-img').attr({\n          src: this.imgEl.src,\n          alt: this.imgEl.alt\n        });\n        $('#max-img').css({\n          width: targetWidth,\n          height: targetHeight,\n          left: window.innerWidth / 2 - targetWidth / 2,\n          top: window.innerHeight / 2 - targetHeight / 2\n        });\n        setTimeout(() => {\n          $('#max-img').removeClass('change-img-animation');\n        }, 250);\n      });\n    }\n  }\n}"
  },
  {
    "path": "assets/js/modules/PJAX.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default class PJAX {\n  commentParentId = null;  // 存储父评论的id，用于PJAX评论提交后跳转\n\n  /**\n   * PJAX 初始化\n   * @param {function} pjaxEnd pjax 替换完成后的回调函数\n   * @returns {boolean} pjax 功能没有开启就返回 false\n   */\n  init(pjaxEnd = null) {\n    // 没有开启 pjax 就直接返回\n    if ($('body').attr('data-pjax') !== 'on') return false;\n    // 给 pjax 链接添加 class\n    this.pjaxLinkInit();\n\n    // pjax 初始化\n    $(document).pjax('.pjax-link', '#main', {\n      fragment: '#main',\n      timeout: 20000\n    });\n\n    // pjax 搜索表单提交\n    $(document).on('submit', 'form[role=\"search\"]', ev => {\n      $.pjax.submit(ev, '#main', {\n        fragment: '#main',\n        replace: false,\n        timeout: 20000\n      });\n    });\n\n    // pjax 评论表单提交\n    $(document).on('submit', '#comment-form', ev => {\n      // 如果是回复评论就存储父评论的id\n      if ($('#comment-parent').length && $('#comment-parent').val() !== '') {\n        this.commentParentId = $('#comment-parent').val();\n      }\n\n      $.pjax.submit(ev, '#main', {\n        fragment: '#main',\n        replace: false,\n        push: false,\n        timeout: 20000\n      });\n    });\n\n    // pjax 即将开始请求\n    $(document).on('pjax:start', () => {\n      // 如果开启了移动设备的导航菜单就关闭菜单\n      if ($('.navbar-toggler').attr('aria-expanded') === 'true') {\n        $('.navbar-toggler').click();\n      }\n      // 移除工具提示\n      $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n      // 显示进度条\n      if ($('#progress-bar').length) {\n        $('#progress-bar').show();\n      }\n    });\n\n    // pjax 开始请求\n    $(document).on('pjax:send', () => {\n      if ($('#progress-bar').length) {\n        // 更改进度条\n        $('#progress-bar #progress').animate({\n          width: '30%'\n        }, 100);\n        $('#progress-bar #progress').attr('aria-valuenow', '30');\n      }\n    });\n\n    // pjax 请求完成\n    $(document).on('pjax:complete', () => {\n      if ($('#progress-bar').length) {\n        // 更改进度条\n        $('#progress-bar #progress').animate({\n          width: '80%'\n        }, 200);\n        $('#progress-bar #progress').attr('aria-valuenow', '80');\n      }\n    });\n\n    // pjax 替换完成\n    $(document).on('pjax:end', ev => {\n      // 隐藏进度条\n      if ($('#progress-bar').length) {\n        $('#progress-bar #progress').animate({\n          width: '100%'\n        }, 100, () => {\n          $('#progress-bar').hide();\n          $('#progress-bar #progress').css('width', '0');\n          $('#progress-bar #progress').attr('aria-valuenow', '0');\n        });\n        $('#progress-bar #progress').attr('aria-valuenow', '100');\n      }\n\n      // 清除导航栏链接的选中状态\n      $('.navbar-nav .nav-item').removeClass('active');\n      $('.navbar-nav .nav-item a').removeAttr('aria-current');\n      // 重新设置导航栏链接的选中状态\n      for (let i = 0;i < $('.navbar-nav .nav-item a').length;i ++) {\n        if ($('.navbar-nav .nav-item a').eq(i).attr('href') === ev.currentTarget.URL) {\n          $('.navbar-nav .nav-item').eq(i).addClass('active');\n          $('.navbar-nav .nav-item a').eq(i).attr('aria-current', 'page');\n          break;\n        }\n      }\n\n      // 如果是评论提交就滚动到评论区\n      if (ev.relatedTarget?.id === 'comment-form') {\n        if (this.commentParentId !== null && $(`#comment-${this.commentParentId}`).length) {\n          // 如果是回复评论就滚动到父评论的区域\n          $('html, body').animate({\n            scrollTop: $(`#comment-${this.commentParentId}`).offset().top\n          }, 250);\n        }else {\n          // 如果是评论提交就滚动到评论区\n          $('html, body').animate({\n            scrollTop: $('#comments').offset().top\n          }, 250);\n        }\n        this.commentParentId = null;\n      }\n\n      // 给 pjax 链接添加 class\n      this.pjaxLinkInit();\n\n      // 如果传入了回调函数就执行函数\n      if (typeof pjaxEnd === 'function') {\n        pjaxEnd(ev);\n      }\n\n      // 如果设置了 PJAX 完成后执行自定义代码\n      if (typeof pjaxUpdateComplete === 'function') {\n        pjaxUpdateComplete();\n      }\n    });\n  }\n\n  /**\n   * 给 pjax 链接添加 class\n   */\n  pjaxLinkInit() {\n    const currentDomain = window.location.hostname;\n\n    $('a').each((index, element) => {\n      const href = $(element).attr('href');\n      const target = $(element).attr('target');\n\n      // 检查链接是否包含当前域名，且不含有 target=\"_blank\"\n      if (href && href.includes(currentDomain) && target !== '_blank') {\n        $(element).addClass('pjax-link');\n      }\n    });\n  }\n}"
  },
  {
    "path": "assets/js/modules/accessibilityInit.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default () => {\n  // 给链接设置在新标签页打开\n  if ($('.post-content').attr('data-target') === '_blank' && $('.post-content a').length) {\n    // 给文章中的所有链接添加 target 属性，让文章中的链接在新标签页打开\n    $('.post-content a').attr('target', '_blank');\n  }\n\n  // 文章是否有密码\n  if ($('.post-content .protected').length) {\n    $('input[name=\"protectPassword\"]').attr('placeholder', window.t.enterYourPassword);\n    $('input[name=\"protectPassword\"]').focus();\n    $('.protected .submit').val(window.t.submit);\n    $('.protected .word').html(window.t.enterThePasswordToViewIt);\n  }\n\n  // 给文章信息的分类链接添加 title\n  if ($('.article-info .icon-folder-open').length) {\n    $('.article-info .icon-folder-open').nextAll().attr({\n      'title': window.t.category,\n      'data-toggle': 'tooltip',\n      'data-placement': 'top'\n    });\n    $('.icon-folder-open').nextAll().addClass($('.icon-folder-open').attr('data-color'));\n  }\n\n  // 给文章信息的标签链接添加 title\n  if ($('.tags a').length) {\n    $('.tags a').attr({\n      'title': window.t.tag,\n      'data-toggle': 'tooltip',\n      'data-placement': 'top'\n    });\n    $('.tags a').addClass($('.tags').attr('data-color'));\n  }\n\n  // 给评论区的链接添加 target\n  if ($('.comment-info b a').length) {\n    // 让评论区的链接在新标签页打开\n    $('.comment-info b a').attr('target', '_blank');\n  }\n\n  // 给回复链接添加回复对象名称的 title\n  $('.comment-reply').each(function() {\n    const authorName = $(this).closest('.comment-box').find('.author a').text() ||\n        $(this).closest('.comment-box').find('.author').text();\n    $(this).find('a').attr({\n      title: `${window.t.replyTo} ${authorName}`,\n      'data-toggle': 'tooltip',\n      'data-placement': 'top'\n    });\n  });\n\n  // 评论区的回复链接鼠标移入和移出\n  $('#comments .comment-reply a').hover(ev => {\n    // 根据主题配色设置评论高亮颜色\n    const color = $('.dark-color').length ? '#383838' : '#E4E4E4';\n    // 获取回复评论的 cid\n    const cid = $(ev.target).parent().attr('data-id');\n    // 改变回复评论的内容样式\n    $(`#c-${cid}`).css('background', color);\n  }, ev => {\n    const cid = $(ev.target).parent().attr('data-id');\n    $(`#c-${cid}`).css('background', 'none');\n  });\n\n  // @回复对象鼠标移入就高亮回复对象的评论内容\n  $('#comments .parent-link').hover(ev => {\n    // 根据主题配色设置评论高亮颜色\n    const color = $('.dark-color').length ? '#383838' : '#E4E4E4';\n    // 获取回复对象评论的 cid\n    const cid = $(ev.target).attr('data-parent');\n    $(`#c-comment-${cid}`).css('background', color);\n  }, ev => {\n    const cid = $(ev.target).attr('data-parent');\n    $(`#c-comment-${cid}`).css('background', 'none');\n  });\n\n  // 提交回复按钮按下 tab\n  $(document).on('keydown', '.comments-lists .respond .submit', ev => {\n    ev.preventDefault();\n    if (ev.key === 'Tab' || ev.keyCode === 9) {\n      // 让取消回复的链接获取焦点\n      $('#cancel-comment-reply-link').focus();\n    }\n  });\n\n  // 设置取消回复链接的链接名称\n  $('#cancel-comment-reply-link').html(window.t.cancelReply);\n\n  // 给上一篇文章和下一篇文章的链接关联文字描述\n  $('.previous a').attr('aria-describedby', 'previous-post-text');\n  $('.next a').attr('aria-describedby', 'next-post-text');\n\n  // 给评论区的作者链接加入用于屏幕阅读器的描述\n  $('.author-tag').each(function() {\n    $(this).closest('.comment-info').find('.author a').attr('title', window.t.author);\n  });\n\n  // 初始化工具提示\n  $('[data-toggle=\"tooltip\"]').tooltip();\n}"
  },
  {
    "path": "assets/js/modules/codeHighlightInit.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\nexport default () => {\n  // 给文章中的代码块添加拷贝按钮和拷贝事件\n  if ($('.enable-highlight').length && $('pre').length) {\n    for (let i = 0;i < $('pre').length;i ++) {\n      // 是否是代码块\n      if ($('pre').eq(i).children('code').length) {\n        let codeStr = $('pre code').eq(i).text();\n        // 检查代码末尾是否以换行符结尾\n        if (codeStr.endsWith('\\n')) {\n          // 如果是，在末尾追加一个普通空格（或者零宽空格 '\\u200b'）\n          $('pre code').eq(i).text(codeStr + ' ');\n        }\n\n        // 添加代码高亮样式\n        hljs.highlightBlock($('pre code').eq(i).get(0));\n\n        // 生成代码行号\n        if ($('.line-num-show').length) {\n          // 获取代码行数\n          const lineCount = $('pre code').eq(i).html().split(/\\r\\n|\\r|\\n/).length;\n          let lineNumbersEl = '';\n          for (let j = 0;j < lineCount;j ++) {\n            lineNumbersEl += `<div class=\"text-right\">${Number(j + 1)}</div>`;\n          }\n          $('pre').eq(i).prepend(`<div class=\"line-box\">${lineNumbersEl}</div>`);\n        }\n\n        // 创建和添加拷贝按钮\n        const btnEl = document.createElement('button');\n        btnEl.className = 'copy-code-btn btn btn-sm';\n        // 根据代码块的配色设置拷贝按钮的颜色\n        btnEl.setAttribute('type', 'button');\n        btnEl.innerHTML = '<i class=\"icon-copy\"></i>';\n        btnEl.setAttribute('data-clipboard-target', `#code-${i}`);\n        btnEl.setAttribute('title', window.t.copyCode);\n        btnEl.setAttribute('aria-label', window.t.copyCode);\n        btnEl.setAttribute('data-toggle', 'tooltip');\n        btnEl.setAttribute('data-placement', 'left');\n        btnEl.setAttribute('id', `copy-btn-${i}`);\n        $('pre').eq(i).prepend(btnEl);\n        // 给代码块添加一个 id 方便拷贝\n        $('pre code').eq(i).attr('id', `code-${i}`);\n      }\n      // 初始化拷贝模块\n      const clipboard = new ClipboardJS('.copy-code-btn');\n      // 拷贝成功\n      clipboard.on('success', function(ev) {\n        // 把工具提示更改为拷贝成功\n        $(ev.trigger).attr('title', window.t.copySuccess);\n        $(ev.trigger).attr('data-original-title', window.t.copySuccess);\n        $(ev.trigger).tooltip('update');\n        $(ev.trigger).tooltip('show');\n        // 延迟 1 秒后把工具提示更改为拷贝代码\n        setTimeout(() => {\n          $(ev.trigger).attr('title', window.t.copyCode);\n          $(ev.trigger).attr('data-original-title', window.t.copyCode);\n        }, 1000);\n      });\n      // 拷贝出错\n      clipboard.on('error', ev => {\n        $(ev.trigger).attr('title', window.t.copyError);\n        $(ev.trigger).attr('data-original-title', window.t.copyError);\n        $(ev.trigger).tooltip('hide');\n        $(ev.trigger).tooltip('show');\n        setTimeout(function() {\n          $(ev.trigger).attr('title', window.t.copyCode);\n          $(ev.trigger).attr('data-original-title', window.t.copyCode);\n        }, 1000);\n      });\n    }\n  }\n}"
  },
  {
    "path": "assets/js/modules/sidebarCoverImageInit.js",
    "content": "/*!\n* HomePage: https://www.misterma.com\n* GithubPage: https://github.com/changbin1997\n* ProjectPage: https://github.com/changbin1997/MWordStar\n* author: Changbin (changbin1997)\n* Licensed under MIT\n*/\n\n\n/**\n * 侧边栏文章头图初始化\n */\nexport default () => {\n  // 给侧边栏近期文章的第一篇文章设置头图\n  if ($('.latest-articles a').eq(0).children('.article-img').length) {\n    $('.latest-articles a').eq(0).addClass('latest-articles-active');\n  }\n\n  // 最新文章列表鼠标移入\n  $('.latest-articles li').on('mouseover', function (ev) {\n    ev.preventDefault();\n    ev.stopPropagation();\n    if ($(this).children('a').children('.article-img').length > 0) {\n      $('.latest-articles a').removeClass('latest-articles-active');\n      $(this).children('a').addClass('latest-articles-active');\n    }\n  });\n\n  // 最新文章区域鼠标移出\n  $('.latest-articles').on('mouseout', function (ev) {\n    const x = ev.clientX;\n    const y = ev.clientY + $(document).scrollTop();\n    if (\n        x < $(this).offset().left ||\n        x >= $(this).offset().left + $(this).width() ||\n        y < $(this).offset().top ||\n        y >= $(this).offset().top + $(this).height()\n    ) {\n      $('.latest-articles a').removeClass('latest-articles-active');\n      if ($('.latest-articles a').eq(0).children('.article-img').length > 0) {\n        $('.latest-articles a').eq(0).addClass('latest-articles-active');\n      }\n    }\n  });\n}"
  },
  {
    "path": "assets/js/options-panel.js",
    "content": "window.addEventListener('load', () => {\n  const title = [\n    '语言', '外观', '站点信息', '辅助功能', '链接调转',\n    '侧边栏', '文章列表', '文章头图', '文章内容区域',\n    '评论区', '导航', 'SEO相关', '友情链接', 'PJAX', '开发者'\n  ];\n  const optionUl = document.querySelectorAll('form .typecho-option');  // 列表\n  const optionForm = document.querySelector('.typecho-page-main form');  // 选项表单\n  const titleEl = [];\n\n  // 生成分组标题\n  title.forEach(val => {\n    const h2El = document.createElement('h2');\n    h2El.innerHTML = val;\n    h2El.classList.add('option-title');\n    titleEl.push(h2El);\n  });\n\n  // 针对屏幕阅读器的优化\n  optionUl.forEach(el => {\n    // 给选项分组列表加入屏幕阅读器专用的标签\n    if (el.querySelector('label') !== null) {\n      el.setAttribute('aria-label', el.querySelector('label').innerText);\n    }\n    // 给选项表单关联选项描述\n    if (el.querySelector('.description') !== null) {\n      const descriptionId = `description-${el.getAttribute('id')}`;\n      el.querySelector('.description').setAttribute('id', descriptionId);\n      el.setAttribute('aria-describedby', descriptionId);\n    }\n  });\n\n  // 插入分组标题\n  optionForm.insertBefore(titleEl[0], optionUl[0]);  // 语言\n  optionForm.insertBefore(titleEl[1], optionUl[2]);  // 外观\n  optionForm.insertBefore(titleEl[2], optionUl[6]);  // 站点信息\n  optionForm.insertBefore(titleEl[3], optionUl[9]);  // 辅助功能\n  optionForm.insertBefore(titleEl[4], optionUl[10]);  // 链接跳转\n  optionForm.insertBefore(titleEl[5], optionUl[13]);  // 侧边栏\n  optionForm.insertBefore(titleEl[6], optionUl[27]);  // 文章列表\n  optionForm.insertBefore(titleEl[7], optionUl[29]);  // 文章头图\n  optionForm.insertBefore(titleEl[8], optionUl[33]);  // 文章内容相关\n  optionForm.insertBefore(titleEl[9], optionUl[41]);  // 评论区\n  optionForm.insertBefore(titleEl[10], optionUl[46]);  // 导航栏\n  optionForm.insertBefore(titleEl[11], optionUl[51]);  // SEO相关\n  optionForm.insertBefore(titleEl[12], optionUl[54]);  // 友情链接\n  optionForm.insertBefore(titleEl[13], optionUl[58]);  // PJAX\n  optionForm.insertBefore(titleEl[14], optionUl[62]);  // 开发者\n\n  // 插入分隔线\n  titleEl.forEach(el => {\n    optionForm.insertBefore(document.createElement('hr'), el);\n  });\n\n  //  导出按钮点击\n  document.querySelector('#export-btn').onclick = () => {\n    const input = optionForm.querySelectorAll('input');  // 获取所有 input\n    const textarea = optionForm.querySelectorAll('textarea');  // 获取所有 textarea\n    let backup = [];  // 主题配置内容\n\n    // 获取 input 的内容\n    input.forEach(el => {\n      // 导出 type 为 text 的 input\n      if (el.getAttribute('type') === 'text') {\n        backup.push({\n          name: el.getAttribute('name'),\n          value: encodeURIComponent(el.value),\n          type: el.getAttribute('type')\n        });\n      }\n      // 导出 radio 的 input\n      if (el.getAttribute('type') === 'radio') {\n        backup.push({\n          name: el.getAttribute('name'),\n          value: el.value,\n          type: el.getAttribute('type'),\n          checked: el.checked\n        });\n      }\n      // 导出 checkbox 的 input\n      if (el.getAttribute('type') === 'checkbox') {\n        backup.push({\n          name: el.getAttribute('name'),\n          value: el.value,\n          type: el.getAttribute('type'),\n          checked: el.checked\n        });\n      }\n    });\n\n    // 获取 textarea 的内容\n    textarea.forEach(el => {\n      backup.push({\n        name: el.getAttribute('name'),\n        value: encodeURIComponent(el.value),\n        type: el.tagName\n      });\n    });\n\n    backup = JSON.stringify(backup, null, 2);\n    const blob = new Blob([backup]);\n    document.querySelector('#download-file').href = URL.createObjectURL(blob);\n    document.querySelector('#download-file').download = 'mwordstar-config.json';\n    document.querySelector('#download-file').click();\n  };\n\n  //  导入按钮点击\n  document.querySelector('#import-btn').addEventListener('click', () => {\n    document.querySelector('#file-select').click();\n  });\n\n  //  文件选择完成\n  document.querySelector('#file-select').addEventListener('change', ev => {\n    if (ev.target.value === '') {\n      return false;\n    }\n\n    const reader = new FileReader();\n    reader.readAsText(ev.target.files[0]);\n\n    reader.addEventListener('load', readerEv => {\n      try {\n        const config = JSON.parse(readerEv.target.result);\n        const input = optionForm.querySelectorAll('input');  // 获取所有 input\n        const textarea = optionForm.querySelectorAll('textarea');  // 获取所有 textarea\n\n        config.forEach(function(val) {\n          // 设置 input\n          input.forEach(el => {\n            // text input\n            if (el.getAttribute('type') === 'text' && el.getAttribute('name') === val.name) {\n              el.value = decodeURIComponent(val.value);\n            }\n            // radio input\n            if (el.getAttribute('type') === 'radio') {\n              if (el.getAttribute('name') === val.name && el.value === val.value) {\n                el.checked = val.checked;\n              }\n            }\n            // checkbox input\n            if (el.getAttribute('type') === 'checkbox') {\n              if (el.getAttribute('name') === val.name && el.value === val.value) {\n                el.checked = val.checked;\n              }\n            }\n          });\n\n          // 设置 textarea\n          textarea.forEach(el => {\n            if (el.getAttribute('name') === val.name && el.tagName === val.type) {\n              el.value = decodeURIComponent(val.value);\n            }\n          });\n        });\n\n        if (confirm('主题配置信息已成功导入，您确定要保存设置吗？')) {\n          document.querySelector('.typecho-page-main form').submit();\n        }\n      }catch (error) {\n        alert(error.message);\n      }\n    });\n\n    reader.addEventListener('error', () => {\n      alert('读取文件时发生错误！');\n    });\n  });\n\n  // 插入主题配色图片\n  const imgBox = document.createElement('div');\n  imgBox.innerHTML = `\n  <p>配色预览：</p>\n  <div role=\"img\" aria-label=\"主题配色预览图\" id=\"preview-img\"></div>\n  `;\n  optionUl[1].parentNode.insertBefore(imgBox, optionUl[3]);\n\n  // 获取配色单选框\n  const colorRadio = document.getElementsByName('color');\n  // 获取预览图\n  const img = document.querySelector('#preview-img');\n  for (let i = 0; i < colorRadio.length; i++) {\n    // 给配色单选框添加一个索引\n    colorRadio[i].index = i;\n    // 根据选中的单选框设置图片\n    if (colorRadio[i].checked) {\n      img.style.backgroundPositionY = `-${colorRadio[i].index * 313}px`;\n    }\n    // 配色单选框改变\n    colorRadio[i].addEventListener('change', ev => {\n      img.style.backgroundPositionY = `-${ev.target.index * 313}px`;\n    });\n  }\n\n  // 创建选项列表\n  const optionsList = document.querySelector('#options-list');\n  // 创建选项列表项\n  for (let i = 0;i < title.length;i ++) {\n    const itemLi = document.createElement('li');\n    const itemLink = document.createElement('a');\n    itemLink.innerHTML = title[i];\n    itemLink.href = 'javascript:;';\n    itemLink.index = i;\n    // 给目录链接添加跳转事件\n    itemLink.addEventListener('click', ev => {\n      titleEl[ev.target.index].scrollIntoView({behavior: 'smooth'});\n    });\n\n    itemLi.appendChild(itemLink);\n    optionsList.querySelector('ul').appendChild(itemLi);\n  }\n\n  // 设置选项列表目录的位置\n  const left = document.querySelector('.col-tb-offset-2').offsetLeft;\n  optionsList.style.left = left - optionsList.offsetWidth + 'px';\n\n  // 窗口大小改变时调整选项目录的位置\n  window.addEventListener('resize', () => {\n    if (window.innerWidth < 768) return false;\n    const left = document.querySelector('.col-tb-offset-2').offsetLeft;\n    optionsList.style.left = left - optionsList.offsetWidth + 'px';\n  });\n\n  // 目录下方的保存选项按钮提交保存\n  document.querySelector('.submit-options').addEventListener('click', () => {\n    document.querySelector('.typecho-page-main form').submit();\n  });\n\n\n  // 获取友情链接表格\n  const linkList = document.querySelector('#link-list table tbody');\n  let linkInputName = null;  // 存储友链表单的名称\n\n  // 打开链接编辑器\n  document.querySelectorAll('.show-link-editor').forEach(el => {\n    el.setAttribute('title', `${el.getAttribute('data-title')}编辑`);\n\n    el.addEventListener('click', ev => {\n      // 设置链接编辑器标题\n      document.querySelector('#link-editor-title').innerHTML = `${ev.target.getAttribute('data-title')}编辑`;\n      // 从链接表单获取 JSON\n      linkInputName = ev.target.getAttribute('data-name');\n      let linkJson = document.querySelector(`textarea[name=\"${linkInputName}\"]`).value;\n\n      // 显示链接编辑器\n      document.querySelector('#link-editor-box').style.display = 'block';\n      // 如果屏幕尺寸较小就调节编辑器尺寸\n      if (window.innerWidth < 900 || window.innerHeight < 500) {\n        const linkListHeight = window.innerHeight - document.querySelector('#link-editor-title').offsetHeight - document.querySelector('#link-editor .dialog-actions').offsetHeight;\n        document.querySelector('#link-list').style.height = linkListHeight + 'px';\n      }\n      // 禁止页面滚动\n      document.body.classList.add('no-scroll');\n      // 清空链接表格\n      linkList.innerHTML = '';\n      // 读取链接\n      if (linkJson !== '') {\n        try {\n          linkJson = JSON.parse(linkJson);\n        }catch (error) {\n          alert(`无法解析链接 JSON ${error.message}`);\n          return false;\n        }\n\n        // 生成链接表格\n        linkJson.forEach(link => {\n          if (link.url === undefined) link.url = '';\n          if (link.name === undefined) link.name = '';\n          if (link.title === undefined) link.title = '';\n          if (link.logoUrl === undefined) link.logoUrl = '';\n\n          const trEl = document.createElement('tr');\n          trEl.innerHTML = `\n          <td class=\"url-td\">${link.url}</td>\n          <td class=\"name-td\">${link.name}</td>\n          <td class=\"logo-url-td\">${link.logoUrl}</td>\n          <td class=\"title-td\">${link.title}</td>\n          <td>\n            <a href=\"javascript:;\" class=\"edit-item\">编辑</a>  \n            <a href=\"javascript:;\" class=\"remove-item\">删除</a>\n          </td>\n          `;\n          linkList.appendChild(trEl);\n        });\n      }\n\n      // 让第一个可聚焦的元素获取焦点\n      const dialog = document.querySelector('#link-editor');\n      const focusableElements = dialog.querySelectorAll('a, button, input');\n      focusableElements[0].focus();\n    });\n  });\n\n  //使用事件委托的方式给友链表格内的按钮添加事件\n  linkList.addEventListener('click', ev => {\n    // 删除链接点击\n    if (ev.target && ev.target.classList.contains('remove-item')) {\n      ev.target.closest('tr').remove();\n    }\n\n    // 保存编辑链接点击\n    if (ev.target && ev.target.classList.contains('save-item')) {\n      // 获取编辑的链接\n      const link = {\n        url: linkList.querySelector('.editing .url-td input').value,\n        name: linkList.querySelector('.editing .name-td input').value,\n        title: linkList.querySelector('.editing .title-td input').value,\n        logoUrl: linkList.querySelector('.editing .logo-url-td input').value\n      };\n      // 检查必填项是否为空\n      if (link.url === '' || link.name === '') {\n        alert('链接 URL 或名称不能为空！');\n        return false;\n      }\n      // 生成表格\n      const trEl = document.createElement('tr');\n      trEl.innerHTML = `\n        <td class=\"url-td\">${link.url}</td>\n        <td class=\"name-td\">${link.name}</td>\n        <td class=\"logo-url-td\">${link.logoUrl}</td>\n        <td class=\"title-td\">${link.title}</td>\n        <td>\n          <a href=\"javascript:;\" class=\"edit-item\">编辑</a>  \n          <a href=\"javascript:;\" class=\"remove-item\">删除</a>\n        </td>\n      `;\n      // 把表格插入到编辑项后面\n      linkList.querySelector('.editing').insertAdjacentElement('afterend', trEl);\n      // 删除编辑项\n      linkList.querySelector('.editing').remove();\n    }\n\n    // 编辑链接点击\n    if (ev.target && ev.target.classList.contains('edit-item')) {\n      // 获取编辑内容\n      const link = {\n        url: ev.target.closest('tr').querySelector('.url-td').innerHTML,\n        name: ev.target.closest('tr').querySelector('.name-td').innerHTML,\n        logoUrl: ev.target.closest('tr').querySelector('.logo-url-td').innerHTML,\n        title: ev.target.closest('tr').querySelector('.title-td').innerHTML\n      };\n      // 生成编辑表格\n      const trEl = document.createElement('tr');\n      trEl.classList.add('editing');\n      trEl.innerHTML = `\n      <td class=\"url-td\"><input type=\"text\" value=\"${link.url}\" placeholder=\"链接地址\"></td>\n      <td class=\"name-td\"><input type=\"text\" value=\"${link.name}\" placeholder=\"链接名称\"></td>\n      <td class=\"logo-url-td\"><input type=\"text\" value=\"${link.logoUrl}\" placeholder=\"网站Logo\"></td>\n      <td class=\"title-td\"><input type=\"text\" value=\"${link.title}\" placeholder=\"网站简介\"></td>\n      <td>\n        <a href=\"javascript:;\" class=\"save-item\" title=\"保存当前编辑的行\">保存</a>\n        <a href=\"javascript:;\" class=\"remove-item\" title=\"删除当前编辑的行\">取消</a>\n      </td>\n      `;\n      // 插入编辑表格\n      ev.target.closest('tr').insertAdjacentElement('afterend', trEl);\n      // 删除之前的链接表格\n      ev.target.closest('tr').remove();\n      // 聚焦到第一个编辑表单\n      linkList.querySelector('.editing input').focus();\n    }\n  });\n\n  // 添加链接按钮点击\n  document.querySelector('.add-link').addEventListener('click', () => {\n    // 是否有正在编辑的行\n    if (linkList.querySelectorAll('.editing').length) {\n      alert('当前表格中有未完成的编辑！');\n      return false;\n    }\n\n    // 生成编辑表格\n    const trEl = document.createElement('tr');\n    trEl.classList.add('editing');\n    trEl.innerHTML = `\n    <td class=\"url-td\"><input type=\"text\" placeholder=\"链接地址\"></td>\n    <td class=\"name-td\"><input type=\"text\" placeholder=\"链接名称\"></td>\n    <td class=\"logo-url-td\"><input type=\"text\" placeholder=\"网站Logo\"></td>\n    <td class=\"title-td\"><input type=\"text\" placeholder=\"网站简介\"></td>\n    <td>\n      <a href=\"javascript:;\" class=\"save-item\" title=\"保存当前编辑的行\">保存</a>\n      <a href=\"javascript:;\" class=\"remove-item\" title=\"删除当前编辑的行\">取消</a>\n    </td>\n    `;\n    // 插入到表格\n    linkList.appendChild(trEl);\n    // 聚焦到第一个编辑表单\n    linkList.querySelector('.editing input').focus();\n  });\n\n  // 关闭链接编辑器\n  document.querySelector('#link-editor-box .close-btn').addEventListener('click', () => {\n    document.querySelector('#link-editor-box').style.display = 'none';\n    // 恢复页面滚动\n    document.body.classList.remove('no-scroll');\n    // 聚焦到打开对话框的按钮\n    document.querySelector(`button[data-name=\"${linkInputName}\"]`).focus();\n  });\n\n  // 链接编辑器的确定按钮点击\n  document.querySelector('#link-editor-box .save-btn').addEventListener('click', () => {\n    // 是否有未完成的编辑\n    if (linkList.querySelectorAll('.editing').length) {\n      alert('发现了未完成的编辑，您需要先删除或保存未完成的编辑！');\n      return false;\n    }\n    // 获取链接表单\n    const linkInput = document.querySelector(`textarea[name=\"${linkInputName}\"]`);\n    // 关闭链接编辑器\n    document.querySelector('#link-editor-box .close-btn').click();\n    // 如果链接全部删除\n    if (linkList.querySelectorAll('tr').length < 1) {\n      linkInput.value = '';\n      return true;\n    }\n\n    const links = [];  // 存储链接\n    // 从链接表格获取链接\n    linkList.querySelectorAll('tr').forEach(el => {\n      const linkItem = {\n        url: el.querySelector('.url-td').innerHTML,\n        name: el.querySelector('.name-td').innerHTML\n      };\n      if (el.querySelector('.logo-url-td').innerHTML !== '') {\n        linkItem.logoUrl = el.querySelector('.logo-url-td').innerHTML;\n      }\n      if (el.querySelector('.title-td').innerHTML !== '') {\n        linkItem.title = el.querySelector('.title-td').innerHTML;\n      }\n      links.push(linkItem);\n    });\n    // 把链接 JSON 填写到对应的友链表单\n    linkInput.value = JSON.stringify(links, null, 2);\n    // 对话框提示\n    const linkType = document.querySelector(`button[data-name=\"${linkInputName}\"]`).getAttribute('data-title');\n    if (confirm(`您编辑的链接已添加到 ${linkType}，您要保存设置吗？`)) {\n      document.querySelector('.typecho-page-main form').submit();\n    }\n  });\n\n  // 链接编辑器的确定按钮按下TAB\n  document.querySelector('#link-editor-box .save-btn').addEventListener('keydown', ev => {\n    if (ev.key === 'Tab') {\n      ev.preventDefault();\n      // 获取对话框内可聚焦的元素\n      const dialog = document.querySelector('#link-editor');\n      const focusableElements = dialog.querySelectorAll('a, button, input');\n      // 让第一个可聚焦的元素获取焦点\n      focusableElements[0].focus();\n    }\n  });\n});"
  },
  {
    "path": "components/comment-input.php",
    "content": "<?php if($this->allow('comment')): ?>\n    <div id=\"<?php $this->respondId(); ?>\" class=\"respond border-top\">\n        <div class=\"cancel-comment-reply\">\n            <?php $comments->cancelReply(); ?>\n        </div>\n\n        <h2 id=\"response\"><?php echo $GLOBALS['t']['comment']['leaveAComment']; ?></h2>\n        <form method=\"post\" action=\"<?php $this->commentUrl() ?>\" id=\"comment-form\" role=\"form\">\n            <div class=\"row\">\n                <!--评论内容输入-->\n                <div class=\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\">\n                    <label for=\"textarea\" class=\"required\">\n                        <?php echo $GLOBALS['t']['comment']['commentContent']; ?>\n                        <span class=\"required\">*</span>\n                    </label>\n                    <textarea name=\"text\" id=\"textarea\" class=\"textarea form-control\" required placeholder=\"<?php echo $GLOBALS['t']['comment']['enterYourCommentHere']; ?>\"><?php $this->remember('text'); ?></textarea>\n                </div>\n                <!--Emoji表情面板-->\n                <?php if ($this->options->emojiPanel == 'on'): ?>\n                    <div class=\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\">\n                        <button aria-expanded=\"false\" type=\"button\" class=\"btn btn-sm\" id=\"show-emoji-btn\" data-url=\"<?php $this->options->themeUrl('emoji.php'); ?>\">😀 <?php echo $GLOBALS['t']['emoji']['emoji']; ?></button>\n                        <div id=\"emoji-panel\" class=\"border shadow rounded\" role=\"dialog\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['emojiPanel']; ?>\">\n                            <div class=\"p-0 m-0 border-bottom\">\n                                <div id=\"emoji-classification\" class=\"m-0 btn-group\" role=\"group\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['emojiCategories']; ?>\"\">\n                                    <button role=\"radio\" aria-checked=\"true\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['smileys']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['smileys']; ?>\" type=\"button\" class=\"btn btn btn-sm selected\" data-classification=\"smileys\">😀</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['peopleAndGestures']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['peopleAndGestures']; ?>\" type=\"button\" class=\"btn btn btn-sm\" data-classification=\"character\">👦</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['clothingAndAccessories']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['clothingAndAccessories']; ?>\" type=\"button\" class=\"btn btn btn-sm\" data-classification=\"clothing\">👕</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['animalsAndNature']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['animalsAndNature']; ?>\" type=\"button\" class=\"btn btn btn-sm\" data-classification=\"animal\">🐶</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['food']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['food']; ?>\" type=\"button\" class=\"btn btn btn-sm\" data-classification=\"food\">🍏</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['activity']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['activity']; ?>\" type=\"button\" class=\"btn btn btn-sm\" data-classification=\"motion\">⚽</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['travelAndPlaces']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['travelAndPlaces']; ?>\" type=\"button\" class=\"btn btn-sm>\" data-classification=\"tourism\">🚚</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['objects']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['objects']; ?>\" type=\"button\" class=\"btn btn-sm>\" data-classification=\"objects\">⌚</button>\n                                    <button role=\"radio\" aria-checked=\"false\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['symbols']; ?>\" title=\"<?php echo $GLOBALS['t']['emoji']['symbols']; ?>\" type=\"button\" class=\"btn btn-sm>\" data-classification=\"symbols\">❤</button>\n                                </div>\n                            </div>\n                            <h5 class=\"text-center py-2 m-0 border-bottom\" id=\"emoji-title\"><?php echo $GLOBALS['t']['emoji']['emojiCategories']; ?></h5>\n                            <div id=\"emoji-list\" class=\"clearfix\" role=\"list\" aria-label=\"<?php echo $GLOBALS['t']['emoji']['emojiList']; ?> <?php echo $GLOBALS['t']['emoji']['pressEnterToAddTheEmojiToTheCommentInputField']; ?>\"></div>\n                        </div>\n                    </div>\n                <?php  endif; ?>\n                <?php if($this->user->hasLogin()): ?>\n                    <div class=\"col-lg-12 comment-user\">\n                        <?php echo $GLOBALS['t']['comment']['loggedInAs']; ?>\n                        <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->options->profileUrl(); ?>\" title=\"<?php echo $GLOBALS['t']['comment']['loggedInAs']; ?> <?php $this->user->screenName(); ?>\"><?php $this->user->screenName(); ?></a>.\n                        <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->options->logoutUrl(); ?>\"><?php echo $GLOBALS['t']['sidebar']['logout']; ?> &raquo;</a>\n                    </div>\n                <?php else: ?>\n                    <!--姓名输入-->\n                    <div class=\"col-lg-6 col-md-12 col-sm-12 col-12 form-group\">\n                        <label for=\"author\">\n                            <?php echo $GLOBALS['t']['comment']['name']; ?>\n                            <span class=\"required\">*</span>\n                        </label>\n                        <input type=\"text\" name=\"author\" id=\"author\" class=\"text form-control\" value=\"<?php $this->remember('author'); ?>\" placeholder=\"<?php echo $GLOBALS['t']['comment']['enterYourNameOrNickname']; ?>\" maxlength=\"20\" required>\n                    </div>\n                    <!--Email输入-->\n                    <div class=\"col-lg-6 col-md-12 col-sm-12 col-12 form-group\">\n                        <label for=\"mail\">\n                            <?php echo $GLOBALS['t']['comment']['emailAddress']; ?>\n                            <?php if ($this->options->commentsRequireMail): ?>\n                                <span class=\"required\">*</span>\n                            <?php endif; ?>\n                        </label>\n                        <input type=\"email\" name=\"mail\" id=\"mail\" class=\"text form-control\" value=\"<?php $this->remember('mail'); ?>\" <?php if ($this->options->commentsRequireMail) echo 'required'; ?> placeholder=\"<?php echo $GLOBALS['t']['comment']['enterYourEmailAddress']; ?>\" maxlength=\"64\">\n                    </div>\n                    <!--URL输入-->\n                    <div class=\"col-lg-6 col-md-12 col-sm-12 col-12 form-group\">\n                        <label for=\"url\">\n                            <?php echo $GLOBALS['t']['comment']['website']; ?>\n                            <?php if ($this->options->commentsRequireURL): ?>\n                                <span class=\"required\">*</span>\n                            <?php endif; ?>\n                        </label>\n                        <input type=\"url\" maxlength=\"64\" name=\"url\" id=\"url\" class=\"text form-control\" placeholder=\"<?php echo $GLOBALS['t']['comment']['enterYourWebsiteOrBlogURL']; ?>\" value=\"<?php $this->remember('url'); ?>\" <?php if ($this->options->commentsRequireURL) echo 'required'; ?>>\n                    </div>\n                <?php endif; ?>\n                <!--提交按钮-->\n                <div class=\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\">\n                    <button type=\"submit\" class=\"submit btn\"><?php echo $GLOBALS['t']['comment']['submitComment']; ?></button>\n                </div>\n            </div>\n        </form>\n    </div>\n<?php else: ?>\n    <h2 class=\"comments-off pt-4 border-top\"><?php _e('评论已关闭'); ?></h2>\n<?php endif; ?>"
  },
  {
    "path": "components/comments.php",
    "content": "<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['commentDateFormat'] = $this->options->commentDateFormat;\n$GLOBALS['QQAvatar'] = $this->options->QQAvatar;\n$GLOBALS['gravatarUrl'] = $this->options->gravatarUrl;  // 获取自定义 gravatar\n?>\n<?php\nfunction threadedComments($comments, $options) {\n    $commentClass = '';\n    if ($comments->authorId) {\n        if ($comments->authorId == $comments->ownerId) {\n            $commentClass .= ' comment-by-author';\n        } else {\n            $commentClass .= ' comment-by-user';\n        }\n    }\n\n    $commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent';\n    ?>\n\n    <li id=\"li-<?php $comments->theId(); ?>\" class=\"comment-body<?php\n    if ($comments->levels > 0) {\n        echo ' comment-child';\n        $comments->levelsAlt(' comment-level-odd', ' comment-level-even');\n    } else {\n        echo ' comment-parent';\n    }\n    $comments->alt(' comment-odd', ' comment-even');\n    echo $commentClass;\n    ?>\">\n        <div id=\"<?php $comments->theId(); ?>\" class=\"comment-box clearfix\">\n            <div class=\"comment-author clearfix\">\n                <?php\n                    if ($comments->type == 'comment') {\n                        if ($GLOBALS['QQAvatar'] == 'on' && isQQEmail($comments->mail)) {\n                            QQAvatar($comments->mail, $comments->author, 40);\n                        }else {\n                            gravatar($comments->mail, 50, $GLOBALS['gravatarUrl'], $comments->author);\n                        }\n                    }\n                    if ($comments->type == 'pingback') {\n                        echo '<div class=\"pingback avatar\" role=\"img\">引用</div>';\n                    }\n                ?>\n                <div class=\"comment-info float-left\">\n                    <b class=\"author\"><?php $comments->author(); ?></b>\n                    <?php if ($comments->authorId == $comments->ownerId): ?>\n                        <span class=\"author-tag badge badge-secondary\"><?php echo $GLOBALS['t']['post']['author']; ?></span>\n                    <?php endif; ?>\n                    <?php if ($comments->status != 'approved'): ?>\n                        <span class=\"author badge badge-secondary\" title=\"<?php echo $GLOBALS['t']['comment']['pendingReviewDescription']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\"><?php echo $GLOBALS['t']['comment']['pendingReview']; ?></span>\n                    <?php endif; ?>\n                    <time class=\"comment-time\" datetime=\"<?php echo date('c', $comments->created); ?>\">\n                        <?php echo commentDateFormat($comments->created, $GLOBALS['commentDateFormat']); ?>\n                    </time>\n                </div>\n                <span class=\"comment-reply float-right\">\n                    <span data-id=\"<?php $comments->theId(); ?>\">\n                        <?php $comments->reply($GLOBALS['t']['comment']['reply']); ?>\n                    </span>\n                </span>\n            </div>\n            <div class=\"comment-content\" id=\"c-<?php $comments->theId(); ?>\">\n                <?php if ($comments->parent != 0): ?>\n                    <b class=\"parent-name float-left mr-1\"><?php echo reply($comments->parent); ?></b>\n                <?php endif; ?>\n                <div><?php $comments->content(); ?></div>\n            </div>\n        </div>\n        <?php if ($comments->children) { ?>\n            <div class=\"comment-children clearfix\">\n                <?php $comments->threadedComments($options); ?>\n            </div>\n        <?php } ?>\n    </li>\n<?php } ?>\n\n<div id=\"comments\" aria-label=\"评论区\">\n    <?php $this->comments()->to($comments); ?>\n    <?php if ($this->options->commentInput == 'top') require_once 'comment-input.php'; ?>\n    <?php if ($comments->have()): ?>\n        <div class=\"comments-lists border-top\">\n            <h2><?php $this->commentsNum(_t('暂无评论'), $GLOBALS['t']['comment']['1Comment'], $GLOBALS['t']['comment']['thereAreNumComments']); ?></h2>\n\n            <?php $comments->listComments(); ?>\n\n            <nav aria-label=\"<?php echo $GLOBALS['t']['pagination']['commentPagination']; ?>\" class=\"pagination-nav\">\n                <?php bootstrap4Pagination($comments, $GLOBALS['t']['pagination']['previousPageNoShortcutKey'], $GLOBALS['t']['pagination']['nextPageNoShortcutKey']); ?>\n            </nav>\n        </div>\n    <?php endif; ?>\n    <?php if ($this->options->commentInput == 'bottom' or $this->options->commentInput == null) require_once 'comment-input.php'; ?>\n</div>\n\n<?php if ($this->options->pjax == 'on'): ?>\n    <script type=\"text/javascript\">\n      (function() {\n        window.TypechoComment = {\n          dom: function(id) {\n            return document.getElementById(id);\n          },\n          create: function(tag, attr) {\n            var el = document.createElement(tag);\n            for (var key in attr) {\n              el.setAttribute(key, attr[key]);\n            }\n            return el;\n          },\n          reply: function(cid, coid) {\n            var comment = this.dom(cid),\n                parent = comment.parentNode,\n                response = this.dom('<?php echo $this->respondId; ?>'),\n                input = this.dom('comment-parent'),\n                form = 'form' == response.tagName ? response : response.getElementsByTagName('form')[0],\n                textarea = response.getElementsByTagName('textarea')[0];\n            if (null == input) {\n              input = this.create('input', {\n                'type': 'hidden',\n                'name': 'parent',\n                'id': 'comment-parent'\n              });\n              form.appendChild(input);\n            }\n            input.setAttribute('value', coid);\n            if (null == this.dom('comment-form-place-holder')) {\n              var holder = this.create('div', {\n                'id': 'comment-form-place-holder'\n              });\n              response.parentNode.insertBefore(holder, response);\n            }\n            comment.appendChild(response);\n            this.dom('cancel-comment-reply-link').style.display = '';\n            if (null != textarea && 'text' == textarea.name) {\n              textarea.focus();\n            }\n            return false;\n          },\n          cancelReply: function() {\n            var response = this.dom('<?php echo $this->respondId; ?>'),\n                holder = this.dom('comment-form-place-holder'),\n                input = this.dom('comment-parent');\n            if (null != input) {\n              input.parentNode.removeChild(input);\n            }\n            if (null == holder) {\n              return true;\n            }\n            this.dom('cancel-comment-reply-link').style.display = 'none';\n            holder.parentNode.insertBefore(response, holder);\n            return false;\n          }\n        };\n      })();\n    </script>\n<?php endif; ?>"
  },
  {
    "path": "components/footer.php",
    "content": "<footer>\n    <div class=\"container\">\n        <?php if ($this->options->icp): ?>\n            <div>\n                <span><?php $this->options->icp(); ?></span>\n            </div>\n        <?php endif; ?>\n        <span>Powered by <a href=\"http://www.typecho.org/\" target=\"_blank\">Typecho</a> Theme by <a href=\"https://github.com/changbin1997/MWordStar\" target=\"_blank\">MWordStar</a></span>\n    </div>\n</footer>\n\n<div id=\"footer-btn-box\">\n    <!--移动设备的目录按钮-->\n    <?php if ($this->options->directoryMobile == 'enable' && $this->is('post')): ?>\n        <button type=\"button\" id=\"directory-btn\" class=\"btn rounded-circle d-block d-sm-block d-md-block d-lg-none d-xl-none\" aria-expanded=\"false\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['tableOfContents']; ?>\" title=\"<?php echo $GLOBALS['t']['sidebar']['tableOfContents']; ?>\">\n            <i class=\"icon-list-ol\"></i>\n        </button>\n    <?php endif; ?>\n    <!--切换主题配色按钮-->\n    <?php if ($this->options->colorChangeBtn == 'show'): ?>\n        <button type=\"button\" class=\"btn rounded-circle\" id=\"change-color-btn\" aria-label=\"<?php echo $GLOBALS['t']['themeColor']['themeColor']; ?>\" data-toggle=\"tooltip\" data-placement=\"left\" data-light=\"<?php $this->options->defaultLightColor(); ?>\">\n            <i></i>\n        </button>\n    <?php endif; ?>\n    <!--返回顶部按钮-->\n    <?php if ($this->options->toTop == 'show'): ?>\n        <button type=\"button\" class=\"btn to-top rounded-circle d-none\" title=\"<?php echo $GLOBALS['t']['scrollToTop']; ?>\" aria-label=\"<?php echo $GLOBALS['t']['scrollToTop']; ?>\">\n            <i class=\"icon-arrow-up\"></i>\n        </button>\n    <?php endif; ?>\n</div>\n\n<!--PJAX更新完成后执行的JS-->\n<?php if ($this->options->pjax === 'on' && $this->options->pjaxEnd): ?>\n    <script type=\"text/javascript\">\n      function pjaxUpdateComplete() {<?php $this->options->pjaxEnd(); ?>}\n    </script>\n<?php endif; ?>\n<script type=\"text/javascript\" src=\"<?php $this->options->themeUrl('assets/js/jquery-3.4.1.min.js'); ?>\"></script>\n<script type=\"text/javascript\" src=\"<?php $this->options->themeUrl('assets/js/jquery.pjax.js'); ?>\"></script>\n<script type=\"text/javascript\" src=\"<?php $this->options->themeUrl('assets/js/bootstrap.bundle.min.js'); ?>\"></script>\n<script type=\"text/javascript\" src=\"<?php $this->options->themeUrl('assets/js/highlight.pack.js'); ?>\"></script>\n<script type=\"text/javascript\" src=\"<?php $this->options->themeUrl('assets/js/jquery.qrcode.min.js'); ?>\"></script>\n<script type=\"text/javascript\" src=\"<?php $this->options->themeUrl('assets/js/clipboard.min.js'); ?>\"></script>\n<script type=\"module\" src=\"<?php $this->options->themeUrl('assets/js/app.js'); ?>\"></script>\n<!--body底部的自定义JS-->\n<?php if ($this->options->bodyHTML): ?>\n    <?php $this->options->bodyHTML(); ?>\n<?php endif; ?>\n<?php $this->footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "components/header.php",
    "content": "<?php\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n\n// 让主题使用的时区跟随 Typecho 设置的时区\nsetTimezoneByOffset($this->options->timezone);\n// 检测是否包含主题配色 cookie\nif (isset($_COOKIE['themeColor'])) {\n    // 如果 cookie 存储的浅色和默认浅色不一样\n    if ($_COOKIE['themeColor'] != 'dark-color' && $_COOKIE['themeColor'] != $this->options->defaultLightColor) {\n        // 重新设置 cookie\n        setcookie('themeColor', $this->options->defaultLightColor, time() + 15552000, '/');\n    }\n    // 根据主题配色 cookie 设置配色\n    $themeColor = $_COOKIE['themeColor'];\n}else {\n    // 如果不包含主题配色 cookie 就使用后台设置的默认配色\n    $themeColor = $this->options->color;\n}\n\n// 获取代码高亮主题\n$codeThemeColorSelected = $this->options->codeThemeColor;\n$codeThemeColor = $codeThemeColorSelected;\n// 根据主题配色模式来设置代码高亮主题\nif ($codeThemeColor == 'auto') {\n    $codeThemeColor = $themeColor == 'dark-color'?'github-dark':'stackoverflow-light';\n}\n// 如果代码高亮被禁用就不输出代码高亮主题设置\nif ($this->options->codeHighlight != 'enable-highlight') {\n    $codeThemeColor = 'code-theme-none';\n}\n\n// 导航栏自定义链接\n$navLinks = null;\nif ($this->options->navLinks) $navLinks = json_decode($this->options->navLinks, true);\n\n// body class\n$bodyClass = array(\n    // 代码高亮主题\n    $codeThemeColor,\n    // 是否开启代码高亮\n    $this->options->codeHighlight,\n    // 主题配色模式\n    $themeColor\n);\n// 如果开启了代码块高亮就把代码块行号设置添加到 body class\nif ($this->options->codeHighlight == 'enable-highlight') {\n    $bodyClass[] = 'line-num-' . $this->options->codeLineNum;\n}\n// 把 body class 数组转为字符串，方便直接输出\n$bodyClass = implode(' ', $bodyClass);\n?>\n<!doctype html>\n<html lang=\"<?php echo $GLOBALS['language']; ?>\">\n<head>\n    <meta charset=\"<?php $this->options->charset(); ?>\">\n    <meta name=\"viewport\"\n          content=\"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n    <?php themeSeoTags($this); ?>\n    <title>\n        <?php\n        $this->archiveTitle(array(\n            'category' => $GLOBALS['t']['archive']['postsUnderTheCategory'],\n            'search' => $GLOBALS['t']['archive']['postsContainingTheKeyword'],\n            'tag' => $GLOBALS['t']['archive']['postsTagged'],\n            'author' => $GLOBALS['t']['archive']['postsByAuthor']\n        ), '', ' - ');\n        ?>\n        <?php $this->options->title(); ?>\n        <?php echo $this->is('index')?'- ' . $this->options->tagline:''; ?>\n    </title>\n    <link rel=\"icon\" href=\"<?php echo $this->options->logoUrl?$this->options->logoUrl:$this->options->siteUrl . 'favicon.ico'; ?>\" type=\"image/x-icon\">\n    <link rel=\"stylesheet\" href=\"<?php $this->options->themeUrl('assets/css/bootstrap.css'); ?>\" type=\"text/css\">\n    <link rel=\"stylesheet\" href=\"<?php $this->options->themeUrl('assets/css/icon.css'); ?>\" type=\"text/css\">\n    <link rel=\"stylesheet\" href=\"<?php $this->options->themeUrl('assets/css/style.css'); ?>\" type=\"text/css\">\n    <?php localizeScript(); ?>\n    <?php if ($this->is('post') && $this->fields->keywords or $this->fields->summaryContent): ?>\n        <?php\n        $metaContent = array();\n        // 如果设置了自定义关键词就显示自定义关键词\n        if ($this->fields->keywords) $metaContent['keywords'] = $this->fields->keywords;\n        // 如果设置了自定义摘要内容就显示自定义摘要\n        if ($this->fields->summaryContent) $metaContent['description'] = $this->fields->summaryContent;\n        // 把包含自定义关键词和摘要的数组转为 URL 查询格式\n        $metaContent = urldecode(http_build_query($metaContent));\n        $this->header($metaContent);\n        ?>\n    <?php else: ?>\n        <?php $this->header(); ?>\n    <?php endif; ?>\n    <?php if ($this->options->cssCode): ?>\n        <style type=\"text/css\">\n            <?php $this->options->cssCode(); ?>\n        </style>\n    <?php endif; ?>\n    <?php if ($this->options->headHTML): ?>\n        <?php $this->options->headHTML(); ?>\n    <?php endif; ?>\n</head>\n<body class=\"<?php echo $bodyClass; ?>\" data-rounded=\"<?php $this->options->rounded(); ?>\" data-color=\"<?php echo $themeColor; ?>\" data-code-theme=\"<?php echo $codeThemeColorSelected; ?>\" data-pjax=\"<?php $this->options->pjax(); ?>\">\n<?php if ($this->options->pjax == 'on' && $this->options->pjaxProgressBar == 'on'): ?>\n    <div id=\"progress-bar\" style=\"display: none;\">\n        <div id=\"progress\" style=\"background: <?php $this->options->pjaxProgressBarColor(); ?>;\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"0\"></div>\n    </div>\n<?php endif; ?>\n<header class=\"sticky-top\">\n    <nav class=\"navbar navbar-expand-lg\">\n        <div class=\"container\">\n            <?php if ($this->options->navLogoUrl): ?>\n                <a class=\"navbar-brand\" href=\"<?php $this->options->siteUrl(); ?>\" title=\"<?php $this->options->title(); ?>\">\n                    <img src=\"<?php $this->options->navLogoUrl(); ?>\" alt=\"<?php $this->options->title(); ?>\" height=\"<?php $this->options->navLogoHeight(); ?>\">\n                </a>\n            <?php else: ?>\n                <a class=\"navbar-brand\" href=\"<?php $this->options->siteUrl(); ?>\" title=\"<?php $this->options->title(); ?> 首页\"><?php $this->options->title(); ?></a>\n            <?php endif; ?>\n            <button class=\"navbar-toggler border-0 px-0\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarSupportedContent\" aria-controls=\"navbarSupportedContent\" aria-expanded=\"false\" aria-label=\"<?php echo $GLOBALS['t']['header']['navigationMenu']; ?>\">\n                <span class=\"navbar-toggler-icon\"></span>\n            </button>\n\n            <div class=\"collapse navbar-collapse\" id=\"navbarSupportedContent\">\n                <ul class=\"navbar-nav mr-auto\">\n                    <li class=\"nav-item <?php echo $this->is('index')?'active':''; ?>\">\n                        <a class=\"nav-link\" href=\"<?php $this->options->siteUrl(); ?>\" <?php if ($this->is('index')) echo 'aria-current=\"page\"'; ?>><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <?php if ($this->options->navbar && in_array('showClassification', $this->options->navbar)): ?>\n                        <li class=\"nav-item dropdown\">\n                            <a class=\"nav-link dropdown-toggle\" href=\"javascript:;\" id=\"navbarDropdownMenuLink\" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n                                <?php echo $GLOBALS['t']['sidebar']['categories']; ?>\n                            </a>\n                            <div class=\"dropdown-menu\" aria-labelledby=\"navbarDropdownMenuLink\">\n                                <?php $this->widget('Widget_Metas_Category_List')->parse('<a class=\"dropdown-item\" href=\"{permalink}\">{name}</a>'); ?>\n                            </div>\n                        </li>\n                    <?php endif; ?>\n                    <?php $this->widget('Widget_Contents_Page_List')->to($pages); ?>\n                    <?php while($pages->next()): ?>\n                        <li class=\"nav-item <?php echo $this->is('page', $pages->slug)?'active':''; ?>\">\n                            <a class=\"nav-link\" href=\"<?php $pages->permalink(); ?>\" <?php if ($this->is('page', $pages->slug)) echo 'aria-current=\"page\"'; ?>><?php $pages->title(); ?></a>\n                        </li>\n                    <?php endwhile; ?>\n\n                    <?php if ($this->options->navLinks && is_array($navLinks)): ?>\n                        <!--自定义导航链接-->\n                        <?php foreach ($navLinks as $link): ?>\n                            <?php if (isset($link['menu']) && count($link['menu'])): ?>\n                                <li class=\"nav-item dropdown\">\n                                    <a href=\"javascript:;\" class=\"nav-link dropdown-toggle\" data-toggle=\"dropdown\" aria-expanded=\"false\"><?php echo $link['name']; ?></a>\n                                    <div class=\"dropdown-menu\">\n                                        <?php foreach ($link['menu'] as $menuItem): ?>\n                                            <a class=\"dropdown-item\" href=\"<?php echo $menuItem['url']; ?>\"><?php echo $menuItem['name']; ?></a>\n                                        <?php endforeach; ?>\n                                    </div>\n                                </li>\n                            <?php else: ?>\n                                <li class=\"nav-item\">\n                                    <a class=\"nav-link\" href=\"<?php echo $link['url']; ?>\"><?php echo $link['name']; ?></a>\n                                </li>\n                            <?php endif; ?>\n                        <?php endforeach; ?>\n                    <?php endif; ?>\n                </ul>\n\n                <?php if ($this->options->changeLanguageBtn == 'show'): ?>\n                    <div class=\"navbar-nav mr-1\">\n                        <div class=\"nav-item dropdown\">\n                            <a href=\"javascript:;\" class=\"nav-link dropdown-toggle\" data-toggle=\"dropdown\" aria-expanded=\"false\" aria-label=\"语言（Language）\" title=\"语言（Language）\" role=\"button\">\n                                <i class=\"icon-languages\"></i>\n                                <span class=\"ml-1 d-xl-none d-lg-none d-md-inline d-sm-inline d-inline\">语言（Language）</span>\n                            </a>\n                            <div class=\"dropdown-menu\">\n                                <a href=\"javascript:;\" data-language=\"zh-CN\" class=\"change-language dropdown-item <?php if ($GLOBALS['language'] == 'zh' or $GLOBALS['language'] == 'zh-CN') echo 'active'; ?>\" aria-checked=\"<?php echo $GLOBALS['language'] == 'zh' or $GLOBALS['language'] == 'zh-CN'; ?>\" role=\"checkbox\">简体中文</a>\n                                <a href=\"javascript:;\" data-language=\"en\" class=\"change-language dropdown-item <?php if ($GLOBALS['language'] == 'en') echo 'active'; ?>\" aria-checked=\"<?php echo $GLOBALS['language'] == 'en'; ?>\" role=\"checkbox\">English</a>\n                            </div>\n                        </div>\n                    </div>\n                <?php endif; ?>\n\n                <?php if (is_array($this->options->navbar) && in_array('showSearch', $this->options->navbar)): ?>\n                    <form class=\"form-inline search-form my-2 m-lg-0 m-xl-0\" action=\"<?php $this->options->siteUrl(); ?>\" method=\"post\" role=\"search\">\n                        <div class=\"input-group\">\n                            <input data-url=\"<?php $this->options->siteUrl(); ?>\" class=\"border-right-0 form-control form-control-md search-input\" type=\"text\" placeholder=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" aria-label=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" required=\"required\" name=\"s\">\n                            <div class=\"input-group-append\">\n                                <button class=\"btn my-sm-0\" type=\"submit\" aria-label=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" title=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" data-toggle=\"tooltip\" data-placement=\"bottom\">\n                                    <i class=\"icon-search\"></i>\n                                </button>\n                            </div>\n                        </div>\n                    </form>\n                <?php endif; ?>\n            </div>\n        </div>\n    </nav>\n</header>"
  },
  {
    "path": "components/link-editor.php",
    "content": "<div id=\"link-editor-box\" style=\"display: none;\">\n    <div id=\"link-editor\" role=\"dialog\" aria-labelledby=\"link-editor-title\" aria-describedby=\"link-list\" aria-modal=\"true\">\n        <p id=\"link-editor-title\">友情链接编辑</p>\n        <div id=\"link-list\">\n            <table aria-label=\"友情链接\">\n                <thead>\n                    <tr>\n                        <th>地址</th>\n                        <th>名称</th>\n                        <th>网站Logo（选填）</th>\n                        <th>简介（选填）</th>\n                        <th>操作</th>\n                    </tr>\n                </thead>\n                <tbody></tbody>\n            </table>\n        </div>\n        <div class=\"dialog-actions\">\n            <span>\n                <button type=\"button\" class=\"btn add-link\" title=\"添加新的链接\">添加</button>\n            </span>\n            <span>\n                <button type=\"button\" class=\"btn close-btn\">取消</button>\n                <button type=\"button\" class=\"btn primary save-btn\">确定</button>\n            </span>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "components/post-list.php",
    "content": "<?php while ($this->next()):  ?>\n    <div class=\"post post-list-item mwordstar-block\">\n        <?php $postListStyle = postListStyle($this->options->postListStyle, $this->fields->postListStyle); ?>\n        <?php $headerImg = headerImageDisplay($this, $this->options->headerImage, $this->options->headerImageUrl); ?>\n        <?php if (getPostListHeaderImageStyle($this->fields->postListHeaderImageStyle, $this->options->postListHeaderImageStyle) == 'max' && $headerImg && $postListStyle == 'summary'): ?>\n            <div class=\"header-img border-top\">\n                <a tabindex=\"-1\" aria-hidden=\"true\" href=\"<?php $this->permalink() ?>\" aria-label=\"<?php echo $GLOBALS['t']['post']['featuredImage']; ?>\" style=\"background-image: url(<?php echo $headerImg; ?>);background-color: <?php echo headerImageBgColor($this->options->headerImageBg); ?>;\" class=\"fixed\"></a>\n            </div>\n        <?php endif; ?>\n        <header class=\"entry-header border-bottom\">\n            <h2 class=\"entry-title p-name\">\n                <?php if ($this->sticky) $this->sticky(); ?>\n                <a href=\"<?php $this->permalink() ?>\" rel=\"bookmark\" target=\"<?php $this->options->listLinkOpen(); ?>\">\n                    <?php\n                    if ($this->hidden) {\n                        echo $GLOBALS['t']['post']['thisPostIsPasswordProtected'];\n                    }else {\n                        $this->title();\n                    }\n                    ?>\n                </a>\n            </h2>\n        </header>\n        <?php if ($postListStyle == 'summary'): ?>\n            <!--输出摘要-->\n            <div class=\"entry-summary\" data-header-image-type=\"<?php echo getPostListHeaderImageStyle($this->fields->postListHeaderImageStyle, $this->options->postListHeaderImageStyle); ?>\">\n                <?php if (getPostListHeaderImageStyle($this->fields->postListHeaderImageStyle, $this->options->postListHeaderImageStyle) == 'mini' && $headerImg): ?>\n                    <div class=\"row\">\n                        <div class=\"col-xl-4 col-lg-4 col-md-4 col-sm-5 col-5 mini-header-image\">\n                            <a href=\"<?php $this->permalink(); ?>\" aria-hidden=\"true\" aria-label=\"<?php echo $GLOBALS['t']['post']['featuredImage']; ?>\" style=\"background-image: url(<?php echo $headerImg; ?>);\" tabindex=\"-1\"></a>\n                        </div>\n                        <div class=\"col-xl-8 col-lg-8 col-md-8 col-sm-7 col-7 content-box\">\n                            <p>\n                                <?php\n                                if ($this->hidden) {\n                                    echo $GLOBALS['t']['post']['enterThePasswordToViewIt'];\n                                }else {\n                                    $this->fields->summaryContent?$this->fields->summaryContent():$this->excerpt($this->options->summary, '...');\n                                }\n                                ?>\n                            </p>\n                        </div>\n                    </div>\n                <?php else: ?>\n                    <p>\n                        <?php\n                        if ($this->hidden) {\n                            echo $GLOBALS['t']['post']['enterThePasswordToViewIt'];\n                        }else {\n                            $this->fields->summaryContent?$this->fields->summaryContent():$this->excerpt($this->options->summary, '...');\n                        }\n                        ?>\n                    </p>\n                <?php endif; ?>\n            </div>\n        <?php else: ?>\n            <!--输出全文-->\n            <div class=\"entry-summary post-content\"><?php echo addBootstrapTableClasses($this->content); ?></div>\n        <?php endif; ?>\n        <div class=\"article-info clearfix border-top\" role=\"group\" aria-label=\"<?php echo $GLOBALS['t']['post']['postInfo']; ?>\">\n            <!--时间-->\n            <div class=\"info\">\n                <i class=\"icon-calendar icon\" aria-hidden=\"true\"></i>\n                <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['publicationDate']; ?>\">\n                    <time datetime=\"<?php echo date('c', $this->created); ?>\"><?php echo postDateFormat($this->created); ?></time>\n                </span>\n            </div>\n            <!--作者-->\n            <div class=\"info\">\n                <i class=\"icon-user icon\" aria-hidden=\"true\"></i>\n                <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->author->permalink(); ?>\" title=\"<?php echo $GLOBALS['t']['post']['author']; ?>\"><?php $this->author(); ?></a>\n            </div>\n            <!--阅读量-->\n            <div class=\"info\">\n                <i class=\"icon-eye icon\" aria-hidden=\"true\"></i>\n                <?php $views = postViews($this); ?>\n                <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['views']; ?>\"><?php echo $views; ?></span>\n            </div>\n            <!--评论-->\n            <div class=\"info\">\n                <i class=\"icon-bubbles2 icon\" aria-hidden=\"true\"></i>\n                <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->permalink() ?>#comments\"><?php $this->commentsNum('%d ' . $GLOBALS['t']['post']['comments']); ?></a>\n            </div>\n            <!--分类-->\n            <div class=\"info category\">\n                <i class=\"icon-folder-open icon\" aria-hidden=\"true\"></i>\n                <?php $this->category(''); ?>\n            </div>\n            <a href=\"<?php $this->permalink() ?>\" target=\"<?php $this->options->listLinkOpen(); ?>\" class=\"float-right d-sm-none d-none d-md-inline d-lg-inline d-xl-inline\"><?php echo $GLOBALS['t']['post']['readMore']; ?></a>\n            <?php if ($this->user->hasLogin()): ?>\n                <a href=\"<?php echo $this->options->adminUrl . 'write-post.php?cid=' . $this->cid; ?>\" class=\"float-right mr-3 d-sm-none d-none d-md-inline d-lg-inline d-xl-inline\"><?php echo $GLOBALS['t']['post']['edit']; ?></a>\n            <?php endif; ?>\n        </div>\n    </div>\n<?php endwhile; ?>\n"
  },
  {
    "path": "components/sidebar.php",
    "content": "<?php\n\n// 读取侧边栏组件\n$components = $GLOBALS['page'] == 'post'?$this->options->postPageSidebarComponent:$this->options->sidebarComponent;\n//  如果侧边栏组件为空就使用默认设置\nif ($components == null or $components == '') {\n    $components = '博客信息,日历,搜索,最新文章,最新回复,文章分类,标签云,文章归档,其它功能,友情链接';\n}\n$components = str_replace(' ', '', $components);  //  去除空格\n$components = explode(',', $components);\n?>\n\n<div class=\"col-md-12 col-lg-4 col-sm-12 sidebar\">\n    <?php foreach ($components as $component): ?>\n        <?php if ($component == '博客信息'): ?>\n            <!--博客信息-->\n            <section class=\"mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['sidebar']['blogInfo']; ?></h4>\n                <div class=\"personal-information pt-2\">\n                    <?php if (!$this->options->nickname or !$this->options->birthday or !$this->options->avatarUrl) $userInfo = getAdminInfo(); ?>\n                    <div class=\"user\">\n                        <?php\n                            $avatarName = $this->options->nickname ? $this->options->nickname . '的头像' : $this->options->title . '的头像';\n                            if ($this->options->avatarUrl) {\n                                echo '<img src=\"' . $this->options->avatarUrl . '\" alt=\"' . $avatarName . '\" class=\"avatar\" />';\n                            }else {\n                                gravatar($userInfo['mail'], 56, $this->options->gravatarUrl, $avatarName);\n                            }\n                        ?>\n                        <div class=\"p-2\">\n                            <a aria-describedby=\"blog-description\" class=\"user-name mt-2\" target=\"_blank\" href=\"<?php echo $this->options->nicknameUrl?$this->options->nicknameUrl:$this->options->siteUrl; ?>\"><?php echo $this->options->nickname?$this->options->nickname:$userInfo['screenName']; ?></a>\n                            <p class=\"introduction mt-1\" id=\"blog-description\"><?php echo $this->options->Introduction?$this->options->Introduction:$this->options->description; ?></p>\n                        </div>\n                    </div>\n                    <div class=\"website clearfix border-top\">\n                        <?php Typecho_Widget::widget('Widget_Stat')->to($quantity); ?>\n                        <div class=\"info float-left border-right\">\n                            <p class=\"quantity\"><?php $quantity->publishedPostsNum(); ?></p>\n                            <?php echo $GLOBALS['t']['dataPage']['totalPosts']; ?>\n                        </div>\n                        <div class=\"info float-left border-right\">\n                            <p class=\"quantity\"><?php $quantity->publishedCommentsNum(); ?></p>\n                            <?php echo $GLOBALS['t']['sidebar']['totalComments']; ?>\n                        </div>\n                        <div class=\"info float-left\">\n                            <?php $runningSince = $this->options->birthday ? round((time() - strtotime($this->options->birthday)) / 86400, 0) : round((time() - $userInfo['created']) / 86400, 0); ?>\n                            <p class=\"quantity\"><?php printf($GLOBALS['t']['sidebar']['runningSince'][1], $runningSince); ?></p>\n                            <?php echo $GLOBALS['t']['sidebar']['runningSince'][0]; ?>\n                        </div>\n                    </div>\n                </div>\n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '语言选择'): ?>\n            <section class=\"language-select mwordstar-block\">\n                <h4>语言（Language）</h4>\n                <ul class=\"list-group\" aria-label=\"语言（Language）\">\n                    <li class=\"border-bottom\">\n                        <div class=\"custom-control custom-radio\">\n                            <input <?php if ($GLOBALS['language'] == 'zh' or $GLOBALS['language'] == 'zh-CN') echo 'checked'; ?> type=\"radio\" class=\"custom-control-input change-language\" name=\"language\" id=\"zh-CN\" data-language=\"zh-CN\">\n                            <label class=\"custom-control-label\" for=\"zh-CN\">简体中文</label>\n                        </div>\n                    </li>\n                    <li class=\"border-bottom\">\n                        <div class=\"custom-control custom-radio\">\n                            <input <?php if ($GLOBALS['language'] == 'en') echo 'checked'; ?> type=\"radio\" class=\"custom-control-input change-language\" name=\"language\" id=\"en\" data-language=\"en\">\n                            <label class=\"custom-control-label\" for=\"en\">English</label>\n                        </div>\n                    </li>\n                </ul>\n            </section>\n        <?php endif; ?>\n        \n        <?php if ($component == '自定义' && $this->options->customizeHTML): ?>\n            <!--自定义HTML-->\n            <section class=\"customize mwordstar-block\">\n                <h4><?php $this->options->customizeTitle(); ?></h4>\n                <div class=\"customize-html pt-2\"><?php $this->options->customizeHTML(); ?></div>\n            </section>\n        <?php endif; ?>\n        \n        <?php if ($component == '搜索'): ?>\n            <!--搜索-->\n            <section class=\"search mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['header']['search']; ?></h4>\n                <div class=\"tag-list pt-2\">\n                    <form action=\"<?php $this->options->siteUrl(); ?>\" method=\"post\" role=\"form\">\n                        <div class=\"input-group\">\n                            <input type=\"search\" class=\"form-control form-control-md\" placeholder=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" aria-label=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" aria-describedby=\"button-addon2\" required=\"required\" name=\"s\">\n                            <div class=\"input-group-append\">\n                                <button type=\"submit\" class=\"btn btn-md\" aria-label=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" title=\"<?php echo $GLOBALS['t']['header']['search']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\">\n                                    <span class=\"icon-search\"></span>\n                                </button>\n                            </div>\n                        </div>\n                    </form>\n                </div>\n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '日历'): ?>\n            <!--日历-->\n            <section class=\"calendar mwordstar-block\">\n                <?php\n                // 获取日历的月份\n                $date = getMonth();\n                // 根据语言使用不同的日期格式\n                $format = $GLOBALS['language'] == 'en' ? 'F Y' : 'Y年m月';\n                // 设置日历组件的标题\n                $monthTimestamp = mktime(0, 0, 0, $date[1], 1, $date[0]);\n                ?>\n                <h4><?php echo date($format, $monthTimestamp); ?></h4>\n                <div class=\"tag-list pt-2\">\n                    <?php $calendar = calendar($date[0] . '-' . $date[1] . '-01', $this->options->siteUrl, $this->options->rewrite); ?>\n                    <?php echo $calendar['calendar']; ?>\n                    <nav class=\"pt-2 clearfix\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['previousAndNextMonths']; ?>\">\n                        <?php if ($calendar['previous']): ?>\n                            <a class=\"p-0 float-left\" href=\"<?php echo $calendar['previousUrl']; ?>\"><?php echo date($format, strtotime($calendar['previous'] . '01')); ?></a>\n                        <?php endif; ?>\n                        <?php if ($calendar['next']): ?>\n                            <a class=\"p-0 float-right\"  href=\"<?php echo $calendar['nextUrl']; ?>\"><?php echo date($format, strtotime($calendar['next'] . '01')); ?></a>\n                        <?php endif; ?>\n                    </nav>\n                </div>\n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '最新文章'): ?>\n            <!--最新文章-->\n            <section class=\"latest-articles mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['sidebar']['latestPosts']; ?></h4>\n                <?php $latestArticles = $this->widget('Widget_Contents_Post_Recent'); ?>\n                <?php if ($latestArticles->have()): ?>\n                <ul class=\"list-group\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['latestPosts']; ?>\">\n                    <?php $postSize = 0; ?>\n                    <?php while ($latestArticles->next()): ?>\n                        <li class=\"border-bottom\">\n                            <a target=\"<?php $this->options->sidebarLinkOpen(); ?>\" href=\"<?php $latestArticles->permalink(); ?>\">\n                                <?php if (is_array($this->options->headerImage) && in_array('sidebarBlock', $this->options->headerImage)): ?>\n                                    <?php $img = postImg($latestArticles, $this->options->headerImageUrl); ?>\n                                    <?php if ($img): ?>\n                                        <div class=\"article-img\" style=\"background-image: url(<?php echo $img; ?>);\" aria-label=\"<?php echo $GLOBALS['t']['post']['featuredImage']; ?>\"></div>\n                                    <?php endif; ?>\n                                <?php endif; ?>\n                                <p><?php $latestArticles->title(); ?></p>\n                            </a>\n                        </li>\n                        <?php\n                            $postSize ++;\n                            if ($postSize == $this->options->postsListSize) {\n                                break;\n                            }\n                        ?>\n                    <?php endwhile; ?>\n                </ul>\n                <?php else: ?>\n                    <p class=\"message pb-0\"><?php echo $GLOBALS['t']['sidebar']['noPostsAvailableToDisplay']; ?></p>\n                <?php endif; ?>    \n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '最新回复'): ?>\n            <!--最新回复-->\n            <section class=\"latest-comment mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['sidebar']['recentComments']; ?></h4>\n                <?php $this->widget('Widget_Comments_Recent')->to($comments); ?>\n                <?php if ($comments->have()): ?>\n                <ul class=\"list-unstyled list-group\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['recentComments']; ?>\">\n                    <?php while($comments->next()): ?>\n                        <li class=\"media border-bottom\">\n                            <?php\n                                if ($comments->type == 'comment') {\n                                    if ($this->options->QQAvatar == 'on' && isQQEmail($comments->mail)) {\n                                        QQAvatar($comments->mail, $comments->author, 40);\n                                    }else {\n                                        gravatar($comments->mail, 50, $this->options->gravatarUrl, $comments->author);\n                                    }\n                                }\n                                if ($comments->type == 'pingback') {\n                                    echo '<div class=\"pingback avatar\" role=\"img\">引用</div>';\n                                }\n                            ?>\n                            <div class=\"media-body ml-2\">\n                                <a data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php printf($GLOBALS['t']['sidebar']['commentOn'], $comments->title); ?>\" target=\"<?php $this->options->sidebarLinkOpen(); ?>\" href=\"<?php $comments->permalink(); ?>\"><?php $comments->author(false); ?></a>\n                                <div class=\"comment-content\"><?php $comments->excerpt(50, '...'); ?></div>\n                            </div>\n                        </li>\n                    <?php endwhile; ?>\n                </ul>\n                <?php else: ?>\n                    <p class=\"pb-0 message\">没有可以显示的评论和回复</p>\n                <?php endif; ?>    \n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '文章分类'): ?>\n            <!--分类-->\n            <section class=\"category mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['sidebar']['categories']; ?></h4>\n                <?php $this->widget('Widget_Metas_Category_List')->to($category); ?>\n                <?php if ($category->have()): ?>\n                <ul class=\"list-group list-group-flush\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['categories']; ?>\">\n                    <?php while ($category->next()): ?>\n                        <li class=\"d-flex justify-content-between align-items-center border-bottom indentation-<?php $category->parent(); ?>\">\n                            <a rel=\"index\" target=\"<?php $this->options->sidebarLinkOpen(); ?>\" data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $category->permalink(); ?>\" title=\"<?php if ($category->parent > 0) echo getParentCategory($category->parent) . ' 下的子分类 ' ?><?php $category->description(); ?>\">\n                                <?php echo $category->name(); ?>\n                                <span class=\"sr-only\"><?php printf($GLOBALS['t']['sidebar']['tagPostCount'], $category->count); ?></span>\n                            </a>\n                            <span class=\"badge badge-pill\">\n                                <?php $category->count(); ?>\n                            </span>\n                        </li>\n                    <?php endwhile; ?>\n                </ul>\n                <?php else: ?>\n                    <p class=\"pb-0 message\"><?php echo $GLOBALS['t']['sidebar']['noCategoriesAvailableToDisplay']; ?></p>\n                <?php endif; ?>    \n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '标签云'): ?>\n            <!--标签云-->\n            <section class=\"tag-cloud mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['sidebar']['tags']; ?></h4>\n                <?php $limit = $this->options->tagCount == 0?1000:$this->options->tagCount; ?>\n                <?php $this->widget('Widget_Metas_Tag_Cloud', 'sort=mid&ignoreZeroCount=1&desc=0&limit=' . $limit)->to($tags); ?>\n                <?php if($tags->have()): ?>\n                    <?php $tagCount = tagCount(); ?>\n                    <div class=\"tag-list pt-2\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['tags']; ?>\" role=\"list\">\n                        <?php while ($tags->next()): ?>\n                            <a role=\"listitem\" target=\"<?php $this->options->sidebarLinkOpen(); ?>\" data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $tags->permalink(); ?>\" rel=\"tag\" class=\"py-1 px-2 d-inline-block tag-link\" title=\"<?php printf($GLOBALS['t']['sidebar']['tagPostCount'], $tags->count); ?>\"><?php $tags->name(); ?></a>\n                            <?php\n                            ?>\n                        <?php endwhile; ?>\n                        <?php if ($this->options->tagPage && $tagCount > $limit): ?>\n                            <a role=\"listitem\" target=\"<?php $this->options->sidebarLinkOpen(); ?>\" data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->options->tagPage(); ?>\" rel=\"tag\" class=\"py-1 px-2 d-inline-block tag-link\" title=\"<?php echo $GLOBALS['t']['sidebar']['viewMoreTags']; ?>\"><?php echo $GLOBALS['t']['sidebar']['viewMore']; ?></a>\n                        <?php endif; ?>\n                    </div>\n                <?php else: ?>\n                    <p class=\"pb-0 message\"><?php echo $GLOBALS['t']['sidebar']['noTagsAvailableToDisplay']; ?></p>\n                <?php endif; ?>\n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '文章归档'): ?>\n            <!--归档-->\n            <section class=\"mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['sidebar']['archives']; ?></h4>\n                <?php\n                // 根据语言设置归档时间格式\n                $format = $GLOBALS['language'] == 'en' ? 'F Y' : 'Y年m月';\n                $postArchive = $this->widget('Widget_Contents_Post_Date', 'type=month&format=' . $format);\n                ?>\n                <?php if ($postArchive->have()): ?>\n                <ul class=\"list-group list-group-flush\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['archives']; ?>\">\n                    <?php $archiveCount = 0; ?>\n                    <?php while ($postArchive->next()): ?>\n                    <li class=\"d-flex justify-content-between align-items-center border-bottom\">\n                        <a rel=\"archives\" target=\"<?php echo $this->options->sidebarLinkOpen; ?>\" data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $postArchive->permalink(); ?>\" title=\"<?php printf($GLOBALS['t']['sidebar']['tagPostCount'], $postArchive->count); ?>\"><?php $postArchive->date(); ?></a>\n                        <span class=\"badge badge-pill\"><?php $postArchive->count(); ?></span>\n                    </li>\n                    <?php\n                    $archiveCount ++;\n                    //  判断是否启用了文章归档数量限制\n                    if ($this->options->postArchiveCount != 0 && $this->options->postArchiveCount == $archiveCount) {\n                        break;\n                    }\n                    ?>\n                    <?php endwhile; ?>\n                    <?php if ($this->options->archivePageUrl && $this->options->postArchiveCount != 0 && $this->options->postArchiveCount == $archiveCount): ?>\n                    <li class=\"d-flex justify-content-between align-items-center\">\n                        <a href=\"<?php $this->options->archivePageUrl(); ?>\"><?php echo $GLOBALS['t']['sidebar']['viewMore']; ?></a>\n                    </li>\n                    <?php endif; ?>\n                </ul>\n                <?php else: ?>\n                    <p class=\"pb-0 message\"><?php echo $GLOBALS['t']['sidebar']['coPostsAvailableToGenerateAnArchive']; ?></p>\n                <?php endif; ?>    \n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '其它功能'): ?>\n            <!--其它功能-->\n            <section class=\"mwordstar-block\">\n                <h4><?php echo $GLOBALS['t']['sidebar']['other']; ?></h4>\n                <ul class=\"list-group\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['other']; ?>\">\n                    <?php if ($this->options->loginLink == 'show'): ?>\n                        <?php if($this->user->hasLogin()): ?>\n                            <li class=\"last border-bottom\"><a href=\"<?php $this->options->adminUrl(); ?>\"><?php printf($GLOBALS['t']['sidebar']['dashboard'], $this->user->screenName); ?></a></li>\n                            <li class=\"list border-bottom\"><a href=\"<?php $this->options->logoutUrl(); ?>\"><?php echo $GLOBALS['t']['sidebar']['logout']; ?></a></li>\n                        <?php else: ?>\n                            <li class=\"last border-bottom\"><a href=\"<?php $this->options->adminUrl('login.php'); ?>\"><?php echo $GLOBALS['t']['sidebar']['login']; ?></a></li>\n                        <?php endif; ?>\n                    <?php endif; ?>\n                    <li class=\"border-bottom\"><a target=\"_blank\" href=\"<?php $this->options->feedUrl(); ?>\"><?php echo $GLOBALS['t']['sidebar']['RSSforPosts']; ?></a></li>\n                    <li class=\"border-bottom\"><a target=\"_blank\" href=\"<?php $this->options->commentsFeedUrl(); ?>\"><?php echo $GLOBALS['t']['sidebar']['RSSforComments']; ?></a></li>\n                </ul>\n            </section>\n        <?php endif; ?>\n\n        <?php if ($component == '友情链接'): ?>\n            <?php if ($this->options->links or $this->options->homeLinks && $this->is('index')): ?>\n                <!--友情链接-->\n                <section class=\"mwordstar-block\">\n                    <h4><?php echo $GLOBALS['t']['sidebar']['usefulLinks']; ?></h4>\n                    <ul class=\"list-group\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['usefulLinks']; ?>\">\n                        <?php if ($this->options->homeLinks && $this->is('index')): ?>\n                            <?php $homeLinks = json_decode($this->options->homeLinks); ?>\n                            <?php foreach ($homeLinks as $val): ?>\n                                <li class=\"border-bottom\"><a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php echo $val->url; ?>\" title=\"<?php echo isset($val->title)?$val->title:'暂无简介'; ?>\" target=\"_blank\"><?php echo $val->name; ?></a></li>\n                            <?php endforeach; ?>\n                        <?php endif; ?>\n                        <?php if ($this->options->links): ?>\n                            <?php $links = json_decode($this->options->links); ?>\n                            <?php foreach ($links as $val): ?>\n                                <li class=\"border-bottom\"><a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php echo $val->url; ?>\" title=\"<?php echo isset($val->title)?$val->title:'暂无简介'; ?>\" target=\"_blank\"><?php echo $val->name; ?></a></li>\n                            <?php endforeach;; ?>\n                        <?php endif; ?>\n                    </ul>\n                </section>\n            <?php endif; ?>\n        <?php endif; ?>\n\n        <?php if ($component == '目录' && $GLOBALS['page'] == 'post' && $GLOBALS['post']['directory'] != null): ?>\n            <!--目录-->\n            <section class=\"mwordstar-block directory d-none d-sm-none d-md-none d-lg-block d-xl-block\">\n                <h4 class=\"mx-0\"><?php echo $GLOBALS['t']['sidebar']['tableOfContents']; ?></h4>\n                <?php echo $GLOBALS['post']['directory']; ?>\n            </section>\n        <?php endif; ?>\n    <?php endforeach;  ?>\n    <?php if ($GLOBALS['page'] == 'post'): ?>\n        <div class=\"reference-line\"></div>\n    <?php endif; ?>\n</div>"
  },
  {
    "path": "functions.php",
    "content": "<?php\n\nrequire_once __DIR__ . '/inc/theme-fields.php';\nrequire_once __DIR__ . '/inc/theme-config.php';\nrequire_once __DIR__ . '/inc/helpers.php';"
  },
  {
    "path": "inc/helpers.php",
    "content": "<?php\n\n/**\n * 设置语言\n *\n * @param string $language 语言设置选择的默认语言\n * @return void\n */\nfunction languageInit($language) {\n    $languageList = array('zh', 'en');\n    // 如果有语言设置 Cookie 就优先使用 Cookie 存储的语言\n    if (isset($_COOKIE['language']) && $_COOKIE['language'] != '') {\n        $language = $_COOKIE['language'];\n    }\n\n    // 自动选择\n    if ($language == 'auto') {\n        if (empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {\n            // 浏览器没有发送语言信息就默认使用英文\n            $language = 'en';\n        } else {\n            $acceptLang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];\n\n            // 检查是否存在 intl 扩展中的函数\n            if (function_exists('locale_accept_from_http')) {\n                $userLanguage = locale_accept_from_http($acceptLang);\n                $language = substr($userLanguage, 0, 2);\n            } else {\n                // 降级方案：直接截取 HTTP_ACCEPT_LANGUAGE 的前两个字符\n                $language = strtolower(substr($acceptLang, 0, 2));\n            }\n\n            // 如果用户浏览器的语言是不支持的语言就使用英语\n            if (!in_array($language, $languageList)) {\n                $language = 'en';\n            }\n        }\n    }\n\n    // 选择中文\n    if ($language == 'zh-CN' || $language == 'zh' || $language == null) {\n        require_once __DIR__ . '/../languages/zh.php';\n        $GLOBALS['t'] = ZH;\n    }\n    // 选择英文\n    elseif ($language == 'en') {\n        require_once __DIR__ . '/../languages/en.php';\n        $GLOBALS['t'] = EN;\n    }\n\n    $GLOBALS['language'] = $language == null ? 'zh-CN' : $language;\n}\n\n/**\n * 把一些支持多语言显示的内容传给 JS 显示\n *\n * @return void\n */\nfunction localizeScript() {\n    // 需要传给 JS 的翻译内容\n    $t = array(\n        'pressEnterToAddTheEmojiToTheCommentInputField' => $GLOBALS['t']['emoji']['pressEnterToAddTheEmojiToTheCommentInputField'],\n        'zoomIn' => $GLOBALS['t']['imageLightbox']['zoomIn'],\n        'zoomOut' => $GLOBALS['t']['imageLightbox']['zoomOut'],\n        'rotateLeft' => $GLOBALS['t']['imageLightbox']['rotateLeft'],\n        'rotateRight' => $GLOBALS['t']['imageLightbox']['rotateRight'],\n        'closeImage' => $GLOBALS['t']['imageLightbox']['closeImage'],\n        'nextImage' => $GLOBALS['t']['imageLightbox']['nextImage'],\n        'previousImage' => $GLOBALS['t']['imageLightbox']['previousImage'],\n        'copyCode' => $GLOBALS['t']['code']['copyCode'],\n        'copySuccess' => $GLOBALS['t']['code']['copySuccess'],\n        'copyError' => $GLOBALS['t']['code']['copyError'],\n        'cancelReply' => $GLOBALS['t']['comment']['cancelReply'],\n        'enterThePasswordToViewIt' => $GLOBALS['t']['post']['enterThePasswordToViewIt'],\n        'enterYourPassword' => $GLOBALS['t']['post']['enterYourPassword'],\n        'submit' => $GLOBALS['t']['post']['submit'],\n        'replyTo' => $GLOBALS['t']['comment']['replyTo'],\n        'like' => $GLOBALS['t']['post']['like'],\n        'categoryDistribution' => $GLOBALS['t']['dataPage']['categoryDistribution'],\n        'tableOfContents' => $GLOBALS['t']['sidebar']['tableOfContents'],\n        'category' => $GLOBALS['t']['post']['category'],\n        'tag' => $GLOBALS['t']['post']['tag'],\n        'author' => $GLOBALS['t']['post']['author'],\n        'switchToDarkMode' => $GLOBALS['t']['themeColor']['switchToDarkMode'],\n        'switchToLightMode' => $GLOBALS['t']['themeColor']['switchToLightMode'],\n        'QRCode' => $GLOBALS['t']['post']['QRCode']\n    );\n    $t = json_encode($t);\n    echo '<script type=\"text/javascript\"> window.t = ' . $t . '; </script>';\n}\n\n/**\n * 根据语言格式化文章日期\n *\n * @param int $date 时间戳\n * @return string 格式化后的日期\n */\nfunction postDateFormat($date) {\n    if ($GLOBALS['language'] == 'zh' or $GLOBALS['language'] == 'zh-CN') {\n        $date = date('Y年m月d日', $date);\n    }else {\n        $date = date('j M Y', $date);\n    }\n    return $date;\n}\n\n/**\n * 获取英文的日序数后缀\n *\n * @param int $timestamp 时间戳\n * @return string 英文的日序数后缀\n */\nfunction getDayWithSuffix($timestamp) {\n    // 提取日期中的天\n    $day = date('j', $timestamp);\n    // 根据天数返回对应的后缀\n    if (!in_array(($day % 100), [11, 12, 13])) {\n        switch ($day % 10) {\n            case 1: return $day . 'st';\n            case 2: return $day . 'nd';\n            case 3: return $day . 'rd';\n        }\n    }\n    return $day . 'th';\n}\n\n/**\n * 检测是否是QQ邮箱\n *\n * @param string $email 邮箱\n * @return bool\n */\nfunction isQQEmail($email) {\n    $re = '/^\\d{6,11}\\@qq\\.com$/';\n    preg_match($re, $email, $result);\n    if (count($result)) {\n        return true;\n    }\n    return false;\n}\n\n/**\n * 获取QQ头像，直接输出\n *\n * @param string $email 邮箱\n * @param string $name 称呼，用于 img 的 alt\n * @param int $size 头像尺寸\n * @return void\n */\nfunction QQAvatar($email, $name, $size) {\n    $qq = str_replace('@qq.com', '', $email);  // 获取QQ号\n    $imgUrl = 'https://q2.qlogo.cn/headimg_dl?dst_uin=' . $qq . '&spec=' . $size;\n    echo '<img src=\"' . $imgUrl . '\" alt=\"' . $name . '\" class=\"avatar\">';\n}\n\n/**\n * 检查数据库字段\n *\n * @return void\n */\nfunction checkField() {\n    $db = Typecho_Db::get();\n    $prefix = $db->getPrefix();\n    $adapter = $db->getAdapterName(); // 获取数据库驱动名称\n    // 要检查的字段\n    $fields = [\n        'views' => 'INT DEFAULT 0 NOT NULL',\n        'agree' => 'INT DEFAULT 0 NOT NULL'\n    ];\n\n    foreach ($fields as $colName => $colAttr) {\n        $needAdd = true;\n        // 针对 PostgreSQL 的特殊处理\n        if (strpos($adapter, 'Pgsql') !== false) {\n            // 查询 information_schema 检查字段是否存在\n            $check = $db->fetchRow($db->select()->from('information_schema.columns')->where('table_name = ?', $prefix . 'contents')->where('column_name = ?', $colName));\n            if (!empty($check)) {\n                $needAdd = false; // 字段已存在，无需添加\n            }\n        }\n\n        if ($needAdd) {\n            try {\n                // 根据数据库类型调整 SQL 语法\n                if (strpos($adapter, 'Pgsql') !== false) {\n                    // PostgreSQL: 使用双引号，移除 INT(10) 的长度限制（PgSQL不支持）\n                    $pgAttr = str_replace('INT(10)', 'INTEGER', $colAttr);\n                    $sql = 'ALTER TABLE \"' . $prefix . 'contents\" ADD COLUMN \"' . $colName . '\" ' . $pgAttr . ';';\n                } else {\n                    // MySQL / SQLite: 保持原有语法 (使用反引号)\n                    $sql = 'ALTER TABLE `' . $prefix . 'contents` ADD `' . $colName . '` ' . $colAttr . ';';\n                }\n\n                $db->query($sql);\n            } catch (Typecho_Db_Exception $e) {\n                // 忽略错误\n            }\n        }\n    }\n}\n\n/**\n * 设置文章阅读量\n *\n * @param object $archive 文章\n * @return int 返回阅读量\n */\nfunction postViews($archive) {\n    // 获取文章的 cid\n    $cid = $archive->cid;\n    $db = Typecho_Db::get();\n    // 查询出阅读量\n    $row = $db->fetchRow($db->select('views')->from('table.contents')->where('cid = ?', $cid));\n    // 是否是内容页\n    if ($archive->is('single')) {\n        // 获取阅读 cookie\n        $views = Typecho_Cookie::get('extend_contents_views');\n        if (empty($views)) {\n            $views = array();\n        } else {\n            $views = explode(',', $views);\n        }\n        // 如果 cookie 不存在\n        if (!in_array($cid, $views)) {\n            // 阅读量 +1\n            $db->query($db->update('table.contents')->rows(array('views' => (int)$row['views'] + 1))->where('cid = ?', $cid));\n            $views[] = $cid;\n            $views = implode(',', $views);\n            // 写入阅读 cookie\n            Typecho_Cookie::set('extend_contents_views', $views);\n            // 返回的最终阅读量 +1\n            $row['views'] ++;\n        }\n    }\n    return $row['views'];\n}\n\n/**\n * 评论时间格式化\n *\n * @param int $date 日期时间戳\n * @param string $options 评论日期格式设置\n * @return string 返回格式化后的日期\n */\nfunction commentDateFormat($date, $options = 'format1') {\n    // 中文日期\n    if ($options == 'format1') {\n        return date('Y年m月d日 H:i', $date);\n    }\n    // - 分隔的日期\n    if ($options == 'format2') {\n        return date('Y-m-d H:i', $date);\n    }\n    // 英文日期\n    if ($options == 'format3') {\n        return date('F jS, Y \\a\\t h:i a', $date);\n    }\n    // 时间间隔\n    if ($options == 'format4') {\n        if ($GLOBALS['language'] == 'en') {\n            // 英文\n            return formatTimeDifferenceEN($date);\n        }else {\n            // 中文\n            return formatTimeDifferenceZH($date);\n        }\n    }\n}\n\n/**\n * 计算时间间隔（中文）\n *\n * @param int $timestamp 时间戳\n * @return string 返回中文的时间间隔\n */\nfunction formatTimeDifferenceZH($timestamp) {\n    $timestamp = time() - $timestamp;\n    if ($timestamp < 1) {\n        return '1秒前';\n    }else if ($timestamp < 60) {\n        return $timestamp . '秒前';\n    }else if ($timestamp > 60 && $timestamp < 3600) {\n        return round($timestamp / 60, 0) . '分钟前';\n    }else if ($timestamp > 3600 && $timestamp < 86400) {\n        return round($timestamp / 3600, 0) . '小时前';\n    }else {\n        return round($timestamp / 86400, 0) . '天前';\n    }\n}\n\n/**\n * 计算时间间隔（英文）\n *\n * @param int $timestamp 时间戳\n * @return string 返回英文的时间间隔\n */\nfunction formatTimeDifferenceEN($timestamp) {\n    $diff = time() - $timestamp;\n\n    if ($diff < 60) {\n        return $diff == 1 ? \"1 second ago\" : \"$diff seconds ago\";\n    }\n\n    $minutes = floor($diff / 60);\n    if ($minutes < 60) {\n        return $minutes == 1 ? \"1 minute ago\" : \"$minutes minutes ago\";\n    }\n\n    $hours = floor($minutes / 60);\n    if ($hours < 24) {\n        return $hours == 1 ? \"1 hour ago\" : \"$hours hours ago\";\n    }\n\n    $days = floor($hours / 24);\n    return $days == 1 ? \"1 day ago\" : \"$days days ago\";\n}\n\n/**\n * 获取父评论的姓名\n *\n * @param int $parent 评论的 coid\n * @return string 返回父评论的姓名链接\n */\nfunction reply($parent) {\n    $db = Typecho_Db::get();\n    $commentInfo = $db->fetchRow($db->select('author,status,mail')->from('table.comments')->where('coid = ?', $parent));\n    $link = '<a class=\"parent-link\" data-parent=\"' . $parent . '\" href=\"#comment-' . $parent . '\">@' . $commentInfo['author'] .  '</a>';\n    return $link;\n}\n\n/**\n * 获取点赞数量\n *\n * @param int $cid 文章的cid\n * @return array 返回点赞数量和文章是否被点赞过\n */\nfunction agreeNum($cid) {\n    $db = Typecho_Db::get();\n    $prefix = $db->getPrefix();\n\n    $agree = $db->fetchRow($db->select('table.contents.agree')->from('table.contents')->where('cid = ?', $cid));\n    $AgreeRecording = Typecho_Cookie::get('typechoAgreeRecording');\n    if (empty($AgreeRecording)) {\n        Typecho_Cookie::set('typechoAgreeRecording', json_encode(array(0)));\n    }\n\n    return array(\n        //  点赞数量\n        'agree' => $agree['agree'],\n        //  文章是否点赞过\n        'recording' => in_array($cid, json_decode(Typecho_Cookie::get('typechoAgreeRecording')))?true:false\n    );\n}\n\n/**\n * 点赞\n *\n * @param int $cid 文章的cid\n * @return mixed 返回赞数\n */\nfunction agree($cid) {\n    $db = Typecho_Db::get();\n    $agree = $db->fetchRow($db->select('table.contents.agree')->from('table.contents')->where('cid = ?', $cid));\n    $agreeRecording = Typecho_Cookie::get('typechoAgreeRecording');\n    if (empty($agreeRecording)) {\n        Typecho_Cookie::set('typechoAgreeRecording', json_encode(array($cid)));\n    }else {\n        $agreeRecording = json_decode($agreeRecording);\n        //  判断文章是否点赞过\n        if (in_array($cid, $agreeRecording)) {\n            //  如果当前文章的 cid 在 cookie 中就返回文章的赞数，不再往下执行\n            return $agree['agree'];\n        }\n        array_push($agreeRecording, $cid);\n        Typecho_Cookie::set('typechoAgreeRecording', json_encode($agreeRecording));\n    }\n\n    $db->query($db->update('table.contents')->rows(array('agree' => (int)$agree['agree'] + 1))->where('cid = ?', $cid));\n    $agree = $db->fetchRow($db->select('table.contents.agree')->from('table.contents')->where('cid = ?', $cid));\n    return $agree['agree'];\n}\n\n/**\n * 生成文章头图背景颜色\n *\n * @param string $color 头图颜色设置\n * @return string 返回颜色\n */\nfunction headerImageBgColor($color) {\n    if ($color == null or $color == '') {\n        return '#CCCCCC';\n    }\n\n    $bgColor = array(\n        'random' => 'rgb(' . mt_rand(0, 255) . ',' . mt_rand(0, 255) . ',' . mt_rand(0, 255) . ')',\n        'gray' => '#CCCCCC',\n        'white' => '#FFFFFF'\n    );\n    return $bgColor[$color];\n}\n\n/**\n * 获取文章头图显示设置\n *\n * @param object $t 文章\n * @param array $options 全局的文章头图显示设置\n * @param string $defaultImageUrl 默认头图 URL\n * @return false|string 文章头图 URL\n */\nfunction headerImageDisplay($t, $options, $defaultImageUrl) {\n    // 在文章列表和文章页显示文章头图\n    if ($t->fields->headerImgDisplay == 'post-page-list') {\n        return postImg($t, $defaultImageUrl);\n    }\n    // 在文章列表显示文章头图\n    if ($t->fields->headerImgDisplay == 'post-list' && $t->is('index') or $t->fields->headerImgDisplay == 'post-list' && $t->is('archive')) {\n        return postImg($t, $defaultImageUrl);\n    }\n    // 在文章页显示文章头图\n    if ($t->fields->headerImgDisplay == 'post-page' && $t->is('post') or $t->fields->headerImgDisplay == 'post-page' && $t->is('page')) {\n        return postImg($t, $defaultImageUrl);\n    }\n    // 使用系统文章头图设置\n    if ($t->fields->headerImgDisplay == 'default' or $t->fields->headerImgDisplay == null) {\n        // 在文章列表显示头图\n        if (is_array($options) && in_array('home', $options) && $t->is('index')) {\n            return postImg($t, $defaultImageUrl);\n        }\n        // 在分类页、标签页、归档页的文章列表显示文章头图\n        if (is_array($options) && in_array('home', $options) && $t->is('archive')) {\n            return postImg($t, $defaultImageUrl);\n        }\n        // 在文章页显示头图\n        if (is_array($options) && in_array('post', $options) && $t->is('post')) {\n            return postImg($t, $defaultImageUrl);\n        }\n        // 在独立页显示文章头图\n        if (is_array($options) && in_array('post', $options) && $t->is('page')) {\n            return postImg($t, $defaultImageUrl);\n        }\n    }\n    // 不显示文章头图\n    if ($t->fields->headerImgDisplay == 'hide') return false;\n    return false;\n}\n\n/**\n * 根据设置获取文章头图\n *\n * @param object $a 文章\n * @param string $defaultUrl 默认文章头图 URL\n * @return false|mixed 文章头图 URL\n */\nfunction postImg($a, $defaultUrl) {\n    // 手动输入文章头图\n    if ($a->fields->imageSource == 'url' && $a->fields->thumb != '') {\n        return $a->fields->thumb;\n    }\n    if ($a->fields->imageSource == 'default') {\n        return randomHeaderImage($defaultUrl);\n    }\n    // 默认使用第一张图片作为文章头图\n    $img = getPostImg($a);\n    return $img == 'none'?false:$img;\n}\n\n/**\n * 获取文章的第一张图片\n *\n * @param object $archive 文章\n * @return false|string 返回文章头图或 false\n */\nfunction getPostImg($archive) {\n\n    $img = array();\n    preg_match_all(\"/<img.*?src=\\\"(.*?)\\\".*?\\/?>/i\", $archive->content, $img);\n    if (count($img) > 0 && count($img[0]) > 0) {\n        $img_url = $img[1][0];\n        return $img_url;\n    } else {\n        return false;\n    }\n}\n\n/**\n * 获取随机文章头图\n *\n * @param string $imgUrl 默认文章头图URL\n * @return false|string 返回文章头图URL\n */\nfunction randomHeaderImage($imgUrl) {\n    if ($imgUrl == null or $imgUrl == '') return false;\n    // 把 URL 按行拆分为数组\n    $imgUrl = explode(PHP_EOL, $imgUrl);\n    // 删除因为空行生成的数组空值\n    $imgUrl = array_filter($imgUrl);\n    // 如果只有一个 URL 就直接返回 URL\n    if (count($imgUrl) < 2) return $imgUrl[0];\n    // 随机返回一个 URL\n    return $imgUrl[mt_rand(0, count($imgUrl) - 1)];\n}\n\n/**\n * 获取文章列表的文章头图样式设置\n *\n * @param string $postStyle 单篇文章的头图样式\n * @param string $optionsStyle 全局文章头图样式\n * @return string 返回文章头图样式设置\n */\nfunction getPostListHeaderImageStyle($postStyle, $optionsStyle) {\n    if ($postStyle == 'max' or $postStyle == 'mini') {\n        return $postStyle;\n    }\n    if ($postStyle == 'default' or $postStyle == null) {\n        if ($optionsStyle == 'max' or $optionsStyle == 'mini') {\n            return $optionsStyle;\n        }\n        return 'max';\n    }\n    return 'max';\n}\n\n/**\n * 获取文章列表显示设置\n *\n * @param string $option 文章列表的全局设置\n * @param string $postOption 单篇文章的列表设置\n * @return string 文章列表显示设置\n */\nfunction postListStyle($option, $postOption) {\n    // 判断单篇文章的列表显示设置\n    if ($postOption == 'summary' or $postOption == 'fullText') {\n        return $postOption;\n    }\n    // 判断列表全局设置\n    if ($option == 'fullText' or $option == 'summary') {\n        return $option;\n    }\n    // 如果出现异常就默认显示文章摘要\n    return 'summary';\n}\n\n/**\n * 根据文章内的标题生成目录\n *\n * @param string $content 文章内容\n * @return array 返回文章内容和目录\n */\nfunction articleDirectory($content) {\n    $re = '#<h(\\d)(.*?)>(.*?)</h\\d>#im';\n    preg_match_all($re, $content, $result);\n    if (!is_array($result) or count($result[0]) < 1) {\n        return array('content' => $content, 'directory' => null);\n    }\n\n    $treeList = array();\n    $id = 1;\n    foreach ($result[1] as $i => $level) {\n        $treeList[$id] = array(\n            'id' => $id,\n            'parent_id' => 0,\n            'level' => $level,\n            'name' => trim(strip_tags($result[3][$i])),\n            'rand' => mt_rand(1000, 9999)\n        );\n        $id ++;\n    }\n\n    for ($i = 2;$i <= count($treeList);$i ++) {\n        $item = $treeList[$i];\n        $prevItem = $treeList[$i - 1];\n        if ($item['level'] == $prevItem['level']) {\n            $treeList[$i]['parent_id'] = $prevItem['parent_id'];\n            continue;\n        }\n        if ($item['level'] > $prevItem['level']) {\n            $treeList[$i]['parent_id'] = $prevItem['id'];\n            continue;\n        }\n        $parentId = 0;\n        while ($item['level'] <= $prevItem['level']) {\n            $parentId = $prevItem['parent_id'];\n            if (!isset($treeList[($prevItem['id'] - 1)])) {\n                break;\n            }\n            $prevItem = $treeList[($prevItem['id'] - 1)];\n        }\n        $treeList[$i]['parent_id'] = $parentId;\n    }\n\n    $tree = array();\n    foreach ($treeList as $item) {\n        if ($item[ 'parent_id' ] != 0 && !isset($treeList[$item['parent_id']])) {\n            continue;\n        }\n        if (isset($treeList[$item['parent_id']])) {\n            $treeList[$item['parent_id']]['children'][] = &$treeList[$item['id']];\n        } else {\n            $tree[] = &$treeList[$item['id']];\n        }\n    }\n\n    $GLOBALS['directory'] = $treeList;\n    $GLOBALS['directoryIndex'] = 1;\n    $content = preg_replace_callback($re, function ($matches) {\n        $name = urlencode(strip_tags($matches[3]));\n        $span = '<span class=\"title-position\" data-title=\"p-' . $GLOBALS['directory'][$GLOBALS['directoryIndex']]['id'] . '\" id=\"p-' . $GLOBALS['directory'][$GLOBALS['directoryIndex']]['id'] . '\"></span>' . $matches[0];\n        $GLOBALS['directoryIndex'] ++;\n        return $span;\n    }, $content);\n\n    return array(\n        'content' => $content,\n        'directory' => renderArticleDirectory($tree, '')\n    );\n}\n\n/**\n * 生成目录 HTML\n *\n * @param $tree\n * @param $parent\n * @return string 返回文章目录HTML\n */\nfunction renderArticleDirectory($tree, $parent = '') {\n    $index = 1;\n    $ariaLabel = $tree[0]['parent_id'] == 0?'aria-label=\"' . $GLOBALS['t']['sidebar']['tableOfContents'] . '\"':'';\n    $htmlStr = '<ul class=\"article-directory\"' . $ariaLabel . '>';\n    foreach ($tree as $item) {\n        $num = $parent == ''?$index:$parent . '.' . $index;\n        $htmlStr .= sprintf('<li><a rel=\"bookmark\" data-directory=\"%s\" class=\"directory-link\" href=\"#%s\">%s</a></li>', 'p-' . $item['id'], 'p-' . $item['id'], '<span class=\"mr-2 directory-num\">' . $num . '</span>' . $item['name']);\n        if (isset($item['children']) && count($item['children']) > 0) {\n            $htmlStr .= renderArticleDirectory($item['children'], $num);\n        }\n        $index ++;\n    }\n    $htmlStr .= '</ul>';\n    return $htmlStr;\n}\n\n/**\n * 获取月份，用于侧边栏日历\n *\n * @return false|string[] 返回月份\n */\nfunction getMonth() {\n    $path = $_SERVER['PHP_SELF'];  // 获取路劲\n    preg_match('/\\d{4}\\/\\d{2}\\/\\d{2}|\\d{4}\\/\\d{2}/', $path, $date);  // 匹配路劲中的日期\n    if (is_array($date) && count($date)) {\n        $date = explode('/', $date[0]);  // 如果匹配到就分割日期\n    }else {\n        $date = date('Y/m/d', time());  // 如果没有匹配到就获取当前月\n        $date = explode('/', $date);  // 分割日期\n    }\n    return $date;\n}\n\n/**\n * 获取指定月份的文章，用于侧边栏日历\n *\n * @return array 返回本月文章和前后月的月份\n */\nfunction getMonthPost() {\n    $date = getMonth();  // 获取要查询文章的月份\n\n    $start = $date[0] . '-' . $date[1] . '-01 00:00:00';  // 月的第一天\n    $end = date('Y-m-t', strtotime($date[0] . '-' . $date[1] . '-' . '1 23:59:59'));  // 月最后一天\n    $start = strtotime($start);  // 把月的第一天转换为时间戳\n    $end = strtotime($end . ' 23:59:59');  // 把月的最后一天转换为时间戳\n    $db = Typecho_Db::get();\n    // 按照提供的月份查询出文件的时间\n    $post = $db->fetchAll($db->select('table.contents.created')->from('table.contents')->where('created >= ?', $start)->where('created <= ?', $end)->where('type = ?', 'post')->where('status = ?', 'publish'));\n    // 按照提供的月份查询前一个月的文章\n    $previous = $db->fetchAll($db->select('table.contents.created')->from('table.contents')->where('created < ?', $start)->where('type = ?', 'post')->where('status = ?', 'publish')->offset(0)->limit(1)->order('created', Typecho_Db::SORT_DESC));\n    // 按照提供的月份查询后一个月的文章\n    $next = $db->fetchAll($db->select('table.contents.created')->from('table.contents')->where('created > ?', $end)->where('type = ?', 'post')->where('status = ?', 'publish')->offset(0)->limit(1)->order('created', Typecho_Db::SORT_ASC));\n\n    if (count($next)) {\n        $next = date('Y/m/', $next[0]['created']);  // 格式化前一个月的文章时间\n    }\n\n    if (count($previous)) {\n        $previous = date('Y/m/', $previous[0]['created']);  // 格式化后一个月的文章时间\n    }\n\n    $day = array();\n    foreach ($post as $val) {\n        array_push($day, date('j', $val['created']));  // 把查询出的文章日加入数组\n    }\n    return array(\n        'post'=> $day,\n        'previous' => $previous,\n        'next' => $next\n    );\n}\n\n/**\n * 生成日历\n *\n * @param string $month 月份\n * @param string $url\n * @param $rewrite\n * @return array 返回日历 HTML 和前后月份的名称和链接\n */\nfunction calendar($month, $url, $rewrite) {\n    $monthArr = getMonth();  // 获取月份\n    $post = getMonthPost();  // 获取文章日期\n\n    // 判断是否启用了地址重写功能\n    if ($rewrite) {\n        $monthUrl = $url . $monthArr[0] . '/' . $monthArr[1] . '/';  // 生成日期链接前缀\n        $previousUrl = is_array($post['previous'])?'':$url . $post['previous'];  // 生成前一个月的跳转链接地址\n        $nextUrl = is_array($post['next'])?'':$url . $post['next'];  // 生成后一个月的跳转链接地址\n    }else {\n        $monthUrl = $url . 'index.php/' . $monthArr[0] . '/' . $monthArr[1] . '/';  // 生成日期链接前缀\n        $previousUrl = is_array($post['previous'])?'':$url . 'index.php/' . $post['previous'];  // 生成前一个月的跳转链接地址\n        $nextUrl = is_array($post['next'])?'':$url . 'index.php/' . $post['next'];  // 生成后一个月的跳转链接地址\n    }\n\n    $postCount = array_count_values($post['post']);  // 统计每天的文章数量\n\n    $calendar = '';  // 初始化\n    // 星期（表头）\n    $week_arr = array('S', 'M', 'T', 'W', 'T', 'F', 'S');\n    // 如果语言是中文就使用中文的星期\n    if ($GLOBALS['language'] == 'zh' or $GLOBALS['language'] == 'zh-CN') {\n        $week_arr = array('日', '一', '二', '三', '四', '五', '六');\n    }\n    // 本月共多少天\n    $this_month_days = (int)date('t', strtotime($month));\n    // 本月1号星期几\n    $this_month_one_n = (int)date('w', strtotime($month));\n    // 设置日历组件的标题\n    $monthTimestamp = mktime(0, 0, 0, $monthArr[1], 1, $monthArr[0]);\n    // 根据语言使用不同的日期格式\n    $format = $GLOBALS['language'] == 'en' ? 'F Y' : 'Y年m月';\n\n    // 表头\n    $calendar .= '<table aria-label=\"' . sprintf($GLOBALS['t']['sidebar']['calendar'], date($format, $monthTimestamp)) . '\" class=\"table table-bordered table-sm m-0\"><thead><tr>';\n\n    foreach ($week_arr as $k => $v){\n        if($k == 0){\n            $class = ' class=\"sunday\"';\n        }elseif ($k == 6){\n            $class = ' class=\"saturday\"';\n        }else{\n            $class = '';\n        }\n        $calendar .= '<th class=\"text-center py-2\">' . $v . '</th>';\n    }\n    $calendar .= '</tr></thead><tbody>';\n    // 表身\n    // 计算本月共几行数据\n    $total_rows = ceil(($this_month_days - (7 - $this_month_one_n)) / 7) + 1;\n    $number = 1;\n    $flag = 0;\n    for ($row = 1;$row <= $total_rows;$row++){\n        $calendar .= '<tr>';\n        for ($week = 0;$week <= 6;$week ++){\n            if($number < 10){\n                $numbera = '0' . $number;\n            }else{\n                $numbera = $number;\n            }\n\n            if($number <= $this_month_days){\n                if ($number < 10) {\n                    $zero = '0';\n                }else {\n                    $zero = '';\n                }\n\n                if($row == 1){\n                    if($week >= $this_month_one_n){\n                        if (in_array($number, $post['post'])) {\n                            $calendar .= '<td class=\"active text-center py-2\">' . '<a rel=\"archives\" href=\"' . $monthUrl . $zero . $number . '/' . '\" class=\"p-0\" title=\"' . sprintf($GLOBALS['t']['sidebar']['tagPostCount'], $postCount[$number]) . '\" data-toggle=\"tooltip\" data-placement=\"top\"><b>' . $number . '</b></a>' . '</td>';\n                        }else {\n                            $calendar .= '<td class=\"text-center py-2\">' . $number . '</td>';\n                        }\n                        $flag = 1;\n                    }else{\n                        $calendar .= '<td></td>';\n                    }\n                }else{\n                    if (in_array($number, $post['post'])) {\n                        $calendar .= '<td class=\"active text-center py-2\">' . '<a rel=\"archives\" href=\"' . $monthUrl . $zero . $number . '/' . '\" class=\"p-0\" title=\"' . sprintf($GLOBALS['t']['sidebar']['tagPostCount'], $postCount[$number]) . '\" data-toggle=\"tooltip\" data-placement=\"top\"><b>' . $number . '</b></a>' . '</td>';\n                    }else {\n                        $calendar .= '<td class=\"text-center py-2\">' . $number . '</td>';\n                    }\n                }\n                if($flag){\n                    $number ++;\n                }\n            }else{\n                $calendar .= '<td></td>';\n            }\n        }\n        $calendar .= '</tr>';\n    }\n\n    $calendar .= '</tbody></table>';\n\n    return array(\n        'calendar' => $calendar,\n        'previous' => is_array($post['previous'])?false:$post['previous'],\n        'next' => is_array($post['next'])?false:$post['next'],\n        'previousUrl' => $previousUrl,\n        'nextUrl' => $nextUrl\n    );\n}\n\n/**\n * 获取文章分类数量\n *\n * @return int 返回文章分类数量\n */\nfunction categoryCount() {\n    $db = Typecho_Db::get();\n    $row = $db->fetchRow(\n        $db->select('COUNT(*) AS cnt')->from('table.metas')->where('type = ?', 'category')\n    );\n\n    if (!$row) return 0;\n    return (int) ($row['cnt'] ?? $row['COUNT(*)'] ?? $row['count'] ?? 0);\n}\n\n/**\n * 获取标签数量\n *\n * @return int 返回标签数量\n */\nfunction tagCount() {\n    $db = Typecho_Db::get();\n    $row = $db->fetchRow(\n        $db->select('COUNT(*) AS cnt')->from('table.metas')->where('type = ?', 'tag')\n    );\n\n    if (!$row) return 0;\n    return (int) ($row['cnt'] ?? $row['COUNT(*)'] ?? $row['count'] ?? 0);\n}\n\n/**\n * 获取总阅读量\n *\n * @return int 返回总阅读量\n */\nfunction viewsCount() {\n    $db = Typecho_Db::get();\n    $count = $db->fetchRow($db->select('SUM(views) AS viewsCount')->from('table.contents'));\n    if ($count['viewsCount'] == null) $count['viewsCount'] = 0;\n    return $count['viewsCount'];\n}\n\n/**\n * 获取总点赞数\n *\n * @return int 返回总点赞数\n */\nfunction agreeCount() {\n    $db = Typecho_Db::get();\n    $count = $db->fetchRow($db->select('SUM(agree) AS agreeCount')->from('table.contents'));\n    if ($count['agreeCount'] == null) $count['agreeCount'] = 0;\n    return $count['agreeCount'];\n}\n\n/**\n * 获取阅读量排名前 5 的 5 篇文章的信息\n *\n * @return array 返回阅读量排名前5的文章标题、链接、阅读量\n */\nfunction top5post() {\n    $db = Typecho_Db::get();\n    $top5Post = $db->fetchAll($db->select()->from('table.contents')->where('type = ?', 'post')->where('status = ?', 'publish')->order('views', Typecho_Db::SORT_DESC)->offset(0)->limit(5));\n    $postList =array();\n    foreach ($top5Post as $post) {\n        // 生成文章链接\n        $permalink = Typecho_Common::url(Typecho_Router::url('post', $post), Helper::options()->index);\n        $postList[] = array(\n            'title' => $post['title'],\n            'link' => $permalink,\n            'views' => $post['views']\n        );\n    }\n    return $postList;\n}\n\n/**\n * 获取评论数排名前 5 的 5 篇文章的信息\n *\n * @return array 返回评论数排名前5的文章标题、链接、评论数\n */\nfunction top5CommentPost() {\n    $db = Typecho_Db::get();\n    $top5Post = $db->fetchAll($db->select()->from('table.contents')->where('type = ?', 'post')->where('status = ?', 'publish')->order('commentsNum', Typecho_Db::SORT_DESC)->offset(0)->limit(5));\n    $postList = array();\n    foreach ($top5Post as $post) {\n        // 生成文章链接\n        $permalink = Typecho_Common::url(Typecho_Router::url('post', $post), Helper::options()->index);\n        $postList[] = array(\n            'title' => $post['title'],\n            'link' => $permalink,\n            'commentsNum' => $post['commentsNum']\n        );\n    }\n    return $postList;\n}\n\n/**\n * 获取 ECharts 格式要求的文章更新日历\n *\n * @param int $start 起始时间戳\n * @param int $end 结束时间戳\n * @return array 返回用于日历的文章更新数据\n */\nfunction postCalendar($start, $end) {\n    $db = Typecho_Db::get();\n    $dateList = $db->fetchAll($db->select('created')->from('table.contents')->where('created > ?', $start)->where('created < ?', $end));\n    if (count($dateList) < 1) {\n        return array();\n    }\n    $dateList2 = array();\n    foreach ($dateList as $val) {\n        array_push($dateList2, date('Y-m-d', $val['created']));\n    }\n    $dateList2 = array_count_values($dateList2);\n    $key = array_keys($dateList2);\n    $dateList = array();\n\n    for ($i = 0;$i < count($dateList2);$i ++) {\n        $dateList[] = array(\n            $key[$i],\n            $dateList2[$key[$i]]\n        );\n    }\n\n    return $dateList;\n}\n\n/**\n * 获取 ECharts 格式要求的评论更新日历\n *\n * @param int $start 起始时间戳\n * @param int $end 结束时间戳\n * @return array 返回用于日历的评论动态数据\n */\nfunction commentCalendar($start, $end) {\n    $db = Typecho_Db::get();\n    $dateList = $db->fetchAll($db->select('created')->from('table.comments')->where('created > ?', $start)->where('created < ?', $end));\n    if (count($dateList) < 1) {\n        return array();\n    }\n    $dateList2 = array();\n    foreach ($dateList as $val) {\n        array_push($dateList2, date('Y-m-d', $val['created']));\n    }\n    $dateList2 = array_count_values($dateList2);\n    $key = array_keys($dateList2);\n    $dateList = array();\n\n    for ($i = 0;$i < count($dateList2);$i ++) {\n        $dateList[] = array(\n            $key[$i],\n            $dateList2[$key[$i]]\n        );\n    }\n\n    return $dateList;\n}\n\n/**\n * 获取每个分类的文章数量\n *\n * @return array 返回每个分类的文章数量\n */\nfunction categoryPostCount() {\n    $db = Typecho_Db::get();\n    $count = $db->fetchAll($db->select('name', 'count AS value')->from('table.metas')->where('type = ?', 'category'));\n    if (count($count) < 1) {\n        return array();\n    }\n    return $count;\n}\n\n/**\n * 获取父分类的名称\n *\n * @param int $categoryId 分类id\n * @return string 返回父分类的名称\n */\nfunction getParentCategory($categoryId) {\n    $db = Typecho_Db::get();\n    $category = $db->fetchRow($db->select()->from('table.metas')->where('mid = ?', $categoryId));\n    return $category['name'];\n}\n\n/**\n * 获取网站管理员的用户信息\n *\n * @return object 管理员用户信息\n */\nfunction getAdminInfo() {\n    $db = Typecho_Db::get();\n    $userInfo = $db->fetchRow($db->select('mail', 'url', 'screenName', 'created')->from('table.users')->where('group = ?', 'administrator'));\n    return $userInfo;\n}\n\n/**\n * 获取 Gravatar 头像，直接输出 img\n *\n * @param string $email 邮箱\n * @param int $size 头像尺寸\n * @param string $gravatarUrl 自定义 gravatarUrl 源\n * @param string $alt 头像图片描述\n * @return void\n */\nfunction gravatar($email, $size, $gravatarUrl = '', $alt = '') {\n    $url = $gravatarUrl . md5(strtolower(trim($email))) . '?s=' . $size;\n    if ($gravatarUrl == '' or $gravatarUrl == null) {\n        $url = 'https://www.gravatar.com/avatar/' . md5(strtolower(trim($email))) . '?s=' . $size;\n    }\n    echo '<img src=\"' . $url . '\" alt=\"' . $alt . '\" class=\"avatar\" />';\n}\n\n/**\n * 计算两个时间之间相差的天数\n *\n * @param int $time1 时间戳\n * @param int $time2 时间戳\n * @return false|float 返回天数\n */\nfunction getDays($time1, $time2) {\n    return floor(($time2 - $time1) / 86400);\n}\n\n/**\n * 把图片的 src 替换为 data-src，用于图片懒加载\n *\n * @param string $content 文章内容\n * @return string 替换后的文章内容\n */\nfunction replaceImgSrc($content) {\n    $pattern = '/<img(.*?)src(.*?)=(.*?)\"(.*?)\">/i';\n    $replacement = '<img$1data-src$3=\"$4\"$5 class=\"load-img\">';\n    return preg_replace($pattern, $replacement, $content);\n}\n\n/**\n * 根据秒数偏移量设置全局时区\n * * @param int|string $offset Typecho 格式的时区偏移量 (例如: \"28800\" 或 28800)\n * @return void\n */\nfunction setTimezoneByOffset($offset) {\n    // 强制转换为整数\n    $offset = (int) $offset;\n\n    // 尝试根据偏移量获取合法的时区名称 (例如 \"Asia/Shanghai\" 或 \"Etc/GMT-8\")\n    $timezone_name = timezone_name_from_abbr('', $offset, 0);\n    // 如果获取失败（极少数情况），或者获取到的是 false\n    if ($timezone_name === false) {\n        // 手动回退逻辑：构建 Etc/GMT 时区\n        $hours = $offset / 3600;\n        if ($hours > 0) {\n            $timezone_name = 'Etc/GMT-' . $hours;\n        } else {\n            $timezone_name = 'Etc/GMT+' . abs($hours);\n        }\n    }\n\n    // 设置全局时区\n    @date_default_timezone_set($timezone_name);\n}\n\n/**\n * 文章内容分页\n *\n * @param string $content 文章的 HTML 内容\n * @return array 分页后的内容数组\n */\nfunction splitArticleContent($content) {\n    $pattern = '/<(pre|code)\\b[^>]*>.*?<\\/\\1>(*SKIP)(*FAIL)|<p>\\s*\\[-page-\\]\\s*<\\/p>|\\[-page-\\]/is';\n    // 使用 preg_split 进行分割\n    return preg_split($pattern, $content);\n}\n\n/**\n * 生成 Bootstrap4 分页\n *\n * @param object $archive 包含 pageNav 方法的 typecho 文章或评论对象\n * @param string $previousPageTitle 用于上一页 title 的文字\n * @param string $nextPageTitle 用于下一页 title 的文字\n * @return void\n */\nfunction bootstrap4Pagination($archive, $previousPageTitle, $nextPageTitle) {\n    ob_start();\n    // typecho 分页\n    $archive->pageNav('<i class=\"icon-chevron-left\"></i>', '<i class=\"icon-chevron-right\"></i>', 1, '...', array(\n        'wrapTag' => 'ul',\n        'wrapClass' => 'pagination justify-content-center',\n        'itemTag' => 'li',\n        'textTag' => 'a',\n        'currentClass' => 'active',\n        'prevClass' => 'prev',\n        'nextClass' => 'next'\n    ));\n    $content = ob_get_contents();\n    ob_end_clean();\n\n    // 如果没有分页则不输出\n    if (empty($content)) {\n        return;\n    }\n\n    // 给 li 加入 page-item\n    $content = preg_replace('/<li(\\s+)class=\"/i', '<li$1class=\"page-item ', $content);\n    $content = preg_replace('/<li>/i', '<li class=\"page-item\">', $content);\n\n    // 给 a 加入 page-link\n    $content = preg_replace('/<a href=/', '<a class=\"page-link\" href=', $content);\n    $content = str_replace('<a>', '<a class=\"page-link\">', $content);\n\n    // 为当前激活状态添加 aria-current=\"page\"\n    $content = str_replace('<li class=\"page-item active\"><a class=\"page-link\"', '<li class=\"page-item active\"><a aria-current=\"page\" class=\"page-link\"', $content);\n\n    // 给上一页和下一页的链接添加文本提示\n    $content = preg_replace_callback(\n        '/<a\\s+(class=\"page-link\"[^>]*href=\"[^\"]*\"[^>]*)><i\\s+class=\"icon-chevron-left\"><\\/i><\\/a>/i',\n        function($matches) use ($previousPageTitle) {\n            return '<a ' . $matches[1] . ' aria-label=\"' . $previousPageTitle . '\" title=\"' . $previousPageTitle . '\" data-toggle=\"tooltip\" data-placement=\"top\"><i class=\"icon-chevron-left\"></i></a>';\n        },\n        $content\n    );\n    $content = preg_replace_callback(\n        '/<a\\s+(class=\"page-link\"[^>]*href=\"[^\"]*\"[^>]*)><i\\s+class=\"icon-chevron-right\"><\\/i><\\/a>/i',\n        function($matches) use ($nextPageTitle) {\n            return '<a ' . $matches[1] . ' aria-label=\"' . $nextPageTitle . '\" title=\"' . $nextPageTitle . '\" data-toggle=\"tooltip\" data-placement=\"top\"><i class=\"icon-chevron-right\"></i></a>';\n        },\n        $content\n    );\n\n    echo $content;\n}\n\n/**\n * 为文章中的表格添加 Bootstrap 4 样式\n *\n * @param string $html 原始文章 HTML\n * @return string 处理后的 HTML\n */\nfunction addBootstrapTableClasses($html) {\n    // 没有表格直接返回原内容\n    if (empty($html) || strpos($html, '<table') === false) {\n        return $html;\n    }\n\n    // 创建 DOMDocument 并加载 HTML\n    $dom = new DOMDocument();\n    // 抑制因不标准 HTML 产生的警告\n    libxml_use_internal_errors(true);\n    // 添加 XML 声明确保 UTF-8 编码正确解析\n    $dom->loadHTML('<?xml encoding=\"UTF-8\">' . $html);\n    libxml_clear_errors();\n\n    // 获取所有表格元素\n    $tables = $dom->getElementsByTagName('table');\n    foreach ($tables as $table) {\n        // 合并现有的 class 属性\n        $oldClass = $table->getAttribute('class');\n        $classes = array_filter(explode(' ', $oldClass));\n        $classes = array_merge($classes, ['table', 'table-striped', 'table-bordered', 'table-hover']);\n        $classes = array_unique($classes);\n        $table->setAttribute('class', implode(' ', $classes));\n\n        // 创建外层响应式容器 div\n        $div = $dom->createElement('div');\n        $div->setAttribute('class', 'table-responsive');\n\n        // 将表格替换为 div，并将表格移入 div\n        $table->parentNode->replaceChild($div, $table);\n        $div->appendChild($table);\n    }\n\n    // 提取 body 内的所有内容（去除自动添加的 doctype/html/body 标签）\n    $body = $dom->getElementsByTagName('body')->item(0);\n    $newHtml = '';\n    foreach ($body->childNodes as $child) {\n        $newHtml .= $dom->saveHTML($child);\n    }\n\n    return $newHtml;\n}\n\n/**\n * 输出自定义的 SEO 标签 (Canonical & Noindex)\n *\n * @param object $obj 传入的 $this 对象\n * @param array $seoOptions SEO 相关的设置\n */\nfunction themeSeoTags($obj) {\n    $options = Helper::options();\n    // 搜索页添加 noindex\n    if ($obj->is('search') && $options->searchPageNoindex == 'show') {\n        echo '<meta name=\"robots\" content=\"noindex, follow\">';\n    }\n    // 日期归档页添加 noindex\n    if ($obj->is('date') && $options->dateArchivePageNoindex == 'show') {\n        echo '<meta name=\"robots\" content=\"noindex, follow\">';\n    }\n    // 作者归档页添加 noindex\n    if ($obj->is('author') && $options->authorPageNoindex == 'show') {\n        echo '<meta name=\"robots\" content=\"noindex, follow\">';\n    }\n\n    // 输出 canonical 链接\n    // 文章页和独立页面\n    if ($obj->is('post') || $obj->is('page')) {\n        echo '<link rel=\"canonical\" href=\"' . $obj->permalink . '\" />';\n    }\n    // 获取当前的路由路径信息\n    $path = Typecho_Request::getInstance()->getPathInfo();\n    $currentUrl = Typecho_Common::url($path, $options->index);\n    // 分类和标签归档页\n    if ($obj->is('tag') || $obj->is('category')) {\n        echo '<link rel=\"canonical\" href=\"' . $currentUrl . '\" />';\n    }\n    // 首页\n    if ($obj->is('index')) {\n        if ($path === '/' || empty($path)) {\n            echo '<link rel=\"canonical\" href=\"' . rtrim($options->siteUrl, '/') . '/\" />' . \"\\n\";\n        } else {\n            echo '<link rel=\"canonical\" href=\"' . $currentUrl . '\" />' . \"\\n\";\n        }\n    }\n}"
  },
  {
    "path": "inc/theme-config.php",
    "content": "<?php\n\n// 外观设置\nfunction themeConfig($form) {\n    echo <<<EOT\n    <p>您现在使用的是 MWordStar 的开发版，开发板暂无版本号。<a href=\"https://github.com/changbin1997/MWordStar/releases\" target=\"_blank\">点击查看发行版</a></p>\n    <p>主题使用帮助 <a href=\"https://mwordstar.misterma.com/\" target=\"_blank\">点击查看帮助文档</a> ，在使用过程中有什么问题或疑问都可以到 <a href=\"https://www.misterma.com/msg.html\" target=\"_blank\">留言板</a> 或 <a target=\"_blank\" href=\"https://www.misterma.com/archives/812/\">主题介绍页</a> 留言，因为我有两个主题，为了更高效的解决问题，建议到 <a target=\"_blank\" href=\"https://www.misterma.com/archives/812/\">主题介绍页</a> 留言，</p>\n    <button aria-describedby=\"export-description\" id=\"export-btn\" type=\"button\" class=\"btn\">导出主题配置文件</button>\n    <button aria-describedby=\"export-description\" id=\"import-btn\" type=\"button\" class=\"btn\">导入主题配置文件</button>\n    <a href=\"javascript:;\" id=\"download-file\" style=\"display: none;\">下载</a>\n    <input type=\"file\" id=\"file-select\" style=\"display: none;\">\n    <br/>\n    <p id=\"export-description\"><b>导出主题配置文件</b> 可以把主题外观设置导出为 JSON 文件，主要用来备份主题设置，<b>导入主题配置文件</b> 可以导入 <b>MWordStar</b> 主题的 JSON 配置文件。Typecho 切换主题的时候会清空主题设置，为了避免重复设置，在切换主题之前可以先导出主题设置配置。</p>\n    <div id=\"options-list\">\n        <h3>选项目录</h3>\n        <ul aria-label=\"选项目录 - 点击可快速滚动到对应的选项分组\"></ul>\n        <button class=\"btn primary submit-options\" type=\"button\">保存设置</button>\n    </div>\nEOT;\n    echo '<script type=\"text/javascript\">';\n    require_once __DIR__ . '/../assets/js/options-panel.js';\n    echo '</script>';\n\n    echo '<style type=\"text/css\">';\n    require_once __DIR__ . '/../assets/css/options-panel.css';\n    echo '</style>';\n    require_once __DIR__ . '/../components/link-editor.php';\n\n    // 语言\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('language', array(\n        'zh-CN' => '简体中文',\n        'en' => 'English',\n        'auto' => '自动选择语言'\n    ), 'zh-CN', _t('默认显示的语言'), _t('自动选择语言会根据 HTTP 发送的语言偏好来选择语言，如果用户的语言偏好不是主题支持的语言，或者 HTTP 请求不包含语言偏好，默认选择英文。你还可以开启顶部导航栏的语言切换按钮或侧边栏添加一个语言选择组件来让用户手动更改语言，用户选择的语言会通过 Cookie 保存到用户的浏览器，下次访问时就会使用用户设置的语言。')));\n\n    // 语言切换按钮\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('changeLanguageBtn', array(\n        'show' => '启用',\n        'hide' => '禁用',\n    ), 'show', _t('语言切换按钮'), _t('语言切换按钮会显示在顶部导航栏的搜索区域左侧，用户可以手动更改语言。')));\n\n    // 主题配色\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('color', array(\n        'light-color1' => '配色1',\n        'light-color2' => '配色2',\n        'primary-color' => '配色3',\n        'info-color' => '配色4',\n        'success-color' => '配色5',\n        'dark-color' => '配色6（深色模式）'\n    ), 'light-color2', _t('默认主题配色'), _t('访问者没有手动更改过配色的情况下默认使用的配色')));\n\n    // 主题配色切换按钮\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('colorChangeBtn', array(\n        'show' => '显示',\n        'hide' => '不显示'\n    ), 'show', _t('在网站右下方显示主题配色切换按钮'), _t('主题配色切换按钮可以让访问者手动切换深色模式和浅色模式')));\n\n    // 默认浅色\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('defaultLightColor', array(\n        'light-color1' => '配色1',\n        'light-color2' => '配色2',\n        'primary-color' => '配色3',\n        'info-color' => '配色4',\n        'success-color' => '配色5'\n    ), 'light-color2', _t('默认浅色'), _t('主题配色切换按钮可以在深色和浅色之间切换，主题有多个浅色配色，您需要设置一个浅色作为浅色模式的默认配色。')));\n\n    // 主题元素风格设置\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('rounded', array(\n        'fillet' => '圆角',\n        'rightAngle' => '直角'\n    ), 'fillet', _t('主题元素风格'), _t('这里的元素风格包括了 区块、按钮、输入表单、标签')));\n\n    // 站点Logo\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('logoUrl', null, null, _t('站点 Logo icon 地址'), _t('Logo 是一个 ico 格式的 icon 图标，会显示在标签页的标题前面。')));\n\n    // 站点副标题\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('tagline', null, '生命不息，折腾不止', _t('站点副标题'), _t('站点副标题会显示在标签页标题的后面。')));\n\n    // ICP信息\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('icp', null, null, _t('ICP 备案号'), _t('ICP 备案号会显示在网站的底部，可支持链接。')));\n\n    // 返回顶部按钮\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('toTop', array(\n        'show' => '显示',\n        'hide' => '不显示'\n    ), 'show', _t('在右下方显示返回顶部按钮')));\n\n    // 文章列表链接跳转\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('listLinkOpen', array(\n        '_self' => '直接从当前标签页跳转',\n        '_blank' => '在新标签页中打开'\n    ), '_self', _t('文章列表的文章链接跳转方式'), _t('这里的文章列表包括 首页、分类页、标签页、搜索页 左侧的文章链接。')));\n\n    // 侧边栏链接跳转\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('sidebarLinkOpen', array(\n        '_self' => '直接从当前标签页跳转',\n        '_blank' => '在新标签页中打开'\n    ), '_self', _t('侧边栏链接跳转方式'), _t('侧边栏链接包括了 最新文章区域、最新评论区域、文章分类区域、标签云区域、文章归档区域。')));\n\n    // 文章内容链接\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('postLinkOpen', array(\n        '_self' => '直接从当前标签页跳转',\n        '_blank' => '在新标签页中打开'\n    ), '_blank', _t('文章内的链接跳转方式'), _t('文章内的链接包括了普通文章中插入的链接和独立页面中插入的链接。')));\n\n    // 侧边栏组件顺序\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('sidebarComponent', null, '博客信息,日历,搜索,最新文章,最新回复,文章分类,标签云,文章归档,其它功能,友情链接', _t('侧边栏组件'), _t('您可以设置需要显示在侧边栏的组件，组件会根据这里的组件名称排序。组件名称之间用英文逗号分隔，逗号和名称之间不需要空格，结尾不需要逗号。例如 <b style=\"color: #C7254E;\">博客信息,自定义,日历,搜索,最新文章,最新回复,文章分类,标签云,文章归档,其它功能,友情链接</b> 。自定义组件主要用于显示自定义 HTML，开启后需要在下方的 <b style=\"color: #C7254E;\">侧边栏自定义 HTML 内容</b> 表单填写内容后才会显示。')));\n\n    // 文章页的侧边栏组件顺序\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('postPageSidebarComponent', null, '博客信息,最新文章,目录', _t('文章页的侧边栏组件'), _t('这里可以单独设置文章页的侧边栏组件，组件会根据这里的组件名称排序。组件名称之间用英文逗号分隔，逗号和名称之间不需要空格，结尾不需要逗号。例如 <b style=\"color: #C7254E;\">博客信息,最新文章,目录</b> 。其中目录组件只能在文章页显示，目录列表项会根据文章内插入的标题生成，如果文章内没有插入标题就不会显示目录，目录组件滚动到页面上方时位置会被固定，建议把目录放到最后。')));\n\n    // 隐藏登录入口\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('loginLink', array(\n        'show' => '显示',\n        'hide' => '隐藏'\n    ), 'show', _t('登录入口'), _t('隐藏登录入口后在前台就不会显示登录入口，只能通过 域名/admin/login.php 进入登录页面')));\n\n    // 侧边栏博客信息博主头像地址\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('avatarUrl', null, null, _t('博主头像地址'), _t('博主头像会显示在侧边栏的博客信息区域，如果省略会使用管理员的 Gravatar 头像。')));\n\n    // 侧边栏博客信息区域博主昵称\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('nickname', null, null, _t('博主昵称'), _t('博主昵称会显示在侧边栏博客信息区域，如果省略会显示管理员昵称。')));\n\n    // 侧边栏博客信息博主昵称链接\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('nicknameUrl', null, null, _t('博主昵称链接调转地址'), _t('在侧边栏的博客信息区域会显示一个包含博主昵称的链接，在这里可以填写链接的跳转地址，如果省略会使用博客首页地址。')));\n\n    // 侧边栏博客信息博主简介\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('Introduction', null, null, _t('博主简介'), _t('博主简介会显示在侧边栏博客信息区域的博主昵称下方，如果省略会使用设置中的站点描述信息。')));\n\n    // 侧边栏博客信息的运行天数\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('birthday', null, null, _t('站点创建时间'), _t('在这里填写站点创建时间后，在侧边栏的博客信息区域就会显示网站运行天数。如果省略 网站运行天数会从管理员账号创建的时间开始计算天数。站点创建时间的格式为：yyyy-mm-dd，例如：2019-11-11。')));\n\n    // 侧边栏文章归档月份数量\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('postArchiveCount', null, '0', _t('侧边栏文章归档月份数量'), _t('您可以设置侧边栏文章归档要显示的月份数量，对于归档月份较多的博客来说，限制显示的月份数量可以避免侧边栏的文章归档过长。0 为不限制。')));\n\n    // 文章归档页面地址\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('archivePageUrl', null, null, _t('文章归档页面地址'), _t('如果您启用了独立页文章归档并且限制了侧边栏的文章归档数量的话，可以在这里输入独立页文章归档的地址。填写独立页文章归档地址后在侧边栏的文章归档会显示 查看更多 的链接，点击就可以跳转到文章归档页。如果为空将不会显示 查看更多 链接。')));\n\n    // 侧边栏标签数量\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('tagCount', null, '0', _t('侧边栏标签云标签数量'), _t('对于标签较多的博客，可以设置侧边栏显示的标签数量，0 为不限制。')));\n\n    // 标签云页面地址\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('tagPage', null, null, _t('标签云页面地址'), _t('如果您启用了独立的标签云页面并且限制了侧边栏的标签数量的话，可以在这里输入标签云页面的地址。填写后在侧边栏的标签云区域会显示查看更多的链接，点击就可以跳转到独立的标签云页面。如果为空将不会显示 查看更多 的链接。')));\n\n    // 侧边栏自定义HTML标题\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('customizeTitle', null, '公告', _t('侧边栏自定义 HTML 组件标题'), _t('如果您启用了侧边栏的自定义 HTML 组件，可以在这里给组件设置一个标题，这个标题会显示在组件上方。')));\n\n    // 侧边栏自定义HTML\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('customizeHTML', null, null, _t('侧边栏自定义 HTML 内容'), _t('如果您启用了侧边栏的自定义 HTML 组件，可以在这里输入 HTML，支持纯文本和 HTML，包括 img、audio、video、canvas。您可以用来设置网站公告内容或广告。')));\n\n    // 文章列表显示设置\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('postListStyle', array(\n        'fullText' => '文章列表直接显示全文',\n        'summary' => '文章列表显示摘要和文章头图'\n    ), 'summary', _t('文章列表显示'), _t('文章列表包括首页、搜索页、归档 左侧的文章列表。在显示全文的情况下，文章列表不会显示文章头图，显示全文也支持使用 <b style=\"color: #C7254E;\">&lt!--more--&gt</b> 来手动分隔摘要。如果你想自定义单篇文章的列表显示，你也可以在文章编辑页单独设置列表显示。')));\n\n    // 文章摘要字数\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('summary', null, '150', _t('文章摘要字数'), _t('首页、分类页、标签页、搜索页 的文章摘要字数，默认为：150个字。')));\n\n    // 文章头图设置\n    $headerImage = new Typecho_Widget_Helper_Form_Element_Checkbox('headerImage', array(\n        'home' => _t('在文章列表显示文章头图'),\n        'sidebarBlock' => _t('在侧边栏的最新文章区域显示文章头图'),\n        'post' => _t('在文章页显示文章头图')\n    ), array('home', 'post'), _t('文章头图设置'));\n    $form->addInput($headerImage->multiMode());\n\n    // 文章列表的文章头图样式\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('postListHeaderImageStyle', array(\n        'max' => '大图（文章头图在上方，文章标题和摘要在下方）',\n        'mini' => '小图（图片在左侧，文章摘要在右侧）'\n    ), 'max', _t('文章列表的文章头图样式'), _t('这里可以统一设置文章头图的样式，您也可以在文章编辑页给文章单独设置头图样式。大图的图片长宽比为 8 比 3，小图的长宽比为 6 比 4，如果图片长宽比不符合要求，主题会自动裁剪图片来适配长宽比。')));\n\n    // 文章头图背景颜色\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('headerImageBg', array(\n        'random' => '随机颜色',\n        'gray' => '灰色',\n        'white' => '白色'\n    ), 'gray', _t('文章头图背景颜色'), _t('文章头图背景颜色是在图片加载完成之前或图片无法加载时显示的颜色，如果图片使用了透明背景是可以看到背景颜色的。')));\n\n    // 默认文章头图\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('headerImageUrl', null, null, _t('默认文章头图'), _t('这里可以填写默认的文章头图 URL，一行一个，系统会在默认文章头图地址中随机选择一个来加载文章头图。要使用默认文章头图，文章编辑页的文章头图来源需要设置为 使用系统设置。')));\n\n    // 显示最后编辑时间\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('modified', array(\n        'show' => '显示',\n        'hide' => '不显示'\n    ), 'show', _t('在文章下方显示最后修改时间')));\n\n    // 移动设备章节目录\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('directoryMobile', array(\n        'enable' => '启用',\n        'disabled' => '禁用'\n    ), 'enable', _t('移动设备章节目录'), _t('开启后在没有侧边栏的小屏移动设备右下方会显示一个目录按钮，点击可以打开章节目录列表。')));\n\n    // 启用代码高亮功能\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('codeHighlight', array(\n        'enable-highlight' => '启用',\n        'disabled-highlight' => '禁用'\n    ), 'enable-highlight', _t('代码高亮'), _t('您可以设置是否启用文章内的代码块高亮，如果您需要使用其他代码高亮插件的话，可以禁用主题自带的代码高亮功能。')));\n\n    // 显示代码行号\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('codeLineNum', array(\n        'show' => '显示',\n        'hide' => '不显示'\n    ), 'hide', _t('代码块显示行号'), _t('开启后文章的代码块会显示行号')));\n\n    // 代码块配色\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('codeThemeColor', array(\n        'stackoverflow-light' => 'Stack Overflow（浅色）',\n        'github-dark' => 'Github（深色）',\n        'sunburst' => 'Sunburst（高对比度）',\n        'auto' => '跟随主题配色模式'\n    ), 'github-dark', _t('代码块颜色主题'), _t('跟随主题配色模式会根据主题的配色来选择代码块主题，浅色模式会使用 Stack Overflow（浅色），深色模式会使用 Github（深色）。')));\n\n    // 图片懒加载\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('imagelazyloading', array(\n        'on' => '启用',\n        'off' => '禁用'\n    ), 'off', _t('图片懒加载'), _t('开启后文章内的图片不会自动加载，只有图片进入页面可视区才会加载')));\n\n    // 文章底部的交互功能配置\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('engagementSection', null, '点赞,分享', _t('文章底部的交互功能'), _t('文章底部要使用的交互功能，支持 <b style=\"color: #C7254E;\">点赞,打赏,分享</b>，功能名称之间用英文逗号分隔，逗号之间不需要空格，结尾不需要逗号，功能按钮的顺序会根据这里设置的名称顺序排序。')));\n\n    // 打赏二维码地址\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('rewardQr', null, '', _t('打赏二维码图片地址'), _t('文章下方的打赏按钮点击后可以显示一个二维码图片，你可以在这里设置图片地址，图片的最大宽度就是文章区域的宽度，高度不限制，图片会居中显示。')));\n\n    // 评论框位置\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('commentInput', array(\n        'top' => '评论表单在评论列表上方',\n        'bottom' => '评论表单在评论列表下方'\n    ), 'bottom', _t('评论表单位置'), _t('评论表单就是发表评论的区域，评论列表就是已发表的评论区域')));\n\n    // 评论日期时间格式\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('commentDateFormat', array(\n        'format1' => '2020年04月23日 13:09',\n        'format2' => '2020-04-23 13:09',\n        'format3' => 'April 23rd, 2020 at 01:09 pm',\n        'format4' => '时间间隔（3天前）'\n    ), 'format1', _t('评论日期时间格式'), _t('时间间隔的单位会根据间隔长短变化，不到一分钟的单位为 秒，一分钟以上、一小时以下的单位为 分钟，一小时以上、一天以下的单位为 小时，一天以上的单位为 天，')));\n\n    // QQ头像\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('QQAvatar', array(\n        'on' => '开启',\n        'off' => '关闭'\n    ), 'off', _t('使用QQ头像'), _t('开启后如果检测到评论者的邮箱为QQ邮箱就会显示对应的QQ头像，即便QQ邮箱注册了Gravatar也会显示QQ头像，QQ邮箱以外的邮箱会显示Gravatar头像。')));\n\n    // 自定义 Gravatar 地址\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('gravatarUrl', null, '', _t('自定义 Gravatar 源'), _t('Gravatar 头像服务在有些地区可能无法正常使用，如果你需要更换 Gravatar 源的话，可以在这里输入 URL，留空会使用官方源。')));\n\n    // Emoji面板\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('emojiPanel', array(\n        'on' => '开启',\n        'off' => '关闭'\n    ), 'off', _t('评论区Emoji表情选择面板'), _t('开启后会在评论区的评论内容输入框下方显示一个 Emoji表情按钮，点击后会显示一个 Emoji表情面板。')));\n\n    // 导航栏\n    $navBar = new Typecho_Widget_Helper_Form_Element_Checkbox('navbar', array(\n        'showClassification' => _t('显示文章分类'),\n        'showSearch' => _t('显示搜索'),\n    ), array('showSearch'), _t('导航栏'));\n    $form->addInput($navBar->multiMode());\n\n    // 自定义导航栏链接\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('navLinks', null, null, _t('自定义导航栏链接'), _t('您可以在导航栏添加自定义链接，链接的名称和 URL 都可以自定义，导航栏链接需要使用 JSON 配置 <a href=\"https://mwordstar.misterma.com/docs/%E4%B8%BB%E9%A2%98%E8%AE%BE%E7%BD%AE-%E5%AF%BC%E8%88%AA\" target=\"_blank\">点击查看配置说明</a>。')));\n\n    // 导航栏图片 logo\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('navLogoUrl', null, null, _t('站点 Logo 图片地址'), _t('站点 Logo 图片会显示在顶部导航栏的左侧，支持常见的图片格式，包括 SVG，只要能在 img 标签显示的图片都可以，留空会使用站点名称作为 Logo。')));\n\n    // 站点 logo 图片高度限制\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('navLogoHeight', null, '30', _t('站点 Logo 图片高度限制'), _t('如果您发现导航栏 Logo 图片尺寸较小或过大的话，可以调整 Logo 图片的高度，可以直接填入数字，不需要加 px。')));\n\n    // 面包屑导航\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('breadcrumb', array(\n        'on' => '开启',\n        'off' => '关闭'\n    ), 'off', _t('面包屑导航'), _t('开启后会在导航栏下方显示路劲导航。')));\n\n    // 搜索页添加 noindex\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('searchPageNoindex', array(\n        'show' => '启用',\n        'hide' => '禁用'\n    ), 'hide', _t('搜索结果页添加 noindex 标签'), _t('开启后会在搜索结果页的 head 区域添加 noindex，告诉搜索引擎不要收录搜索结果页。这可以有效避免网站因被垃圾广告机器人频繁搜索而在 Google 等搜索结果中出现大量无效广告页面。')));\n\n    // 归档页添加 noindex\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('dateArchivePageNoindex', array(\n        'show' => '启用',\n        'hide' => '禁用'\n    ), 'hide', _t('日期归档页添加 noindex 标签'), _t('开启后会在日期归档页的 head 区域添加 noindex，告诉搜索引擎不要收录日期归档页。侧边栏的文章归档组件会按月份生成文章归档链接和页面，日历组件也会生成按日期的文章归档链接和页面，如果你的网站建站较早的话，可能会生成大量归档页面，在有分类和标签归档页的情况下，这些日期归档页对于搜索引擎来说属于重复页面。大量的日期归档页可能会影响到文章页面的权重，而且用户一般也不会在搜索引擎搜索文章归档页。')));\n\n    // 作者归档页添加 noindex\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('authorPageNoindex', array(\n        'show' => '启用',\n        'hide' => '禁用'\n    ), 'hide', _t('作者归档页添加 noindex 标签'), _t('开启后会在作者归档页的 head 区域添加 noindex，告诉搜索引擎不要收录作者归档页。如果你的 Typecho 没有开放作者注册，只有一个作者的情况下，作者归档页和首页的内容基本上是差不多的，对于搜索引擎来说，这也是重复页面。')));\n\n    // 首页友链\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('homeLinks', null, null, _t('首页友情链接'), _t('首页友情链接只会显示在首页的侧边栏，需要 JSON 格式数据 <a href=\"https://mwordstar.misterma.com/docs/%E4%B8%BB%E9%A2%98%E8%AE%BE%E7%BD%AE-%E5%8F%8B%E6%83%85%E9%93%BE%E6%8E%A5\" target=\"_blank\">点击查看友情链接格式说明</a>，你也可以使用链接编辑器编辑，无需手动输入 JSON。。 <button data-title=\"首页友情链接\" data-name=\"homeLinks\" type=\"button\" class=\"btn show-link-editor\">打开链接编辑器</button>')));\n\n    // 全站友链\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('links', null, null, _t('全站友情链接'), _t('全站友情链接会在每个页面的侧边栏显示，需要 JSON 格式数据 <a href=\"https://mwordstar.misterma.com/docs/%E4%B8%BB%E9%A2%98%E8%AE%BE%E7%BD%AE-%E5%8F%8B%E6%83%85%E9%93%BE%E6%8E%A5\" target=\"_blank\">点击查看友情链接格式说明</a>，你也可以使用链接编辑器编辑，无需手动输入 JSON。 <button data-title=\"全站友情链接\" data-name=\"links\" type=\"button\" class=\"btn show-link-editor\">打开链接编辑器</button>')));\n\n    // 独立页友链\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('pageLinks', null, null, _t('独立页友情链接'), _t('独立页友情链接只会在友情链接的页面显示，需要 JSON 格式数据 <a href=\"https://mwordstar.misterma.com/docs/%E4%B8%BB%E9%A2%98%E8%AE%BE%E7%BD%AE-%E5%8F%8B%E6%83%85%E9%93%BE%E6%8E%A5\" target=\"_blank\">点击查看友情链接页面创建和格式说明</a>，你也可以使用链接编辑器编辑，无需手动输入 JSON。 <button data-title=\"独立页友情链接\" data-name=\"pageLinks\" type=\"button\" class=\"btn show-link-editor\">打开链接编辑器</button>')));\n\n    // 在链接页面显示首页和全站链接\n    $linkPageOptions = new Typecho_Widget_Helper_Form_Element_Checkbox('linkPageOptions', array(\n        'showSitewideOnLinkPage' => _t('同时在链接页面展示全站链接'),\n        'showHomepageOnLinkPage' => _t('同时在链接页面展示首页链接')\n    ), array('showSitewideOnLinkPage', 'showHomepageOnLinkPage'), _t('友情链接页面展示设置'), _t('友情链接页面除了能展示内页链接外，也能展示首页和全站链接。链接页面效果可以查看 <a href=\"https://mwordstar.misterma.com/docs/%E4%B8%BB%E9%A2%98%E8%AE%BE%E7%BD%AE-%E5%8F%8B%E6%83%85%E9%93%BE%E6%8E%A5\" target=\"_blank\">MWordStar主题帮助文档-友链设置</a>，也可以查看我的博客的 <a href=\"https://www.misterma.com/links.html\" target=\"_blank\">友情链接页面</a>。'));\n    $form->addInput($linkPageOptions->multiMode());\n\n    // PJAX\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('pjax', array(\n        'on' => '启用',\n        'off' => '禁用'\n    ), 'off', _t('启用PJAX'), _t('PJAX 在页面跳转时只会更新内容部分，不会刷新整个页面，可以实现类似于单页应用的使用体验。注意，目前 Typecho 主题的 PJAX 还无法做到和 Typecho 程序完美兼容，如果要启用 PJAX，需要在 Typecho 评论设置中关闭 <b style=\"color: #C7254E;\">开启反垃圾保护</b> 和 <b style=\"color: #C7254E;\">检查评论来源页 URL 是否与文章链接一致</b>，否则评论可能无法成功发送！')));\n\n    // PJAX进度条\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('pjaxProgressBar', array(\n        'on' => '启用',\n        'off' => '禁用'\n    ), 'on', _t('PJAX进度条'), _t('PJAX 进度条会显示在页面顶部，在 PJAX 页面内容更新时，进度条会显示更新进度，更新完成后进度条会隐藏。禁用 PJAX 进度条不会影响 PJAX 功能。')));\n\n    // PJAX进度条颜色\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Text('pjaxProgressBarColor', null, '#3F85ED', _t('PJAX进度条颜色'), _t('支持 CSS 的颜色值，例如 <b style=\"color: #C7254E;\">#FF0000</b>、<b style=\"color: #C7254E;\">red</b>、<b style=\"color: #C7254E;\">rgb(255, 0, 0)</b>。')));\n\n    // PJAX更新完成后执行的代码\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('pjaxEnd', null, null, _t('PJAX 更新完成后要执行的 JS 代码'), _t('PJAX 页面跳转时，不会刷新页面，如果你需要在页面加载完成后执行 JS 代码，可以在这里填写 JS 代码。这里的代码会在页面内容更新完成后执行，直接填写 JS 代码，不需要加 script 标签。')));\n\n    // 自定义CSS\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('cssCode', null, null, _t('自定义 CSS'), _t('通过自定义 CSS 您可以很方便的设置页面样式，自定义 CSS 不会影响网站源代码。')));\n\n    // 自定义 head 输出的 HTML\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('headHTML', null, null, _t('自定义 head 区域输出的 HTML'), _t('head 区域的 HTML 会在 head 内输出，可以用来定义一些网站统计的 JS 之类的。')));\n\n    // 自定义 body 底部的 HTML\n    $form->addInput(new Typecho_Widget_Helper_Form_Element_Textarea('bodyHTML', null, null, _t('自定义 body 底部输出的 HTML'), _t('body 底部的 HTML 会在 footer 之后 body 尾部之前输出。')));\n}"
  },
  {
    "path": "inc/theme-fields.php",
    "content": "<?php\n\n// 文章的自定义字段\nfunction themeFields($layout) {\n    //  文章列表显示设置\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Select('postListStyle', array(\n        'default' => '使用系统设置',\n        'fullText' => '文章列表直接显示全文',\n        'summary' => '文章列表显示摘要和文章头图'\n    ), 'default', _t('文章列表显示'), _t('文章列表包括首页、搜索页、归档 左侧的文章列表。在显示全文的情况下，文章列表不会显示文章头图，显示全文也支持使用 <b style=\"color: #C7254E;\">&lt!--more--&gt</b> 来手动分隔摘要。')));\n\n    // 文章头图显示设置\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Select('headerImgDisplay', array(\n        'default' => '使用系统设置',\n        'post-page-list' => '在文章列表和文章页显示文章头图',\n        'post-list' => '只在文章列表显示文章头图',\n        'post-page' => '只在文章页显示文章头图',\n        'hide' => '不显示文章头图'\n    ), 'default', _t('文章头图显示设置'), _t('您可以单独给文章设置文章头图显示。')));\n\n    // 文章头图样式\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Select('postListHeaderImageStyle', array(\n        'default' => '使用系统设置',\n        'max' => '大图（文章头图在上方，标题和摘要在下方）',\n        'mini' => '小图（图片在左侧，文章摘要在右侧）'\n    ), 'default', _t('文章列表的头图样式'), _t('您可以给文章设置单独的文章头图样式。大图的图片长宽比为 8 比 3，小图的长宽比为 6 比 4，如果图片长宽比不符合要求，主题会自动裁剪图片来适配长宽比。')));\n\n    // 文章头图来源\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Select('imageSource', array(\n        'article' => '使用文章中的第一张图片作为文章头图',\n        'url' => '在文章头图输入框手动输入图片URL',\n        'default' => '使用系统设置'\n    ), 'article', _t('文章头图来源'), _t('如果选择了使用文章中的第一张图片作为文章头图，在文章不包含图片的情况下将不会显示文章头图。如果选择了使用系统设置，需要在主题设置的默认文章头图输入框填写图片 URL，系统会在默认文章头图中随机选择一个 URL 加载。')));\n\n    // 文章头图\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Text('thumb', null, null, _t('文章头图'), _t('如果您在文章头图来源中设置了手动输入图片 URL 的话，请在这里输入图片 URL。')));\n\n    // 自定义文章摘要内容\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Textarea('summaryContent', null, null, _t('自定义摘要内容'), _t('您可以在此处为文章定义摘要内容，此处定义的摘要内容不受字数限制。')));\n\n    // 显示版权声明\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Select('articleCopyright', array(\n        'show' => '显示',\n        'hide' => '不显示'\n    ), 'show', _t('显示原创声明'), _t('开启后会在本篇文章底部显示版权声明。')));\n\n    // 自定义关键词\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Text('keywords', null, null, _t('自定义关键词'), _t('您可以输入这篇文章的关键词，多个关键词之间用英文逗号分隔，如果为空 会使用这篇文章的标签作为关键词。')));\n\n    // 文章有效期\n    $layout->addItem(new Typecho_Widget_Helper_Form_Element_Text('expired', null, '0', _t('文章有效期'), _t('有的文章可能只是在某个时间段内有用，发布后如果长时间不更新的话，可能会给读者带去错误的信息。文章有效期可以设置一个天数，过了指定天数后，在文章开头会显示一条警示信息。0 或留空不显示。')));\n}"
  },
  {
    "path": "index.php",
    "content": "<?php\n/**\n * 这是一套简洁的博客主题 <a href=\"https://mwordstar.misterma.com/\" target=\"_blank\">点击查看使用说明</a>\n *\n * @package MWordStar\n * @author Changbin\n * @version 开发板（暂无版本号）\n * @link https://www.misterma.com\n */\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n// 获取元素风格设置\n$rounded = $this->options->rounded == 'rightAngle'?'rounded-0':'';\n\n$GLOBALS['page'] = 'index';\n\n// 语言初始化\nlanguageInit($this->options->language);\n// 检查数据库字段\ncheckField();\n// 头文件\n$this->need('components/header.php');\n?>\n<div id=\"main\">\n    <div class=\"container home main-content\">\n        <div class=\"row\">\n            <div class=\"article-list col-md-12 col-lg-8 col-sm-12 content-area\">\n                <?php if ($this->have()): ?>\n                    <?php $this->need('components/post-list.php'); ?>\n                    <nav aria-label=\"<?php echo $GLOBALS['t']['pagination']['pagination']; ?>\" class=\"pagination-nav\">\n                        <?php bootstrap4Pagination($this, $GLOBALS['t']['pagination']['previousPage'], $GLOBALS['t']['pagination']['nextPage']); ?>\n                    </nav>\n                <?php else: ?>\n                    <article class=\"post no-post-message mwordstar-block\">\n                        <h4 class=\"post-title\" role=\"alert\"><?php echo $GLOBALS['t']['sidebar']['noPostsAvailableToDisplay']; ?></h4>\n                    </article>\n                <?php endif; ?>    \n            </div>\n        <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>\n"
  },
  {
    "path": "languages/en.php",
    "content": "<?php\n\nconst EN = array(\n    'header' => array(\n        'home' => 'Home',\n        'search' => 'Search',\n        'navigationMenu' => 'Navigation menu'\n    ),\n    'post' => array(\n        'publicationDate' => 'Publication date',\n        'author' => 'Author',\n        'views' => 'Views',\n        'readMore' => 'Read More',\n        'comments' => 'Comments',\n        'edit' => 'Edit',\n        'category' => 'Category',\n        'tag' => 'Tag',\n        'previousPost' => 'Previous Post',\n        'nextPost' => 'Next Post',\n        'none' => 'None',\n        'warningMessage' => 'This article was published %d days ago. The information may no longer be current or could have changed since then.',\n        'enterThePasswordToViewIt' => 'Enter the password to view it',\n        'enterYourPassword' => 'Enter your password',\n        'thisPostIsPasswordProtected' => 'This post is password protected',\n        'submit' => 'Submit',\n        'like' => 'Like',\n        'share' => 'Share',\n        'shareOnWeibo' => 'Share on Weibo',\n        'shareOnQzone' => 'Share on Qzone',\n        'shareOnTwitter' => 'Share on Twitter',\n        'scanTheQRCodeBelowToViewAndShareThisPageOnYourPhone' => 'Scan the QR code below to view and share this page on your phone.',\n        'QRCode' => 'QR Code',\n        'donate' => 'Donate',\n        'copyrightNotice' => array(\n            '© All rights reserved',\n            'This article is an original work. Copyright belongs to %s. Please contact the author for permission before reprinting.'\n        ),\n        'postInfo' => 'Post Info',\n        'updated' => 'Updated: %s',\n        'featuredImage' => 'Featured Image'\n    ),\n    'comment' => array(\n        'leaveAComment' => 'Leave a Comment',\n        'commentContent' => 'Comment Content',\n        'enterYourCommentHere' => 'Enter your comment here',\n        'name' => 'Name',\n        'enterYourNameOrNickname' => 'Enter your name or nickname',\n        'emailAddress' => 'Email Address',\n        'enterYourEmailAddress' => 'Enter your email address (will not be published)',\n        'website' => 'Website',\n        'enterYourWebsiteOrBlogURL' => 'Enter your website or blog URL',\n        'submitComment' => 'Submit Comment',\n        'reply' => 'Reply',\n        'replyTo' => 'Reply to',\n        'thereAreNumComments' => 'There are %d comments',\n        '1Comment' => '1 Comment',\n        'cancelReply' => 'Cancel reply',\n        'pendingReview' => 'Pending Review',\n        'pendingReviewDescription' => 'Only you can see this comment. It will be visible to others once approved.',\n        'loggedInAs' => 'Logged in as: '\n    ),\n    'emoji' => array(\n        'emoji' => 'Emoji',\n        'smileys' => 'Smileys',\n        'peopleAndGestures' => 'People & Gestures',\n        'clothingAndAccessories' => 'Clothing & Accessories',\n        'animalsAndNature' => 'Animals & Nature',\n        'food' => 'Food',\n        'activity' => 'Activity',\n        'travelAndPlaces' => 'Travel & Places',\n        'objects' => 'Objects',\n        'symbols' => 'Symbols',\n        'pressEnterToAddTheEmojiToTheCommentInputField' => '(Press Enter to add the emoji to the comment input field)',\n        'emojiList' => 'Emoji list',\n        'emojiPanel' => 'Emoji panel (Press ESC to close and focus on the comment input field.)',\n        'emojiCategories' => 'Emoji Categories'\n    ),\n    'sidebar' => array(\n        'blogInfo' => 'Blog Info',\n        'totalPosts' => 'Total Posts %d',\n        'totalComments' => 'Comments',\n        'totalViews' => 'Total Views %d',\n        'runningSince' => array('Running Since', '%d days'),\n        'latestPosts' => 'Latest Posts',\n        'recentComments' => 'Recent Comments',\n        'categories' => 'Categories',\n        'tags' => 'Tags',\n        'tagPostCount' => '%d posts',\n        'archives' => 'Archives',\n        'usefulLinks' => 'Useful Links',\n        'other' => 'Other',\n        'login' => 'Log in',\n        'logout' => 'Log Out',\n        'RSSforPosts' => 'RSS for Posts',\n        'RSSforComments' => 'RSS for Comments',\n        'dashboard' => 'Dashboard (%s)',\n        'commentOn' => 'Comment on %s',\n        'tableOfContents' => 'Table of Contents',\n        'closeTableOfContents' => 'Close Table of Contents',\n        'noPostsAvailableToDisplay' => 'No posts available to display.',\n        'noCommentsOrRepliesAvailableToDisplay' => 'No comments or replies available to display.',\n        'noCategoriesAvailableToDisplay' => 'No categories available to display.',\n        'noTagsAvailableToDisplay' => 'No tags available to display.',\n        'coPostsAvailableToGenerateAnArchive' => 'No posts available to generate an archive.',\n        'previousAndNextMonths' => 'Previous and next months',\n        'calendar' => '%s calendar',\n        'viewMore' => 'View More',\n        'viewMoreTags' => 'View More Tags'\n    ),\n    'archive' => array(\n        'postsUnderTheCategory' => 'Posts under the category %s',\n        'postsTagged' => 'Posts tagged %s',\n        'postsByAuthor' => 'Posts by author %s',\n        'postsContainingTheKeyword' => 'Posts containing the keyword %s',\n        'noPostsFoundContaining' => 'No posts found containing %s!',\n        'youCanTryTheFollowing' => 'You can try the following:',\n        'trySearchingWithDifferentKeywords' => 'Try searching with different keywords',\n        'browsePostsByCategoryInTheSectionToTheRightOrBelow' => 'Browse posts by category in the section to the right or below',\n        'browsePostsByTagsInTheTagCloudSectionToTheRightOrBelow' => 'Browse posts by tags in the tag cloud section to the right or below'\n    ),\n    'pagination' => array(\n        'pagination' => 'Pagination',\n        'nextPage' => 'Next Page (Right Arrow Key)',\n        'previousPage' => 'Previous Page (Left Arrow Key)',\n        'postContentPagination' => 'Post Content Pagination',\n        'commentPagination' => 'Comment Pagination',\n        'nextPageNoShortcutKey' => 'Next Page',\n        'previousPageNoShortcutKey' => 'Previous Page'\n    ),\n    'archivePage' => array(\n        'totalPosts' => 'Total of %d Posts'\n    ),\n    'linkPage' => array(\n        'linksOnDedicatedPageOnly' => 'Links on Dedicated Page Only',\n        'linksOnHomepage' => 'Links on Homepage',\n        'linksOnAllPages' => 'Links on All Pages'\n    ),\n    'dataPage' => array(\n        'basicStatistics' => 'Basic Statistics',\n        'basicStatisticsDescription' => 'Here are the basic statistics of the website:',\n        'totalPosts' => 'Total Posts',\n        'totalComments' => 'Total Comments',\n        'categories' => 'Categories',\n        'tags' => 'Tags',\n        'totalViews' => 'Total Views',\n        'totalLikes' => 'Total Likes',\n        'categoryDistribution' => 'Category Distribution',\n        'categoryDistributionDescription' => 'The chart below shows the distribution of posts across categories:',\n        'postUpdates' => 'Post Updates',\n        'postUpdateDescription' => 'The chart below illustrates post updates between %s, and %s:',\n        'commentActivity' => 'Comment Activity',\n        'commentActivityDescription' => 'The chart below shows comment activity between %s, and %s:',\n        'mostViewedPosts' => 'Most Viewed Posts',\n        'mostViewedPostDescription' => 'Below are the top %d most-viewed posts:',\n        'rank' => 'Rank',\n        'title' => 'Title',\n        'mostCommentedPosts' => 'Most Commented Posts',\n        'mostCommentedPostDescription' => 'Below are the top %d most-commented posts:',\n        'comments' => 'Comments',\n        'views' => 'Views',\n        'NoCategoryDataAvailableAtTheMoment' => 'No category data available at the moment!',\n        'NoPostsAvailableAtTheMoment' => 'No posts available at the moment!',\n        'loadingChart' => 'Loading chart...'\n    ),\n    'scrollToTop' => 'Scroll to Top',\n    'imageLightbox' => array(\n        'zoomIn' => 'Zoom In',\n        'zoomOut' => 'Zoom Out',\n        'rotateLeft' => 'Rotate Left 90 Degrees',\n        'rotateRight' => 'Rotate Right 90 Degrees',\n        'closeImage' => 'Close Image',\n        'nextImage' => 'Next image (Right arrow key)',\n        'previousImage' => 'Previous image (Left arrow key)'\n    ),\n    'code' => array(\n        'copyCode' => 'Copy Code',\n        'copySuccess' => 'Copy Success',\n        'copyError' => 'Copy Error'\n    ),\n    'page404' => array(\n        'thePageYouAreLookingForDoesNotExist' => 'The page you are looking for does not exist!',\n        'goBackToHomepage' => 'Go back to homepage'\n    ),\n    'breadcrumb' => 'Breadcrumb',\n    'themeColor' => array(\n        'themeColor' => 'Theme Color',\n        'switchToDarkMode' => 'Light Mode: Switch to Dark Mode',\n        'switchToLightMode' => 'Dark Mode: Switch to Light Mode'\n    )\n);"
  },
  {
    "path": "languages/zh.php",
    "content": "<?php\n\nconst ZH = array(\n    'header' => array(\n        'home' => '首页',\n        'search' => '搜索',\n        'navigationMenu' => '导航菜单'\n    ),\n    'post' => [\n        'publicationDate' => '发布日期',\n        'author' => '作者',\n        'views' => '阅读量',\n        'readMore' => '阅读全文',\n        'comments' => '评论',\n        'edit' => '编辑',\n        'category' => '文章分类',\n        'tag' => '标签',\n        'previousPost' => '上一篇',\n        'nextPost' => '下一篇',\n        'none' => '没有了',\n        'warningMessage' => '这篇文章发布于 %d 天前，其中的信息可能已经有所发展或是发生改变！',\n        'enterThePasswordToViewIt' => '请输入密码访问',\n        'enterYourPassword' => '请在此处输入密码',\n        'thisPostIsPasswordProtected' => '此内容被密码保护',\n        'submit' => '提交',\n        'like' => '赞',\n        'share' => '分享',\n        'shareOnWeibo' => '分享到微博',\n        'shareOnQzone' => '分享到QQ空间',\n        'shareOnTwitter' => '分享到Twitter',\n        'scanTheQRCodeBelowToViewAndShareThisPageOnYourPhone' => '用手机扫描下方二维码可在手机上浏览和分享。',\n        'QRCode' => '二维码',\n        'donate' => '打赏',\n        'copyrightNotice' => array(\n            '©著作权归作者所有',\n            '本文为原创文章，版权归 %s 所有，转载请联系博主获得授权。'\n        ),\n        'postInfo' => '文章信息',\n        'updated' => '最后编辑：%s',\n        'featuredImage' => '文章头图'\n    ],\n    'comment' => array(\n        'leaveAComment' => '发表评论',\n        'commentContent' => '评论内容',\n        'enterYourCommentHere' => '请在此处输入评论内容',\n        'name' => '称呼',\n        'enterYourNameOrNickname' => '请输入您的姓名或昵称',\n        'emailAddress' => '电子邮件地址',\n        'enterYourEmailAddress' => '请输入您的电子邮件地址（不会公开）',\n        'website' => '网站',\n        'enterYourWebsiteOrBlogURL' => '请输入您的网站或博客地址',\n        'submitComment' => '提交评论',\n        'reply' => '回复',\n        'replyTo' => '回复',\n        'thereAreNumComments' => '已有 %d 条评论',\n        '1Comment' => '仅有一条评论',\n        'cancelReply' => '取消回复',\n        'pendingReview' => '评论审核中',\n        'pendingReviewDescription' => '您的评论目前只有您自己能看到，审核通过后才会公开显示。',\n        'loggedInAs' => '登录身份: '\n    ),\n    'emoji' => array(\n        'emoji' => 'Emoji表情',\n        'smileys' => '面部表情',\n        'peopleAndGestures' => '人物/手势',\n        'clothingAndAccessories' => '服装/配饰',\n        'animalsAndNature' => '动物/自然',\n        'food' => '食物',\n        'activity' => '运动',\n        'travelAndPlaces' => '旅行/地点',\n        'objects' => '物体',\n        'symbols' => '符号',\n        'pressEnterToAddTheEmojiToTheCommentInputField' => '（按回车可以把表情添加到评论内容输入框）',\n        'emojiList' => '表情列表',\n        'emojiPanel' => 'Emoji表情面板（按 ESC 可关闭表情面板并转到评论内容输入框。）',\n        'emojiCategories' => '表情类型'\n    ),\n    'sidebar' => array(\n        'blogInfo' => '博客信息',\n        'totalPosts' => '文章数 %d',\n        'totalComments' => '评论数 %d',\n        'totalViews' => '文章阅读量 %d',\n        'runningSince' => array('运行天数', '%d天'),\n        'latestPosts' => '最新文章',\n        'recentComments' => '最新回复',\n        'categories' => '文章分类',\n        'tags' => '标签云',\n        'tagPostCount' => '%d 篇文章',\n        'archives' => '文章归档',\n        'usefulLinks' => '友情链接',\n        'other' => '其它功能',\n        'login' => '登录',\n        'logout' => '退出登录',\n        'RSSforPosts' => '文章 RSS',\n        'RSSforComments' => '评论 RSS',\n        'dashboard' => '进入后台 (%s)',\n        'commentOn' => '发表在 %s 的评论',\n        'tableOfContents' => '目录',\n        'closeTableOfContents' => '关闭目录',\n        'noPostsAvailableToDisplay' => '没有可以显示的文章。',\n        'noCommentsOrRepliesAvailableToDisplay' => '没有可以显示的评论和回复。',\n        'noCategoriesAvailableToDisplay' => '没有可以显示的分类。',\n        'noTagsAvailableToDisplay' => '没有可以显示的标签。',\n        'coPostsAvailableToGenerateAnArchive' => '没有文章，无法生成文章归档。',\n        'previousAndNextMonths' => '上个月及下个月',\n        'calendar' => '%s 的日历',\n        'viewMore' => '查看更多',\n        'viewMoreTags' => '查看更多标签'\n    ),\n    'archive' => array(\n        'postsUnderTheCategory' => '分类 %s 下的文章',\n        'postsTagged' => '包含 %s 标签的文章',\n        'postsByAuthor' => '%s 发布的文章',\n        'postsContainingTheKeyword' => '包含关键字 %s 的文章',\n        'noPostsFoundContaining' => '无法查找到包含 %s 的文章！',\n        'youCanTryTheFollowing' => '您可以尝试：',\n        'trySearchingWithDifferentKeywords' => '更换关键字重新搜索',\n        'browsePostsByCategoryInTheSectionToTheRightOrBelow' => '在右侧或下方的文章分类区域选择分类查找',\n        'browsePostsByTagsInTheTagCloudSectionToTheRightOrBelow' => '在右侧或下方的标签云区域选择标签查找'\n    ),\n    'pagination' => array(\n        'pagination' => '分页导航',\n        'nextPage' => '下一页（右光标键）',\n        'previousPage' => '上一页（左光标键）',\n        'postContentPagination' => '文章内容分页',\n        'commentPagination' => '评论分页',\n        'nextPageNoShortcutKey' => '下一页',\n        'previousPageNoShortcutKey' => '上一页'\n    ),\n    'archivePage' => array(\n        'totalPosts' => '共包含 %d 篇文章'\n    ),\n    'linkPage' => array(\n        'linksOnDedicatedPageOnly' => '内页链接',\n        'linksOnHomepage' => '首页链接',\n        'linksOnAllPages' => '全站链接'\n    ),\n    'dataPage' => array(\n        'basicStatistics' => '基本统计',\n        'basicStatisticsDescription' => '下面是网站的基本数据统计：',\n        'totalPosts' => '文章数',\n        'totalComments' => '评论数',\n        'categories' => '分类数',\n        'tags' => '标签数',\n        'totalViews' => '文章阅读量',\n        'totalLikes' => '获赞数',\n        'categoryDistribution' => '分类占比',\n        'categoryDistributionDescription' => '下面是每个分类的文章占比：',\n        'postUpdates' => '文章更新',\n        'postUpdateDescription' => '下面是 %s 到 %s 的文章更新情况',\n        'commentActivity' => '评论动态',\n        'commentActivityDescription' => '下面是 %s 到 %s 的评论动态',\n        'mostViewedPosts' => '最多阅读的文章',\n        'mostViewedPostDescription' => '下面是最多阅读的 %d 篇文章：',\n        'rank' => '排名',\n        'title' => '标题',\n        'mostCommentedPosts' => '最多评论的文章',\n        'mostCommentedPostDescription' => '下面是评论数最多的 %d 篇文章：',\n        'comments' => '评论数',\n        'views' => '阅读量',\n        'NoCategoryDataAvailableAtTheMoment' => '目前暂无分类数据！',\n        'NoPostsAvailableAtTheMoment' => '目前没有任何文章！',\n        'loadingChart' => '正在加载图表...'\n    ),\n    'scrollToTop' => '返回顶部',\n    'imageLightbox' => array(\n        'zoomIn' => '放大',\n        'zoomOut' => '缩小',\n        'rotateLeft' => '左旋转90度',\n        'rotateRight' => '右旋转90度',\n        'closeImage' => '关闭大图',\n        'nextImage' => '下一张图片（右方向键）',\n        'previousImage' => '上一张图片（左方向键）'\n    ),\n    'code' => array(\n        'copyCode' => '拷贝代码',\n        'copySuccess' => '拷贝成功',\n        'copyError' => '拷贝出错'\n    ),\n    'page404' => array(\n        'thePageYouAreLookingForDoesNotExist' => '您访问的页面不存在！',\n        'goBackToHomepage' => '返回首页'\n    ),\n    'breadcrumb' => '页面路径',\n    'themeColor' => array(\n        'themeColor' => '主题配色',\n        'switchToDarkMode' => '当前为浅色模式，点击可切换为深色模式',\n        'switchToLightMode' => '当前为深色模式，点击可切换为浅色模式'\n    )\n);"
  },
  {
    "path": "page-archive.php",
    "content": "<?php\n/**\n * 文章归档\n *\n * @package custom\n */\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['page'] = 'page-archive';\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container archive-page main-content mb-0\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->title(); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"archive col-md-12 col-lg-8 col-sm-12 content-area\">\n                <main class=\"mwordstar-block\">\n                    <header class=\"entry-header border-bottom\">\n                        <h2 class=\"entry-title p-name\">\n                            <a href=\"<?php $this->permalink() ?>\"><?php $this->title() ?></a>\n                        </h2>\n                    </header>\n                    <article>\n                        <div data-target=\"<?php $this->options->postLinkOpen(); ?>\" class=\"post-content\" itemprop=\"articleBody\">\n                            <?php Typecho_Widget::widget('Widget_Stat')->to($quantity); ?>\n                            <p><?php printf($GLOBALS['t']['archivePage']['totalPosts'], $quantity->publishedPostsNum); ?></p>\n                            <?php\n                            $stat = Typecho_Widget::widget('Widget_Stat');\n                            Typecho_Widget::widget('Widget_Contents_Post_Recent', 'pageSize=' . $stat->publishedPostsNum)->to($archives);\n                            if ($archives->have()) {\n                                $year = 0;\n                                $mon = 0;\n                                $i = 0;\n                                $j = 0;\n                                $output = '<div class=\"archives\">';\n                                while ($archives->next()) {\n                                    $year_tmp = date('Y', $archives->created);\n                                    $mon_tmp = date('m', $archives->created);\n                                    $y = $year;\n                                    $m = $mon;\n                                    if ($year > $year_tmp || $mon > $mon_tmp) {\n                                        $output .= '</ul></div>';\n                                    }\n                                    if ($year != $year_tmp || $mon != $mon_tmp) {\n                                        $year = $year_tmp;\n                                        $mon = $mon_tmp;\n                                        // 根据语言格式化年月\n                                        $format = $GLOBALS['language'] == 'en' ? 'M Y' : 'Y年m月';\n                                        // 输出年和月\n                                        $output .= '<div class=\"archives-item\"><h2>' . date($format, $archives->created) . '</h2><ul class=\"archives_list\" aria-label=\"' . date($format, $archives->created) . '\">'; //输出年份\n                                    }\n                                    // 根据语言使用不同的日期后缀\n                                    $dayFormat = $GLOBALS['language'] == 'en' ? getDayWithSuffix($archives->created) : date('d日', $archives->created);\n                                    $output .= '<li>' . '<span class=\"day\">' . $dayFormat . '</span><div class=\"timeline\"></div><div class=\"link-box\"><a href=\"' . $archives->permalink . '\">' . $archives->title . '</a></div></li>'; //输出文章\n                                }\n                                $output .= '</ul></div></div>';\n                                echo $output;\n                            }\n                            ?>\n                        </div>\n                    </article>\n                </main>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>"
  },
  {
    "path": "page-category.php",
    "content": "<?php\n/**\n * 分类目录\n * @package custom\n */\n\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['page'] = 'page-category';\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container category-page main-content mb-0\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li class=\"breadcrumb-item\">\n                        <?php $this->category(' '); ?>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->title(); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"archive col-md-12 col-lg-8 col-sm-12 content-area\">\n                <main class=\"mwordstar-block\">\n                    <header class=\"entry-header border-bottom\">\n                        <h2 class=\"entry-title p-name\">\n                            <a href=\"<?php $this->permalink() ?>\"><?php $this->title() ?></a>\n                        </h2>\n                    </header>\n                    <article>\n                        <div class=\"post-content\">\n                            <p>共包含 <?php echo categoryCount(); ?> 个分类</p>\n                            <?php $this->widget('Widget_Metas_Category_List')->to($category); ?>\n                            <ul class=\"category-list pl-0 pl-2\">\n                                <?php while ($category->next()): ?>\n                                    <li>\n                                        <i class=\"icon-folder-open icon mr-1\"></i>\n                                        <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $category->permalink(); ?>\" title=\"<?php if ($category->parent > 0) echo getParentCategory($category->parent) . ' 下的子分类'; ?> <?php $category->description(); ?>\">\n                                            <?php echo $category->name(); ?>(<?php $category->count(); ?>)\n                                        </a>\n                                    </li>\n                                <?php endwhile; ?>\n                            </ul>\n                        </div>\n                    </article>\n                </main>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>\n"
  },
  {
    "path": "page-data.php",
    "content": "<?php\n/**\n * 网站数据\n * @package custom\n */\n\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n\n// 让主题使用的时区跟随 Typecho 设置的时区\nsetTimezoneByOffset($this->options->timezone);\n// 文章更新日历数据\n$postCalendarData = postCalendar(time() - 20736000, time());\n// 评论更新日历数据\n$commentCalendarData = commentCalendar(time() - 20736000, time());\n// 获取分类数据\n$categoryPostCount = categoryPostCount();\n\n$GLOBALS['page'] = 'page-data';\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container data-page main-content mb-0\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <!--面包屑导航-->\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li class=\"breadcrumb-item\">\n                        <?php $this->category(' '); ?>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->title(); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"archive col-md-12 col-lg-8 col-sm-12 content-area\">\n                <main class=\"mwordstar-block\">\n                    <header class=\"entry-header border-bottom\">\n                        <h2 class=\"entry-title p-name\">\n                            <a href=\"<?php $this->permalink() ?>\"><?php $this->title() ?></a>\n                        </h2>\n                    </header>\n                    <div class=\"article-info clearfix border-bottom border-top\" role=\"group\" aria-label=\"<?php echo $GLOBALS['t']['post']['postInfo']; ?>\">\n                        <!--时间-->\n                        <div class=\"info\">\n                            <i class=\"icon-calendar icon\" aria-hidden=\"true\"></i>\n                            <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['publicationDate']; ?>\">\n                                <time datetime=\"<?php echo date('c', $this->created); ?>\"><?php echo postDateFormat($this->created); ?></time>\n                            </span>\n                        </div>\n                        <!--作者-->\n                        <div class=\"info\">\n                            <i class=\"icon-user icon\" aria-hidden=\"true\"></i>\n                            <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->author->permalink(); ?>\" title=\"<?php echo $GLOBALS['t']['post']['author']; ?>\"><?php $this->author(); ?></a>\n                        </div>\n                        <!--阅读量-->\n                        <div class=\"info\">\n                            <i class=\"icon-eye icon\" aria-hidden=\"true\"></i>\n                            <?php $views = postViews($this); ?>\n                            <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['views']; ?>\"><?php echo $views; ?></span>\n                        </div>\n                    </div>\n                    <article>\n                        <div data-target=\"<?php $this->options->postLinkOpen(); ?>\" class=\"post-content\">\n                            <h2><?php echo $GLOBALS['t']['dataPage']['basicStatistics']; ?></h2>\n                            <p><?php echo $GLOBALS['t']['dataPage']['basicStatisticsDescription']; ?></p>\n                            <?php Typecho_Widget::widget('Widget_Stat')->to($quantity); ?>\n                            <div class=\"row\">\n                                <!--文章数-->\n                                <div class=\"col-lg-4 col-md-4 col-sm-6 col-6 pb-3\">\n                                    <div class=\"py-3 statistics-card\">\n                                        <h3 class=\"text-center mb-2\"><?php $quantity->publishedPostsNum(); ?></h3>\n                                        <h4 class=\"text-center mb-0\"><?php echo $GLOBALS['t']['dataPage']['totalPosts']; ?></h4>\n                                    </div>\n                                </div>\n                                <!--评论数-->\n                                <div class=\"col-lg-4 col-md-4 col-sm-6 col-6 pb-3\">\n                                    <div class=\"py-3 statistics-card\">\n                                        <h3 class=\"text-center mb-2\"><?php $quantity->publishedCommentsNum(); ?></h3>\n                                        <h4 class=\"text-center mb-0\"><?php echo $GLOBALS['t']['dataPage']['totalComments']; ?></h4>\n                                    </div>\n                                </div>\n                                <!--分类数-->\n                                <div class=\"col-lg-4 col-md-4 col-sm-6 col-6 pb-3\">\n                                    <div class=\"py-3 statistics-card\">\n                                        <h3 class=\"text-center mb-2\"><?php echo categoryCount(); ?></h3>\n                                        <h4 class=\"text-center mb-0\"><?php echo $GLOBALS['t']['dataPage']['categories']; ?></h4>\n                                    </div>\n                                </div>\n                                <!--标签数-->\n                                <div class=\"col-lg-4 col-md-4 col-sm-6 col-6 pb-3\">\n                                    <div class=\"py-3 statistics-card\">\n                                        <h3 class=\"text-center mb-2\"><?php echo tagCount(); ?></h3>\n                                        <h4 class=\"text-center mb-0\"><?php echo $GLOBALS['t']['dataPage']['tags']; ?></h4>\n                                    </div>\n                                </div>\n                                <!--文章阅读量-->\n                                <div class=\"col-lg-4 col-md-4 col-sm-6 col-6 pb-3\">\n                                    <div class=\"py-3 statistics-card\">\n                                        <h3 class=\"text-center mb-2\"><?php echo viewsCount(); ?></h3>\n                                        <h4 class=\"text-center mb-0\"><?php echo $GLOBALS['t']['dataPage']['totalViews']; ?></h4>\n                                    </div>\n                                </div>\n                                <!--获赞数-->\n                                <div class=\"col-lg-4 col-md-4 col-sm-6 col-6 pb-3\">\n                                    <div class=\"py-3 statistics-card\">\n                                        <h3 class=\"text-center mb-2\"><?php echo agreeCount(); ?></h3>\n                                        <h4 class=\"text-center mb-0\"><?php echo $GLOBALS['t']['dataPage']['totalLikes']; ?></h4>\n                                    </div>\n                                </div>\n                            </div>\n                            <hr>\n                            <!--分类占比图-->\n                            <h2><?php echo $GLOBALS['t']['dataPage']['categoryDistribution']; ?></h2>\n                            <?php if (empty($categoryPostCount)): ?>\n                                <p><?php echo $GLOBALS['t']['dataPage']['NoCategoryDataAvailableAtTheMoment']; ?></p>\n                            <?php else: ?>    \n                                <p><?php echo $GLOBALS['t']['dataPage']['categoryDistributionDescription']; ?></p>\n                                <div id=\"category-chart\" style=\"height: 320px;\"></div>\n                            <?php endif; ?>\n                            <hr>\n                            <!--文章更新日历图-->\n                            <h2><?php echo $GLOBALS['t']['dataPage']['postUpdates']; ?></h2>\n                            <p><?php printf($GLOBALS['t']['dataPage']['postUpdateDescription'], postDateFormat(time() - 20736000), postDateFormat(time())); ?></p>\n                            <div id=\"post-chart\" style=\"height: 180px;\"></div>\n                            <hr>\n                            <!--评论动态日历图-->\n                            <h2><?php echo $GLOBALS['t']['dataPage']['commentActivity']; ?></h2>\n                            <p><?php printf($GLOBALS['t']['dataPage']['commentActivityDescription'], postDateFormat(time() - 20736000), postDateFormat(time())); ?></p>\n                            <div id=\"comment-chart\" style=\"height: 180px;\"></div>\n                            <hr>\n                            <!--最多阅读的文章表格-->\n                            <h2><?php echo $GLOBALS['t']['dataPage']['mostViewedPosts']; ?></h2>\n                            <?php $top5Post = top5post(); ?>\n                            <?php if (count($top5Post)): ?>\n                                <p><?php printf($GLOBALS['t']['dataPage']['mostViewedPostDescription'], count($top5Post)); ?></p>\n                                <div class=\"table-responsive\">\n                                    <table class=\"table table-striped table-bordered table-hover\">\n                                        <thead>\n                                        <tr>\n                                            <th><?php echo $GLOBALS['t']['dataPage']['rank']; ?></th>\n                                            <th><?php echo $GLOBALS['t']['dataPage']['title']; ?></th>\n                                            <th><?php echo $GLOBALS['t']['dataPage']['views']; ?></th>\n                                        </tr>\n                                        </thead>\n                                        <tbody>\n                                        <?php $top = 1; ?>\n                                        <?php foreach ($top5Post as $post): ?>\n                                            <tr>\n                                                <td><?php echo $top; ?></td>\n                                                <td><a href=\"<?php echo $post['link']; ?>\"><?php echo $post['title']; ?></a></td>\n                                                <td><?php echo $post['views']; ?></td>\n                                            </tr>\n                                            <?php $top ++; ?>\n                                        <?php endforeach; ?>\n                                        </tbody>\n                                    </table>\n                                </div>\n                            <?php else: ?>\n                                <p><?php echo $GLOBALS['t']['dataPage']['NoPostsAvailableAtTheMoment']; ?></p>\n                            <?php endif; ?>    \n                            <hr>\n                            <!--最多评论的文章表格-->\n                            <h2><?php echo $GLOBALS['t']['dataPage']['mostCommentedPosts']; ?></h2>\n                            <?php $top5CommentPost = top5CommentPost(); ?>\n                            <?php if (count($top5CommentPost)): ?>\n                                <p><?php printf($GLOBALS['t']['dataPage']['mostCommentedPostDescription'], count($top5CommentPost)); ?></p>\n                                <div class=\"table-responsive\">\n                                    <table class=\"table table-striped table-bordered table-hover\">\n                                        <thead>\n                                        <tr>\n                                            <th><?php echo $GLOBALS['t']['dataPage']['rank']; ?></th>\n                                            <th><?php echo $GLOBALS['t']['dataPage']['title']; ?></th>\n                                            <th><?php echo $GLOBALS['t']['dataPage']['comments']; ?></th>\n                                        </tr>\n                                        </thead>\n                                        <tbody>\n                                        <?php $top = 1; ?>\n                                        <?php foreach ($top5CommentPost as $post): ?>\n                                            <tr>\n                                                <td><?php echo $top; ?></td>\n                                                <td><a href=\"<?php echo $post['link']; ?>\"><?php echo $post['title']; ?></a></td>\n                                                <td><?php echo $post['commentsNum']; ?></td>\n                                            </tr>\n                                            <?php $top ++; ?>\n                                        <?php endforeach; ?>\n                                        </tbody>\n                                    </table>\n                                </div>\n                            <?php else: ?>\n                                <p><?php echo $GLOBALS['t']['dataPage']['NoPostsAvailableAtTheMoment']; ?></p>\n                            <?php endif; ?>    \n                        </div>\n                    </article>\n                    <?php $this->need('components/comments.php'); ?>\n                </main>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n        <script type=\"text/javascript\">\n          var data = {\n            post: <?php echo json_encode($postCalendarData); ?>,\n            comment: <?php echo json_encode($commentCalendarData); ?>,\n            category: <?php echo json_encode($categoryPostCount); ?>\n          };\n          if (data.category.length !== undefined && data.category.length < 1) data.category = undefined;\n        </script>\n        <?php $id = $this->options->pjax == 'on' ? '?id=' . mt_rand(1, 99999) : ''; ?>\n        <script type=\"text/javascript\" src=\"<?php $this->options->themeUrl('assets/js/chart.js'); ?><?php echo $id; ?>\"></script>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>"
  },
  {
    "path": "page-links.php",
    "content": "<?php\n/**\n * 友情链接\n * @package custom\n */\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n\n$GLOBALS['page'] = 'page-links';\n\n// 语言初始化\nlanguageInit($this->options->language);\n\n$linkArr = array();\n//  是否包含内页链接\nif ($this->options->pageLinks) {\n    $linkArr[] = array(\n        'title' => $GLOBALS['t']['linkPage']['linksOnDedicatedPageOnly'],\n        'links' => json_decode($this->options->pageLinks)\n    );\n}\n//  是否包含首页链接\nif (\n    is_array($this->options->linkPageOptions) &&\n    in_array('showHomepageOnLinkPage', $this->options->linkPageOptions) &&\n    $this->options->homeLinks\n) {\n    $linkArr[] = array(\n        'title' => $GLOBALS['t']['linkPage']['linksOnHomepage'],\n        'links' => json_decode($this->options->homeLinks)\n    );\n}\n//  是否包含全站链接\nif (\n    is_array($this->options->linkPageOptions) &&\n    in_array('showSitewideOnLinkPage', $this->options->linkPageOptions) &&\n    $this->options->links\n) {\n    $linkArr[] = array(\n        'title' => $GLOBALS['t']['linkPage']['linksOnAllPages'],\n        'links' => json_decode($this->options->links)\n    );\n}\n$this->need('components/header.php');  //  头文件\n?>\n\n<div id=\"main\">\n    <div class=\"container link-page main-content mb-0\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->title(); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"archive col-md-12 col-lg-8 col-sm-12 content-area\">\n                <main class=\"mwordstar-block\">\n                    <header class=\"entry-header border-bottom\">\n                        <h2 class=\"entry-title p-name\">\n                            <a href=\"<?php $this->permalink() ?>\"><?php $this->title() ?></a>\n                        </h2>\n                    </header>\n                    <article>\n                        <div data-target=\"<?php $this->options->postLinkOpen(); ?>\" class=\"post-content\">\n                            <?php if (count($linkArr)): ?>\n                                <?php foreach ($linkArr as $link): ?>\n                                    <h3><?php echo $link['title']; ?></h3>\n                                    <div class=\"row link-box\" role=\"group\" aria-label=\"<?php echo $link['title']; ?>\">\n                                        <?php foreach ($link['links'] as $val): ?>\n                                            <div class=\"col-lg-6 col-md-6 col-sm-12 col-12 link-grid\">\n                                                <div class=\"link\">\n                                                    <a href=\"<?php echo $val->url; ?>\" class=\"clearfix\" target=\"_blank\">\n                                                        <?php if (isset($val->logoUrl)): ?>\n                                                            <img src=\"<?php echo $val->logoUrl; ?>\" alt=\"站点Logo\" class=\"link-logo float-left rounded-circle\">\n                                                        <?php else: ?>\n                                                            <i class=\"link-logo float-left icon-link icon-logo rounded-circle\" aria-label=\"站点Logo\"></i>\n                                                        <?php endif; ?>\n                                                        <span class=\"link-name float-left\">\n                                                            <?php echo $val->name; ?>\n                                                        </span>\n                                                    </a>\n                                                    <p title=\"<?php echo isset($val->title)?$val->title:'暂无简介'; ?>\">\n                                                        <?php echo isset($val->title)?$val->title:'暂无简介'; ?>\n                                                    </p>\n                                                </div>\n                                            </div>\n                                        <?php endforeach; ?>\n                                    </div>\n                                <?php endforeach; ?>\n                            <?php endif; ?>\n                            <?php echo addBootstrapTableClasses($this->content); ?>\n                        </div>\n                    </article>\n                    <?php $this->need('components/comments.php'); ?>\n                </main>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>"
  },
  {
    "path": "page-tag.php",
    "content": "<?php\n/**\n * 标签云\n * @package custom\n */\n\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['page'] = 'page-tag';\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container tag-page main-content mb-0\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li class=\"breadcrumb-item\">\n                        <?php $this->category(' '); ?>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->title(); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"archive col-md-12 col-lg-8 col-sm-12 content-area\">\n                <main class=\"mwordstar-block\">\n                    <header class=\"entry-header border-bottom\">\n                        <h2 class=\"entry-title p-name\">\n                            <a href=\"<?php $this->permalink() ?>\"><?php $this->title() ?></a>\n                        </h2>\n                    </header>\n                    <article>\n                        <div class=\"post-content\">\n                            <?php $this->widget('Widget_Metas_Tag_Cloud', 'sort=mid&ignoreZeroCount=1&desc=0')->to($tags); ?>\n                            <?php if($tags->have()): ?>\n                                <div class=\"row\">\n                                    <?php while ($tags->next()): ?>\n                                        <div class=\"col-xl-3 col-lg-3 col-md-4 col-sm-6 col-6 my-1\">\n                                            <a role=\"listitem\" target=\"<?php $this->options->sidebarLinkOpen(); ?>\" data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $tags->permalink(); ?>\" rel=\"tag\" title=\"<?php printf($GLOBALS['t']['sidebar']['tagPostCount'], $tags->count); ?>\"><?php $tags->name(); ?> (<?php $tags->count(); ?>)</a>\n                                        </div>\n                                    <?php endwhile; ?>\n                                </div>\n                            <?php else: ?>\n                                <p class=\"text-center pb-2\"><?php _e('没有任何标签'); ?></p>\n                            <?php endif; ?>\n                        </div>\n                    </article>\n                </main>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>"
  },
  {
    "path": "page.php",
    "content": "<?php\nif (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['page'] = 'page';\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container main-content\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->title(); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"col-md-12 col-lg-8 col-sm-12 page content-area\">\n                <main class=\"mwordstar-block\">\n                    <header class=\"entry-header\">\n                        <h1 class=\"entry-title p-name\" itemprop=\"name headline\">\n                            <a itemprop=\"url\" href=\"<?php $this->permalink() ?>\"><?php $this->title() ?></a>\n                        </h1>\n                    </header>\n                    <?php $headerImg = headerImageDisplay($this, $this->options->headerImage, $this->options->headerImageUrl); ?>\n                    <?php if ($headerImg): ?>\n                        <div class=\"header-img border-top\">\n                            <a tabindex=\"-1\" aria-hidden=\"true\" href=\"<?php $this->permalink() ?>\" aria-label=\"<?php echo $GLOBALS['t']['post']['featuredImage']; ?>\" style=\"background-image: url(<?php echo $headerImg; ?>);background-color: <?php echo headerImageBgColor($this->options->headerImageBg); ?>;\" class=\"fixed\"></a>\n                        </div>\n                    <?php endif; ?>\n                    <div class=\"article-info clearfix border-bottom border-top\" role=\"group\"\" aria-label=\"<?php echo $GLOBALS['t']['post']['postInfo']; ?>\">\n                        <!--时间-->\n                        <div class=\"info\">\n                            <i class=\"icon-calendar icon\" aria-hidden=\"true\"></i>\n                            <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['publicationDate']; ?>\">\n                                <time datetime=\"<?php echo date('c', $this->created); ?>\"><?php echo postDateFormat($this->created); ?></time>\n                            </span>\n                        </div>\n                        <!--作者-->\n                        <div class=\"info\">\n                            <i class=\"icon-user icon\" aria-hidden=\"true\"></i>\n                            <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->author->permalink(); ?>\" title=\"<?php echo $GLOBALS['t']['post']['author']; ?>\"><?php $this->author(); ?></a>\n                        </div>\n                        <!--阅读量-->\n                        <div class=\"info\">\n                            <i class=\"icon-eye icon\" aria-hidden=\"true\"></i>\n                            <?php $views = postViews($this); ?>\n                            <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['views']; ?>\"><?php echo $views; ?></span>\n                        </div>\n                        <?php if ($this->user->hasLogin()): ?>\n                            <div class=\"info d-sm-none d-none d-md-inline d-lg-inline d-xl-inline\">\n                                <i class=\"icon icon-pencil\"></i>\n                                <a href=\"<?php echo $this->options->adminUrl . 'write-page.php?cid=' . $this->cid; ?>\" ><?php  echo $GLOBALS['t']['post']['edit']; ?></a>\n                            </div>\n                        <?php endif; ?>\n                    </div>\n                    <article>\n                        <div data-target=\"<?php $this->options->postLinkOpen(); ?>\" class=\"post-content\">\n                            <?php\n                            $postContent = $this->content;\n                            // 设置表格样式\n                            $postContent = addBootstrapTableClasses($postContent);\n                            // 如果启用了图片懒加载就把 img src 替换为 data-src\n                            if ($this->options->imagelazyloading == 'on') {\n                                $postContent = replaceImgSrc($postContent);\n                            }\n\n                            echo $postContent;\n                            ?>\n                        </div>\n                    </article>\n                    <?php $this->need('components/comments.php'); ?>\n                </main>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n</div>\n<?php $this->need('components/footer.php'); ?>\n"
  },
  {
    "path": "post.php",
    "content": "<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit;\n$GLOBALS['page'] = 'post';\n\n//  点赞\nif (isset($_POST['agree'])) {\n    if ($_POST['agree'] == $this->cid) {\n        exit((string)agree($this->cid));\n    }\n    exit('error');\n}\n\n// 获取文章底部交互区域的按钮设置\n$engagementSection = str_replace(' ', '', $this->options->engagementSection);\nif ($engagementSection != '') $engagementSection = explode(',', $engagementSection);\n\n// 语言初始化\nlanguageInit($this->options->language);\n$this->need('components/header.php');\n?>\n\n<div id=\"main\">\n    <div class=\"container post-page main-content mb-0\">\n        <?php if ($this->options->breadcrumb == 'on'): ?>\n            <nav aria-label=\"<?php echo $GLOBALS['t']['breadcrumb']; ?>\" class=\"breadcrumb-nav\">\n                <ol class=\"breadcrumb m-0 p-0\">\n                    <li class=\"breadcrumb-item\">\n                        <a href=\"<?php $this->options->siteUrl(); ?>\"><?php echo $GLOBALS['t']['header']['home']; ?></a>\n                    </li>\n                    <li class=\"breadcrumb-item\">\n                        <?php $this->category(' '); ?>\n                    </li>\n                    <li tabindex=\"0\" class=\"breadcrumb-item active\" aria-current=\"page\"><?php $this->title(); ?></li>\n                </ol>\n            </nav>\n        <?php endif; ?>\n        <div class=\"row\">\n            <div class=\"col-md-12 col-lg-8 col-sm-12 article-page content-area\">\n                <main class=\"mwordstar-block\">\n                    <header class=\"entry-header\">\n                        <h1 class=\"entry-title p-name\" itemprop=\"name headline\">\n                            <a itemprop=\"url\" href=\"<?php $this->permalink(); ?>\" rel=\"bookmark\">\n                                <?php\n                                if ($this->hidden) {\n                                    echo $GLOBALS['t']['post']['thisPostIsPasswordProtected'];\n                                }else {\n                                    $this->title();\n                                }\n                                ?>\n                            </a>\n                        </h1>\n                    </header>\n                    <?php $headerImg = headerImageDisplay($this, $this->options->headerImage, $this->options->headerImageUrl); ?>\n                    <?php if ($headerImg): ?>\n                        <div class=\"header-img border-top\">\n                            <a tabindex=\"-1\" aria-hidden=\"true\" href=\"<?php $this->permalink() ?>\" aria-label=\"<?php echo $GLOBALS['t']['post']['featuredImage']; ?>\" style=\"background-image: url(<?php echo $headerImg; ?>);background-color: <?php echo headerImageBgColor($this->options->headerImageBg); ?>;\" class=\"fixed\"></a>\n                        </div>\n                    <?php endif; ?>\n                    <div class=\"article-info clearfix border-bottom border-top\" role=\"group\" aria-label=\"<?php echo $GLOBALS['t']['post']['postInfo']; ?>\">\n                        <!--时间-->\n                        <div class=\"info\">\n                            <i class=\"icon-calendar icon\" aria-hidden=\"true\"></i>\n                            <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['publicationDate']; ?>\">\n                                <time datetime=\"<?php echo date('c', $this->created); ?>\"><?php echo postDateFormat($this->created); ?></time>\n                            </span>\n                        </div>\n                        <!--作者-->\n                        <div class=\"info\">\n                            <i class=\"icon-user icon\" aria-hidden=\"true\"></i>\n                            <a data-toggle=\"tooltip\" data-placement=\"top\" href=\"<?php $this->author->permalink(); ?>\" title=\"<?php echo $GLOBALS['t']['post']['author']; ?>\"><?php $this->author(); ?></a>\n                        </div>\n                        <!--阅读量-->\n                        <div class=\"info\">\n                            <i class=\"icon-eye icon\" aria-hidden=\"true\"></i>\n                            <?php $views = postViews($this); ?>\n                            <span data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['views']; ?>\"><?php echo $views; ?></span>\n                        </div>\n                        <!--评论-->\n                        <div class=\"info\">\n                            <i class=\"icon-bubbles2 icon\" aria-hidden=\"true\"></i>\n                            <a data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php echo $GLOBALS['t']['post']['comments']; ?>\" href=\"<?php $this->permalink() ?>#comments\"><?php $this->commentsNum('%d ' . $GLOBALS['t']['post']['comments']); ?></a>\n                        </div>\n                        <!--分类-->\n                        <div class=\"info category\">\n                            <i class=\"icon-folder-open icon\" aria-hidden=\"true\"></i>\n                            <?php $this->category(''); ?>\n                        </div>\n                        <!--标签-->\n                        <div class=\"info tags\">\n                            <i class=\"icon-price-tags icon\" aria-hidden=\"true\"></i>\n                            <?php $this->tags(' ', true, '暂无标签'); ?>\n                        </div>\n                        <?php if ($this->user->hasLogin()): ?>\n                            <div class=\"info d-sm-none d-none d-md-inline d-lg-inline d-xl-inline\">\n                                <i class=\"icon icon-pencil\"></i>\n                                <a href=\"<?php echo $this->options->adminUrl . 'write-post.php?cid=' . $this->cid; ?>\"><?php  echo $GLOBALS['t']['post']['edit']; ?></a>\n                            </div>\n                        <?php endif; ?>\n                    </div>\n                    <!--文章内容-->\n                    <article>\n                        <?php if (is_numeric($this->fields->expired) && (int)$this->fields->expired > 0 && $this->created + (int)$this->fields->expired * 86400 < time()): ?>\n                            <div class=\"alert warning-info\" role=\"alert\">\n                                <?php printf($GLOBALS['t']['post']['warningMessage'], getDays($this->created, time())); ?>\n                            </div>\n                        <?php endif; ?>\n                        <div data-target=\"<?php $this->options->postLinkOpen(); ?>\" class=\"post-content\">\n                            <?php\n                            // 使用分隔符对文章进行分页\n                            $GLOBALS['postPage'] = splitArticleContent($this->content);\n                            // 如果使用 url query 传入了页码就获取页码，否则就设置为第一页\n                            $postPageNum = isset($_GET['post-page']) ? $_GET['post-page'] : 1;\n                            // 如果传入的页码找不到对应的文章页面就把页码设置为第一页\n                            if (!isset($GLOBALS['postPage'][$postPageNum - 1])) $postPageNum = 1;\n                            // 生成章节目录\n                            $GLOBALS['post'] = articleDirectory($GLOBALS['postPage'][$postPageNum - 1]);\n                            // 设置表格样式\n                            $GLOBALS['post']['content'] = addBootstrapTableClasses($GLOBALS['post']['content']);\n                            // 如果启用了图片懒加载就把 img 的 src 替换为 data-src\n                            if ($this->options->imagelazyloading == 'on') {\n                                $GLOBALS['post']['content'] = replaceImgSrc($GLOBALS['post']['content']);\n                            }\n\n                            echo $GLOBALS['post']['content'];\n                            ?>\n                        </div>\n                        <?php if (count($GLOBALS['postPage']) > 1): ?>\n                            <nav aria-label=\"<?php echo $GLOBALS['t']['pagination']['postContentPagination']; ?>\" class=\"py-3 post-pagination\">\n                                <ol class=\"pagination justify-content-center\">\n                                    <?php if ($postPageNum > 1): ?>\n                                        <li class=\"page-item\">\n                                            <a href=\"<?php echo $this->permalink . '?post-page=' . ($postPageNum - 1); ?>\" class=\"page-link previous-page\" aria-label=\"<?php echo $GLOBALS['t']['pagination']['previousPage']; ?>\" title=\"<?php echo $GLOBALS['t']['pagination']['previousPage']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\">\n                                                <i class=\"icon-chevron-left\"></i>\n                                            </a>\n                                        </li>\n                                    <?php endif; ?>\n                                    <?php for ($i = 0; $i < count($GLOBALS['postPage']); $i++): ?>\n                                        <li class=\"page-item <?php if ($i == $postPageNum - 1) echo 'active'; ?>\">\n                                            <a href=\"<?php echo $this->permalink . '?post-page=' . ($i + 1); ?>\" class=\"page-link\" <?php if ($i == $postPageNum - 1) echo 'aria-current=\"page\"'; ?>><?php echo $i + 1; ?></a>\n                                        </li>\n                                    <?php endfor; ?>\n                                    <?php if ($postPageNum < count($GLOBALS['postPage'])): ?>\n                                        <li class=\"page-item\">\n                                            <a href=\"<?php echo $this->permalink . '?post-page=' . ($postPageNum + 1); ?>\" class=\"page-link next-page\" aria-label=\"<?php echo $GLOBALS['t']['pagination']['nextPage']; ?>\" title=\"<?php echo $GLOBALS['t']['pagination']['nextPage']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\">\n                                                <i class=\"icon-chevron-right\"></i>\n                                            </a>\n                                        </li>\n                                    <?php endif; ?>\n                                </ol>\n                            </nav>\n                        <?php endif; ?>\n                        <div class=\"clearfix\" id=\"copyright-info\">\n                            <?php if ($this->options->modified == 'show'): ?>\n                                <span class=\"float-xl-left float-lg-left float-md-left d-block\">\n                                    <time datetime=\"<?php echo date('c', $this->modified); ?>\">\n                                        <?php printf($GLOBALS['t']['post']['updated'], postDateFormat($this->modified)); ?>\n                                    </time>\n                                </span>\n                            <?php endif; ?>\n                            <?php if ($this->fields->articleCopyright != 'hide'): ?>\n                                <span tabindex=\"0\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"<?php printf($GLOBALS['t']['post']['copyrightNotice'][1], $this->options->title); ?>\" class=\"mt-1 mt-sm-1 mt-md-0 mt-lg-0 mt-lg-0 mt-xl-0 float-xl-right float-lg-right float-md-right d-block\"><?php echo $GLOBALS['t']['post']['copyrightNotice'][0]; ?></span>\n                            <?php endif; ?>\n                        </div>\n                    </article>\n                    <?php if ($engagementSection != ''): ?>\n                        <div class=\"mb-3 agree-and-share\">\n                            <div class=\"text-center\">\n                                <?php foreach ($engagementSection as $val): ?>\n                                    <?php if ($val == '点赞'): ?>\n                                        <?php $agree = $this->hidden ? array('agree' => 0, 'recording' => true) : agreeNum($this->cid); ?>\n                                        <button <?php echo $agree['recording'] ? 'disabled' : ''; ?> data-cid=\"<?php echo $this->cid; ?>\" data-url=\"<?php $this->permalink(); ?>\" id=\"agree-btn\" type=\"button\" class=\"btn mr-2\">\n                                            <i class=\"icon-thumbs-up\"></i>\n                                            <span><?php echo $GLOBALS['t']['post']['like']; ?></span>\n                                            <span class=\"agree-num\"><?php echo $agree['agree']; ?></span>\n                                        </button>\n                                    <?php endif; ?>\n                                    <?php if ($val == '分享'): ?>\n                                        <button id=\"share-btn\" data-url=\"<?php $this->permalink(); ?>\" type=\"button\" class=\"btn mr-2\" data-toggle=\"collapse\" data-target=\"#qr-link\" aria-expanded=\"false\" aria-controls=\"collapseExample\">\n                                            <i class=\"icon-share2\"></i>\n                                            <span><?php echo $GLOBALS['t']['post']['share']; ?></span>\n                                        </button>\n                                    <?php endif; ?>\n                                    <?php if ($val == '打赏'): ?>\n                                        <button type=\"button\" class=\"btn mr-2\" data-toggle=\"collapse\" data-target=\"#reward-qr\" aria-expanded=\"false\">\n                                            <i class=\"icon-coffee\"></i>\n                                            <span><?php echo $GLOBALS['t']['post']['donate']; ?></span>\n                                        </button>\n                                    <?php endif; ?>\n                                <?php endforeach; ?>\n                            </div>\n                            <?php if (in_array('打赏', $engagementSection)): ?>\n                                <!--打赏二维码-->\n                                <div class=\"collapse\" id=\"reward-qr\">\n                                    <div class=\"mt-4 text-center qr\">\n                                        <img src=\"<?php $this->options->rewardQr(); ?>\" alt=\"<?php echo $GLOBALS['t']['post']['QRCode']; ?>\">\n                                    </div>\n                                </div>\n                            <?php endif; ?>\n                            <?php if (in_array('分享', $engagementSection)): ?>\n                                <!--分享区域-->\n                                <div class=\"collapse\" id=\"qr-link\">\n                                    <div class=\"mt-4 qr-link\">\n                                        <p class=\"text-center mb-2\"><?php echo $GLOBALS['t']['post']['scanTheQRCodeBelowToViewAndShareThisPageOnYourPhone']; ?></p>\n                                        <div class=\"text-center\">\n                                            <div id=\"qr\" class=\"mb-1\"></div>\n                                            <div class=\"link-box\">\n                                                <a class=\"text-danger\" href=\"https://service.weibo.com/share/share.php?url=<?php $this->permalink(); ?>&title=<?php $this->title(); ?>\" target=\"_blank\" rel=\"external nofollow\" aria-label=\"<?php echo $GLOBALS['t']['post']['shareOnWeibo']; ?>\" title=\"<?php echo $GLOBALS['t']['post']['shareOnWeibo']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\">\n                                                    <i class=\"icon-sina-weibo mr-1\"></i>\n                                                </a>\n                                                <a class=\"text-info\" href=\"https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<?php $this->permalink(); ?>&title=<?php $this->title(); ?>&site=<?php $this->options->siteUrl(); ?>&summary=<?php $this->fields->summaryContent ? $this->fields->summaryContent() : $this->excerpt($this->options->summary, '...'); ?>\" target=\"_blank\" rel=\"external nofollow\" aria-label=\"<?php echo $GLOBALS['t']['post']['shareOnQzone']; ?>\" title=\"<?php echo $GLOBALS['t']['post']['shareOnQzone']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\">\n                                                    <i class=\"icon-qzone-logo mr-1\"></i>\n                                                </a>\n                                                <a class=\"text-info\" href=\"https://twitter.com/intent/tweet?url=<?php $this->permalink(); ?>&text=<?php $this->title(); ?>\" target=\"_blank\" rel=\"external nofollow\" aria-label=\"<?php echo $GLOBALS['t']['post']['shareOnTwitter']; ?>\" title=\"<?php echo $GLOBALS['t']['post']['shareOnTwitter']; ?>\" data-toggle=\"tooltip\" data-placement=\"top\">\n                                                    <i class=\"icon-twitter mr-1\"></i>\n                                                </a>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                            <?php endif; ?>\n                        </div>\n                    <?php endif; ?>\n                    <!--上一篇和下一篇文章的导航-->\n                    <nav class=\"post-navigation border-top\">\n                        <div class=\"row\">\n                            <div class=\"col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 previous\">\n                                <div id=\"previous-post-text\"><?php echo $GLOBALS['t']['post']['previousPost']; ?></div>\n                                <?php $this->thePrev('%s', $GLOBALS['t']['post']['none']); ?>\n                            </div>\n                            <div class=\"col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 next\">\n                                <div id=\"next-post-text\" class=\"text-lg-right text-xl-right text-md-right\"><?php echo $GLOBALS['t']['post']['nextPost']; ?></div class=\"text-lg-right text-xl-right text-md-right\">\n                                <div class=\"text-lg-right text-xl-right text-md-right next-box\"><?php $this->theNext('%s', $GLOBALS['t']['post']['none']); ?></div>\n                            </div>\n                        </div>\n                    </nav>\n                    <?php $this->need('components/comments.php'); ?>\n                </main>\n            </div>\n            <?php $this->need('components/sidebar.php'); ?>\n        </div>\n    </div>\n    <?php if ($this->options->directoryMobile == 'enable'): ?>\n        <div id=\"directory-mobile\" class=\"border rounded\" style=\"display: none;\">\n            <div class=\"title-bar border-bottom\">\n                <h5 class=\"m-0\"><?php echo $GLOBALS['t']['sidebar']['tableOfContents']; ?></h5>\n                <button type=\"button\" class=\"btn btn-sm close-btn\" aria-label=\"<?php echo $GLOBALS['t']['sidebar']['closeTableOfContents']; ?>\" title=\"<?php echo $GLOBALS['t']['sidebar']['closeTableOfContents']; ?>\">\n                    <i class=\"icon-cancel-circle\"></i>\n                </button>\n            </div>\n            <div class=\"p-3 directory-list\">\n                <?php echo $GLOBALS['post']['directory']; ?>\n            </div>\n        </div>\n    <?php endif; ?>\n</div>\n<?php $this->need('components/footer.php'); ?>"
  }
]