From 09a7c953627dc6543cf6a1fc189d5c7604efec12 Mon Sep 17 00:00:00 2001
From: Dillon <dillonzq@outlook.com>
Date: Sun, 3 May 2020 11:06:10 +0800
Subject: [PATCH 01/11] fix(search): theme.js error when search is disabled
 (#310)

---
 assets/js/theme.min.js       |  2 +-
 assets/js/theme.min.js.map   |  2 +-
 layouts/_default/baseof.html |  2 +-
 src/js/theme.js              | 22 ++++++++++++----------
 theme.toml                   |  2 +-
 5 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/assets/js/theme.min.js b/assets/js/theme.min.js
index 11fc0c4f..d9383f5f 100644
--- a/assets/js/theme.min.js
+++ b/assets/js/theme.min.js
@@ -1,3 +1,3 @@
-"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search;b.maxResultLength||(b.maxResultLength=10),b.snippetLength||(b.snippetLength=50),b.highlightTag||(b.highlightTag="em");var c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){var d=c?"mobile":"desktop",e=document.getElementById("header-".concat(d)),f=document.getElementById("search-input-".concat(d)),g=document.getElementById("search-toggle-".concat(d)),h=document.getElementById("search-loading-".concat(d)),i=document.getElementById("search-clear-".concat(d));c?(this._searchMobileOnce=!0,f.addEventListener("focus",function(){document.body.classList.add("blur"),e.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){e.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),h.style.display="none",i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),i.addEventListener("click",function(){i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){e.classList.remove("open"),h.style.display="none",i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,g.addEventListener("click",function(){document.body.classList.add("blur"),e.classList.add("open"),f.focus()},!1),i.addEventListener("click",function(){i.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){e.classList.remove("open"),h.style.display="none",i.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),f.addEventListener("input",function(){i.style.display=""===f.value?"none":"inline"},!1);var j=function(){var e=autocomplete("#search-input-".concat(d),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(d),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,d){h.style.display="inline",i.style.display="none";var e=function(a){h.style.display="none",i.style.display="inline",d(a)};if("lunr"===b.type){var f=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var d={};return a._index.search(c).forEach(function(c){var e=c.ref,f=c.matchData.metadata,g=a._indexData[e],h=g.uri,i=g.title,j=g.content;if(!d[h]){var k=0;Object.values(f).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<k||0===k)&&(k=c)}}),k-=b.snippetLength/5,0<k?(k+=j.substr(k,20).lastIndexOf(" ")+1,j="..."+j.substr(k,b.snippetLength)):j=j.substr(0,b.snippetLength),Object.keys(f).forEach(function(a){i=i.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(b.highlightTag,">$1</").concat(b.highlightTag,">")),j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(b.highlightTag,">$1</").concat(b.highlightTag,">"))}),d[h]={uri:h,title:i,date:g.date,context:j}}}),Object.values(d).slice(0,b.maxResultLength)};a._index?e(f()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,e(f())}).catch(function(a){console.error(a),e([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*b.maxResultLength,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(b.snippetLength)],highlightPreTag:"<".concat(b.highlightTag,">"),highlightPostTag:"</".concat(b.highlightTag,">")}).then(function(a){var c=a.hits,d={};c.forEach(function(a){var b=a.uri,c=a.date,e=a._highlightResult.title,f=a._snippetResult.content;d[b]&&d[b].context.length>f.value||(d[b]={uri:b,title:e.value,date:c,context:f.value})}),e(Object.values(d).slice(0,b.maxResultLength))}).catch(function(a){console.error(a),e([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});e.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=e:a._searchDesktop=e};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var k=document.createElement("script");k.id="lunr-segmentit",k.type="text/javascript",k.src=b.lunrSegmentitURL,k.async=!0,k.readyState?k.onreadystatechange=function(){("loaded"==k.readyState||"complete"==k.readyState)&&(k.onreadystatechange=null,j())}:k.onload=function(){j()},document.body.appendChild(k)}else j()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin","<i class=\"arrow fas fa-chevron-right fa-fw\"></i>"),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin","<i class=\"fas fa-ellipsis-h fa-fw\"></i>"),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin","<i class=\"far fa-copy fa-fw\"></i>"),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length<a.config.code.maxShownLines+2)&&b.classList.add("open"),a.config.code.copyTitle){h.setAttribute("data-clipboard-text",i),h.title=a.config.code.copyTitle;var j=new ClipboardJS(h);j.on("success",function(){a.util.animateCSS(d,"flash")}),e.appendChild(h)}b.insertBefore(e,b.firstChild)}})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin","<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initTypeit",value:function initTypeit(){var a=this;this.config.typeit&&this.config.typeit.forEach(function(b){var c=function(d){var e=b[d];if(d===b.length-1)return void new TypeIt("#".concat(e),{strings:a.data[e]}).go();var f=new TypeIt("#".concat(e),{strings:a.data[e],afterComplete:function afterComplete(){f.destroy(),c(d+1)}}).go()};c(0)})}},{key:"initComment",value:function initComment(){if(this.config.comment&&this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var a=new Gitalk(this.config.comment.gitalk.body);a.render("gitalk")}this.config.comment&&this.config.comment.valine&&new Valine(this.config.comment.valine)}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===this.config.headerMode.desktop&&b.push(document.getElementById("header-desktop")),"auto"===this.config.headerMode.mobile&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
+"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search,c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){b.maxResultLength||(b.maxResultLength=10),b.snippetLength||(b.snippetLength=50),b.highlightTag||(b.highlightTag="em");var d=c?"mobile":"desktop",e=document.getElementById("header-".concat(d)),f=document.getElementById("search-input-".concat(d)),g=document.getElementById("search-toggle-".concat(d)),h=document.getElementById("search-loading-".concat(d)),i=document.getElementById("search-clear-".concat(d));c?(this._searchMobileOnce=!0,f.addEventListener("focus",function(){document.body.classList.add("blur"),e.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){e.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),h.style.display="none",i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),i.addEventListener("click",function(){i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){e.classList.remove("open"),h.style.display="none",i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,g.addEventListener("click",function(){document.body.classList.add("blur"),e.classList.add("open"),f.focus()},!1),i.addEventListener("click",function(){i.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){e.classList.remove("open"),h.style.display="none",i.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),f.addEventListener("input",function(){i.style.display=""===f.value?"none":"inline"},!1);var j=function(){var e=autocomplete("#search-input-".concat(d),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(d),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,d){h.style.display="inline",i.style.display="none";var e=function(a){h.style.display="none",i.style.display="inline",d(a)};if("lunr"===b.type){var f=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var d={};return a._index.search(c).forEach(function(c){var e=c.ref,f=c.matchData.metadata,g=a._indexData[e],h=g.uri,i=g.title,j=g.content;if(!d[h]){var k=0;Object.values(f).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<k||0===k)&&(k=c)}}),k-=b.snippetLength/5,0<k?(k+=j.substr(k,20).lastIndexOf(" ")+1,j="..."+j.substr(k,b.snippetLength)):j=j.substr(0,b.snippetLength),Object.keys(f).forEach(function(a){i=i.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(b.highlightTag,">$1</").concat(b.highlightTag,">")),j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(b.highlightTag,">$1</").concat(b.highlightTag,">"))}),d[h]={uri:h,title:i,date:g.date,context:j}}}),Object.values(d).slice(0,b.maxResultLength)};a._index?e(f()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,e(f())}).catch(function(a){console.error(a),e([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*b.maxResultLength,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(b.snippetLength)],highlightPreTag:"<".concat(b.highlightTag,">"),highlightPostTag:"</".concat(b.highlightTag,">")}).then(function(a){var c=a.hits,d={};c.forEach(function(a){var b=a.uri,c=a.date,e=a._highlightResult.title,f=a._snippetResult.content;d[b]&&d[b].context.length>f.value||(d[b]={uri:b,title:e.value,date:c,context:f.value})}),e(Object.values(d).slice(0,b.maxResultLength))}).catch(function(a){console.error(a),e([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});e.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=e:a._searchDesktop=e};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var k=document.createElement("script");k.id="lunr-segmentit",k.type="text/javascript",k.src=b.lunrSegmentitURL,k.async=!0,k.readyState?k.onreadystatechange=function(){("loaded"==k.readyState||"complete"==k.readyState)&&(k.onreadystatechange=null,j())}:k.onload=function(){j()},document.body.appendChild(k)}else j()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin","<i class=\"arrow fas fa-chevron-right fa-fw\"></i>"),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin","<i class=\"fas fa-ellipsis-h fa-fw\"></i>"),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin","<i class=\"far fa-copy fa-fw\"></i>"),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length<a.config.code.maxShownLines+2)&&b.classList.add("open"),a.config.code.copyTitle){h.setAttribute("data-clipboard-text",i),h.title=a.config.code.copyTitle;var j=new ClipboardJS(h);j.on("success",function(){a.util.animateCSS(d,"flash")}),e.appendChild(h)}b.insertBefore(e,b.firstChild)}})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin","<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initTypeit",value:function initTypeit(){var a=this;this.config.typeit&&this.config.typeit.forEach(function(b){var c=function(d){var e=b[d];if(d===b.length-1)return void new TypeIt("#".concat(e),{strings:a.data[e]}).go();var f=new TypeIt("#".concat(e),{strings:a.data[e],afterComplete:function afterComplete(){f.destroy(),c(d+1)}}).go()};c(0)})}},{key:"initComment",value:function initComment(){if(this.config.comment&&this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var a=new Gitalk(this.config.comment.gitalk.body);a.render("gitalk")}this.config.comment&&this.config.comment.valine&&new Valine(this.config.comment.valine)}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===this.config.headerMode.desktop&&b.push(document.getElementById("header-desktop")),"auto"===this.config.headerMode.mobile&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
 
 //# sourceMappingURL=theme.min.js.map
\ No newline at end of file
diff --git a/assets/js/theme.min.js.map b/assets/js/theme.min.js.map
index 4bdf1eb9..31abb27f 100644
--- a/assets/js/theme.min.js.map
+++ b/assets/js/theme.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n    forEach(elements, handler) {\n        elements = elements || [];\n        for (let i = 0; i < elements.length; i++) handler(elements[i]);\n    }\n\n    getScrollTop() {\n        return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n    }\n\n    isMobile() {\n        return window.matchMedia('only screen and (max-width: 680px)').matches;\n    }\n\n    isTocStatic() {\n        return window.matchMedia('only screen and (max-width: 960px)').matches;\n    }\n\n    animateCSS(element, animation, reserved, callback) {\n        if (!Array.isArray(animation)) animation = [animation];\n        element.classList.add('animated', ...animation);\n        const handler = () => {\n            element.classList.remove('animated', ...animation);\n            element.removeEventListener('animationend', handler);\n            if (typeof callback === 'function') callback();\n        };\n        if (!reserved) element.addEventListener('animationend', handler, false);\n    }\n}\n\nclass Theme {\n    constructor() {\n        this.config = window.config;\n        this.data = this.config.data;\n        this.isDark = document.body.getAttribute('theme') === 'dark';\n        this.util = new Util();\n        this.newScrollTop = this.util.getScrollTop();\n        this.oldScrollTop = this.newScrollTop;\n        this.scrollEventSet = new Set();\n        this.resizeEventSet = new Set();\n        this.switchThemeEventSet = new Set();\n        this.clickMaskEventSet = new Set();\n        if (objectFitImages) objectFitImages();\n    }\n\n    initSVGIcon() {\n        this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n            fetch($icon.getAttribute('data-svg-src'))\n                .then(response => response.text())\n                .then(svg => {\n                    const $temp = document.createElement('div');\n                    $temp.insertAdjacentHTML('afterbegin', svg);\n                    const $svg = $temp.firstChild;\n                    $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n                    $svg.classList.add('icon');\n                    const $titleElements = $svg.getElementsByTagName('title');\n                    if ($titleElements.length) $svg.removeChild($titleElements[0]);\n                    $icon.parentElement.replaceChild($svg, $icon);\n                })\n                .catch(err => { console.error(err); });\n        });\n    }\n\n    initTwemoji() {\n        if (this.config.twemoji) twemoji.parse(document.body);\n    }\n\n    initMenuMobile() {\n        const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n        const $menuMobile = document.getElementById('menu-mobile');\n        $menuToggleMobile.addEventListener('click', () => {\n            document.body.classList.toggle('blur');\n            $menuToggleMobile.classList.toggle('active');\n            $menuMobile.classList.toggle('active');\n        }, false);\n        this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n            $menuToggleMobile.classList.remove('active');\n            $menuMobile.classList.remove('active');\n        });\n        this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n    }\n\n    initSwitchTheme() {\n        this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n            $themeSwitch.addEventListener('click', () => {\n                if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n                else document.body.setAttribute('theme', 'dark');\n                this.isDark = !this.isDark;\n                window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n                for (let event of this.switchThemeEventSet) event();\n            }, false);\n        });\n    }\n\n    initSearch() {\n        const searchConfig = this.config.search;\n        if (!searchConfig.maxResultLength) searchConfig.maxResultLength = 10;\n        if (!searchConfig.snippetLength) searchConfig.snippetLength = 50;\n        if (!searchConfig.highlightTag) searchConfig.highlightTag = 'em';\n        const isMobile = this.util.isMobile();\n        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n        const classSuffix = isMobile ? 'mobile' : 'desktop';\n        const $header = document.getElementById(`header-${classSuffix}`);\n        const $searchInput = document.getElementById(`search-input-${classSuffix}`);\n        const $searchToggle = document.getElementById(`search-toggle-${classSuffix}`);\n        const $searchLoading = document.getElementById(`search-loading-${classSuffix}`);\n        const $searchClear = document.getElementById(`search-clear-${classSuffix}`);\n        if (isMobile) {\n            this._searchMobileOnce = true;\n            $searchInput.addEventListener('focus', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n            }, false);\n            document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n                $header.classList.remove('open');\n                document.body.classList.remove('blur');\n                document.getElementById('menu-toggle-mobile').classList.remove('active');\n                document.getElementById('menu-mobile').classList.remove('active');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n        } else {\n            this._searchDesktopOnce = true;\n            $searchToggle.addEventListener('click', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n                $searchInput.focus();\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            }, false);\n            this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n        }\n        $searchInput.addEventListener('input', () => {\n            if ($searchInput.value === '') $searchClear.style.display = 'none';\n            else $searchClear.style.display = 'inline';\n        }, false);\n\n        const initAutosearch = () => {\n            const autosearch = autocomplete(`#search-input-${classSuffix}`, {\n                hint: false,\n                autoselect: true,\n                dropdownMenuContainer: `#search-dropdown-${classSuffix}`,\n                clearOnSelected: true,\n                cssClasses: { noPrefix: true },\n                debug: true,\n            }, {\n                name: 'search',\n                source: (query, callback) => {\n                    $searchLoading.style.display = 'inline';\n                    $searchClear.style.display = 'none';\n                    const finish = (results) => {\n                        $searchLoading.style.display = 'none';\n                        $searchClear.style.display = 'inline';\n                        callback(results);\n                    };\n                    if (searchConfig.type === 'lunr') {\n                        const search = () => {\n                            if (lunr.queryHandler) query = lunr.queryHandler(query);\n                            const results = {};\n                            this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n                                const matchData = this._indexData[ref];\n                                let { uri, title, content: context } = matchData;\n                                if (results[uri]) return;\n                                let position = 0;\n                                Object.values(metadata).forEach(({ content }) => {\n                                    if (content) {\n                                        const matchPosition = content.position[0][0];\n                                        if (matchPosition < position || position === 0) position = matchPosition;\n                                    }\n                                });\n                                position -= searchConfig.snippetLength / 5;\n                                if (position > 0) {\n                                    position += context.substr(position, 20).lastIndexOf(' ') + 1;\n                                    context = '...' + context.substr(position, searchConfig.snippetLength);\n                                } else {\n                                    context = context.substr(0, searchConfig.snippetLength);\n                                }\n                                Object.keys(metadata).forEach(key => {\n                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);\n                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);\n                                });\n                                results[uri] = {\n                                    'uri': uri,\n                                    'title' : title,\n                                    'date' : matchData.date,\n                                    'context' : context,\n                                };\n                            });\n                            return Object.values(results).slice(0, searchConfig.maxResultLength);\n                        }\n                        if (!this._index) {\n                            fetch(searchConfig.lunrIndexURL)\n                                .then(response => response.json())\n                                .then(data => {\n                                    const indexData = {};\n                                    this._index = lunr(function () {\n                                        if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n                                        this.ref('objectID');\n                                        this.field('title', { boost: 50 });\n                                        this.field('tags', { boost: 20 });\n                                        this.field('categories', { boost: 20 });\n                                        this.field('content', { boost: 10 });\n                                        this.metadataWhitelist = ['position'];\n                                        data.forEach((record) => {\n                                            indexData[record.objectID] = record;\n                                            this.add(record);\n                                        });\n                                    });\n                                    this._indexData = indexData;\n                                    finish(search());\n                                }).catch(err => {\n                                    console.error(err);\n                                    finish([]);\n                                });\n                        } else finish(search());\n                    } else if (searchConfig.type === 'algolia') {\n                        this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n                        this._algoliaIndex\n                            .search(query, {\n                                offset: 0,\n                                length: searchConfig.maxResultLength * 8,\n                                attributesToHighlight: ['title'],\n                                attributesToSnippet: [`content:${searchConfig.snippetLength}`],\n                                highlightPreTag: `<${searchConfig.highlightTag}>`,\n                                highlightPostTag: `</${searchConfig.highlightTag}>`,\n                            })\n                            .then(({ hits }) => {\n                                const results = {};\n                                hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n                                    if (results[uri] && results[uri].context.length > content.value) return;\n                                    results[uri] = {\n                                        uri: uri,\n                                        title: title.value,\n                                        date: date,\n                                        context: content.value,\n                                    };\n                                });\n                                finish(Object.values(results).slice(0, searchConfig.maxResultLength));\n                            })\n                            .catch(err => {\n                                console.error(err);\n                                finish([]);\n                            });\n                    }\n                },\n                templates: {\n                    suggestion: ({ title, date, context }) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n                    empty: ({ query }) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n                    footer: ({}) => {\n                        const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n                            searchType: 'algolia',\n                            icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n                            href: 'https://www.algolia.com/',\n                        } : {\n                            searchType: 'Lunr.js',\n                            icon: '',\n                            href: 'https://lunrjs.com/',\n                        };\n                        return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;},\n                },\n            });\n            autosearch.on('autocomplete:selected', (event, suggestion, dataset, context) => {\n                window.location.assign(suggestion.uri);\n            });\n            if (isMobile) this._searchMobile = autosearch;\n            else this._searchDesktop = autosearch;\n        };\n        if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n            const script = document.createElement('script');\n            script.id = 'lunr-segmentit';\n            script.type = 'text/javascript';\n            script.src = searchConfig.lunrSegmentitURL;\n            script.async = true;\n            if (script.readyState) {\n                script.onreadystatechange = () => {\n                    if (script.readyState == 'loaded' || script.readyState == 'complete'){\n                        script.onreadystatechange = null;\n                        initAutosearch();\n                    }\n                };\n            } else {\n                script.onload = () => {\n                    initAutosearch();\n                };\n            }\n            document.body.appendChild(script);\n        } else initAutosearch();\n    }\n\n    initDetails() {\n        this.util.forEach(document.getElementsByClassName('details'), $details => {\n            const $summary = $details.getElementsByClassName('details-summary')[0];\n            $summary.addEventListener('click', () => {\n                $details.classList.toggle('open');\n            }, false);\n        });\n    }\n\n    initLightGallery() {\n        if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n    }\n\n    initHighlight() {\n        this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n            const $chroma = document.createElement('div');\n            $chroma.className = $preChroma.className;\n            const $table = document.createElement('table');\n            $chroma.appendChild($table);\n            const $tbody = document.createElement('tbody');\n            $table.appendChild($tbody);\n            const $tr = document.createElement('tr');\n            $tbody.appendChild($tr);\n            const $td = document.createElement('td');\n            $tr.appendChild($td);\n            $preChroma.parentElement.replaceChild($chroma, $preChroma);\n            $td.appendChild($preChroma);\n        });\n        this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n            const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n            if ($codeElements.length) {\n                const $code = $codeElements[$codeElements.length - 1];\n                const $header = document.createElement('div');\n                $header.className = 'code-header ' + $code.className.toLowerCase();\n                const $title = document.createElement('span');\n                $title.classList.add('code-title');\n                $title.insertAdjacentHTML('afterbegin', '<i class=\"arrow fas fa-chevron-right fa-fw\"></i>');\n                $title.addEventListener('click', () => {\n                    $chroma.classList.toggle('open');\n                }, false);\n                $header.appendChild($title);\n                const $ellipses = document.createElement('span');\n                $ellipses.insertAdjacentHTML('afterbegin', '<i class=\"fas fa-ellipsis-h fa-fw\"></i>');\n                $ellipses.classList.add('ellipses');\n                $ellipses.addEventListener('click', () => {\n                    $chroma.classList.add('open');\n                }, false);\n                $header.appendChild($ellipses);\n                const $copy = document.createElement('span');\n                $copy.insertAdjacentHTML('afterbegin', '<i class=\"far fa-copy fa-fw\"></i>');\n                $copy.classList.add('copy');\n                const code = $code.innerText;\n                if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n                if (this.config.code.copyTitle) {\n                    $copy.setAttribute('data-clipboard-text', code);\n                    $copy.title = this.config.code.copyTitle;\n                    const clipboard = new ClipboardJS($copy);\n                    clipboard.on('success', e => {\n                        this.util.animateCSS($code, 'flash');\n                    });\n                    $header.appendChild($copy);\n                }\n                $chroma.insertBefore($header, $chroma.firstChild);\n            }\n        });\n    }\n\n    initTable() {\n        this.util.forEach(document.querySelectorAll('.content table'), $table => {\n            const $wrapper = document.createElement('div');\n            $wrapper.className = 'table-wrapper';\n            $table.parentElement.replaceChild($wrapper, $table);\n            $wrapper.appendChild($table);\n        });\n    }\n\n    initHeaderLink() {\n        for (let num = 1; num <= 6; num++) {\n            this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n                $header.classList.add('headerLink');\n                $header.insertAdjacentHTML('afterbegin', `<a href=\"#${$header.id}\" class=\"header-mark\"></a>`);\n            });\n        }\n    }\n\n    initToc() {\n        const $tocCore = document.getElementById('TableOfContents');\n        if ($tocCore === null) return;\n        if (this.util.isTocStatic()) {\n            const $tocContentStatic = document.getElementById('toc-content-static');\n            if ($tocCore.parentElement !== $tocContentStatic) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentStatic.appendChild($tocCore);\n            }\n            if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n        } else {\n            const $tocContentAuto = document.getElementById('toc-content-auto');\n            if ($tocCore.parentElement !== $tocContentAuto) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentAuto.appendChild($tocCore);\n            }\n            const $toc = document.getElementById('toc-auto');\n            const $page = document.getElementsByClassName('page')[0];\n            const rect = $page.getBoundingClientRect();\n            $toc.style.left = `${rect.left + rect.width + 20}px`;\n            $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n            $toc.style.visibility = 'visible';\n            const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n            const $tocLiElements = $tocCore.getElementsByTagName('li');\n            const $headerLinkElements = document.getElementsByClassName('headerLink');\n            const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n            const headerHeight = document.getElementById('header-desktop').offsetHeight;\n            const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n            const minTocTop = $toc.offsetTop;\n            const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n            this._tocOnScroll = this._tocOnScroll || (() => {\n                const footerTop = document.getElementById('post-footer').offsetTop;\n                const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n                const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n                if (this.newScrollTop < minScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${minTocTop}px`;\n                } else if (this.newScrollTop > maxScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${maxTocTop}px`;\n                } else {\n                    $toc.style.position = 'fixed';\n                    $toc.style.top = `${TOP_SPACING}px`;\n                }\n\n                this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n                this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n                const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n                let activeTocIndex = $headerLinkElements.length - 1;\n                for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n                    const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n                    const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n                    if ((i == 0 && thisTop > INDEX_SPACING)\n                     || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n                        activeTocIndex = i;\n                        break;\n                    }\n                }\n                if (activeTocIndex !== -1) {\n                    $tocLinkElements[activeTocIndex].classList.add('active');\n                    let $parent = $tocLinkElements[activeTocIndex].parentElement;\n                    while ($parent !== $tocCore) {\n                        $parent.classList.add('has-active');\n                        $parent = $parent.parentElement.parentElement;\n                    }\n                }\n            });\n            this._tocOnScroll();\n            this.scrollEventSet.add(this._tocOnScroll);\n        }\n    }\n\n    initMath() {\n        if (this.config.math) renderMathInElement(document.body, this.config.math);\n    }\n\n    initMermaid() {\n        const $mermaidElements = document.getElementsByClassName('mermaid');\n        if ($mermaidElements.length) {\n            mermaid.initialize({startOnLoad: false, theme: 'null'});\n            this.util.forEach($mermaidElements, $mermaid => {\n                mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n                    $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n                }, $mermaid);\n            });\n        }\n    }\n\n    initEcharts() {\n        this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n            this._echartsArr = this._echartsArr || [];\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].dispose();\n            }\n            this._echartsArr = [];\n            this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n                const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n                chart.setOption(JSON.parse(this.data[$echarts.id]));\n                this._echartsArr.push(chart);\n            });\n        });\n        this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n        this._echartsOnSwitchTheme();\n        this._echartsOnResize = this._echartsOnResize || (() => {\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].resize();\n            }\n        });\n        this.resizeEventSet.add(this._echartsOnResize);\n    }\n\n    initMapbox() {\n        if (this.config.mapbox) {\n            mapboxgl.accessToken = this.config.mapbox.accessToken;\n            mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n            this._mapboxArr = this._mapboxArr || [];\n            this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n                const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n                const mapbox = new mapboxgl.Map({\n                    container: $mapbox,\n                    center: [lng, lat],\n                    zoom: zoom,\n                    minZoom: .2,\n                    style: this.isDark ? darkStyle : lightStyle,\n                    attributionControl: false,\n                });\n                if (marked) {\n                    new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n                }\n                if (navigation) {\n                    mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n                }\n                if (geolocate) {\n                    mapbox.addControl(new mapboxgl.GeolocateControl({\n                        positionOptions: {\n                            enableHighAccuracy: true,\n                        },\n                        showUserLocation: true,\n                        trackUserLocation: true,\n                    }), 'bottom-right');\n                }\n                if (scale) {\n                    mapbox.addControl(new mapboxgl.ScaleControl());\n                }\n                if (fullscreen) {\n                    mapbox.addControl(new mapboxgl.FullscreenControl());\n                }\n                mapbox.addControl(new MapboxLanguage());\n                this._mapboxArr.push(mapbox);\n            });\n            this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n                this.util.forEach(this._mapboxArr, mapbox => {\n                    const $mapbox = mapbox.getContainer();\n                    const { lightStyle, darkStyle } = this.data[$mapbox.id];\n                    mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n                    mapbox.addControl(new MapboxLanguage());\n                });\n            });\n            this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n        }\n    }\n\n    initTypeit() {\n        if (this.config.typeit) {\n            this.config.typeit.forEach(group => {\n                const typeone = (i) => {\n                    const id = group[i];\n                    if (i === group.length - 1) {\n                        new TypeIt(`#${id}`, {\n                            strings: this.data[id],\n                        }).go();\n                        return;\n                    }\n                    let instance = new TypeIt(`#${id}`, {\n                        strings: this.data[id],\n                        afterComplete: () => {\n                            instance.destroy();\n                            typeone(i + 1);\n                        },\n                    }).go();\n                };\n                typeone(0);\n            });\n        }\n    }\n\n    initComment() {\n        if (this.config.comment && this.config.comment.gitalk) {\n            this.config.comment.gitalk.body = decodeURI(window.location.href);\n            const gitalk = new Gitalk(this.config.comment.gitalk.body);\n            gitalk.render('gitalk');\n        }\n        if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);\n    }\n\n    initSmoothScroll() {\n        if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n    }\n\n    onScroll() {\n        const $headers = [];\n        if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n        if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n        if (document.getElementById('comments')) {\n            const $viewComments = document.getElementById('view-comments');\n            $viewComments.href = `#comments`;\n            $viewComments.style.display = 'block';\n        }\n        const $fixedButtons = document.getElementById('fixed-buttons');\n        const MIN_SCROLL = 20;\n        window.addEventListener('scroll', () => {\n            this.newScrollTop = this.util.getScrollTop();\n            const scroll = this.newScrollTop - this.oldScrollTop;\n            this.util.forEach($headers, $header => {\n                if (scroll > MIN_SCROLL) {\n                    $header.classList.remove('fadeInDown');\n                    this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $header.classList.remove('fadeOutUp');\n                    this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n                }\n            });\n            if (this.newScrollTop > MIN_SCROLL) {\n                if (scroll > MIN_SCROLL) {\n                    $fixedButtons.classList.remove('fadeIn');\n                    this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $fixedButtons.style.display = 'block';\n                    $fixedButtons.classList.remove('fadeOut');\n                    this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n                }\n            } else {\n                $fixedButtons.style.display = 'none';\n            }\n            for (let event of this.scrollEventSet) event();\n            this.oldScrollTop = this.newScrollTop;\n        }, false);\n    }\n\n    onResize() {\n        window.addEventListener('resize', () => {\n            if (!this._resizeTimeout) {\n                this._resizeTimeout = window.setTimeout(() => {\n                    this._resizeTimeout = null;\n                    for (let event of this.resizeEventSet) event();\n                    this.initToc();\n                    this.initMermaid();\n                    this.initSearch();\n                }, 100);\n            }\n        }, false);\n    }\n\n    onClickMask() {\n        document.getElementById('mask').addEventListener('click', () => {\n            for (let event of this.clickMaskEventSet) event();\n            document.body.classList.remove('blur');\n        }, false);\n    }\n\n    init() {\n        this.initSVGIcon();\n        this.initTwemoji();\n        this.initMenuMobile();\n        this.initSwitchTheme();\n        this.initSearch();\n        this.initDetails();\n        this.initLightGallery();\n        this.initHighlight();\n        this.initTable();\n        this.initHeaderLink();\n        this.initToc();\n        this.initComment();\n        this.initSmoothScroll();\n        this.initMath();\n        this.initMermaid();\n        this.initEcharts();\n        this.initTypeit();\n        this.initMapbox();\n\n        this.onScroll();\n        this.onResize();\n        this.onClickMask();\n    }\n}\n\nconst themeInit = () => {\n    const theme = new Theme();\n    theme.init();\n};\n\nif (document.readyState !== 'loading') {\n    themeInit();\n} else {\n    document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n    forEach(elements, handler) {\n        elements = elements || [];\n        for (let i = 0; i < elements.length; i++) handler(elements[i]);\n    }\n\n    getScrollTop() {\n        return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n    }\n\n    isMobile() {\n        return window.matchMedia('only screen and (max-width: 680px)').matches;\n    }\n\n    isTocStatic() {\n        return window.matchMedia('only screen and (max-width: 960px)').matches;\n    }\n\n    animateCSS(element, animation, reserved, callback) {\n        if (!Array.isArray(animation)) animation = [animation];\n        element.classList.add('animated', ...animation);\n        const handler = () => {\n            element.classList.remove('animated', ...animation);\n            element.removeEventListener('animationend', handler);\n            if (typeof callback === 'function') callback();\n        };\n        if (!reserved) element.addEventListener('animationend', handler, false);\n    }\n}\n\nclass Theme {\n    constructor() {\n        this.config = window.config;\n        this.data = this.config.data;\n        this.isDark = document.body.getAttribute('theme') === 'dark';\n        this.util = new Util();\n        this.newScrollTop = this.util.getScrollTop();\n        this.oldScrollTop = this.newScrollTop;\n        this.scrollEventSet = new Set();\n        this.resizeEventSet = new Set();\n        this.switchThemeEventSet = new Set();\n        this.clickMaskEventSet = new Set();\n        if (objectFitImages) objectFitImages();\n    }\n\n    initSVGIcon() {\n        this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n            fetch($icon.getAttribute('data-svg-src'))\n                .then(response => response.text())\n                .then(svg => {\n                    const $temp = document.createElement('div');\n                    $temp.insertAdjacentHTML('afterbegin', svg);\n                    const $svg = $temp.firstChild;\n                    $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n                    $svg.classList.add('icon');\n                    const $titleElements = $svg.getElementsByTagName('title');\n                    if ($titleElements.length) $svg.removeChild($titleElements[0]);\n                    $icon.parentElement.replaceChild($svg, $icon);\n                })\n                .catch(err => { console.error(err); });\n        });\n    }\n\n    initTwemoji() {\n        if (this.config.twemoji) twemoji.parse(document.body);\n    }\n\n    initMenuMobile() {\n        const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n        const $menuMobile = document.getElementById('menu-mobile');\n        $menuToggleMobile.addEventListener('click', () => {\n            document.body.classList.toggle('blur');\n            $menuToggleMobile.classList.toggle('active');\n            $menuMobile.classList.toggle('active');\n        }, false);\n        this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n            $menuToggleMobile.classList.remove('active');\n            $menuMobile.classList.remove('active');\n        });\n        this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n    }\n\n    initSwitchTheme() {\n        this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n            $themeSwitch.addEventListener('click', () => {\n                if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n                else document.body.setAttribute('theme', 'dark');\n                this.isDark = !this.isDark;\n                window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n                for (let event of this.switchThemeEventSet) event();\n            }, false);\n        });\n    }\n\n    initSearch() {\n        const searchConfig = this.config.search;\n        const isMobile = this.util.isMobile();\n        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n        if (!searchConfig.maxResultLength) searchConfig.maxResultLength = 10;\n        if (!searchConfig.snippetLength) searchConfig.snippetLength = 50;\n        if (!searchConfig.highlightTag) searchConfig.highlightTag = 'em';\n\n        const suffix = isMobile ? 'mobile' : 'desktop';\n        const $header = document.getElementById(`header-${suffix}`);\n        const $searchInput = document.getElementById(`search-input-${suffix}`);\n        const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n        const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n        const $searchClear = document.getElementById(`search-clear-${suffix}`);\n        if (isMobile) {\n            this._searchMobileOnce = true;\n            $searchInput.addEventListener('focus', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n            }, false);\n            document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n                $header.classList.remove('open');\n                document.body.classList.remove('blur');\n                document.getElementById('menu-toggle-mobile').classList.remove('active');\n                document.getElementById('menu-mobile').classList.remove('active');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n        } else {\n            this._searchDesktopOnce = true;\n            $searchToggle.addEventListener('click', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n                $searchInput.focus();\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            }, false);\n            this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n        }\n        $searchInput.addEventListener('input', () => {\n            if ($searchInput.value === '') $searchClear.style.display = 'none';\n            else $searchClear.style.display = 'inline';\n        }, false);\n\n        const initAutosearch = () => {\n            const autosearch = autocomplete(`#search-input-${suffix}`, {\n                hint: false,\n                autoselect: true,\n                dropdownMenuContainer: `#search-dropdown-${suffix}`,\n                clearOnSelected: true,\n                cssClasses: { noPrefix: true },\n                debug: true,\n            }, {\n                name: 'search',\n                source: (query, callback) => {\n                    $searchLoading.style.display = 'inline';\n                    $searchClear.style.display = 'none';\n                    const finish = (results) => {\n                        $searchLoading.style.display = 'none';\n                        $searchClear.style.display = 'inline';\n                        callback(results);\n                    };\n                    if (searchConfig.type === 'lunr') {\n                        const search = () => {\n                            if (lunr.queryHandler) query = lunr.queryHandler(query);\n                            const results = {};\n                            this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n                                const matchData = this._indexData[ref];\n                                let { uri, title, content: context } = matchData;\n                                if (results[uri]) return;\n                                let position = 0;\n                                Object.values(metadata).forEach(({ content }) => {\n                                    if (content) {\n                                        const matchPosition = content.position[0][0];\n                                        if (matchPosition < position || position === 0) position = matchPosition;\n                                    }\n                                });\n                                position -= searchConfig.snippetLength / 5;\n                                if (position > 0) {\n                                    position += context.substr(position, 20).lastIndexOf(' ') + 1;\n                                    context = '...' + context.substr(position, searchConfig.snippetLength);\n                                } else {\n                                    context = context.substr(0, searchConfig.snippetLength);\n                                }\n                                Object.keys(metadata).forEach(key => {\n                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);\n                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);\n                                });\n                                results[uri] = {\n                                    'uri': uri,\n                                    'title' : title,\n                                    'date' : matchData.date,\n                                    'context' : context,\n                                };\n                            });\n                            return Object.values(results).slice(0, searchConfig.maxResultLength);\n                        }\n                        if (!this._index) {\n                            fetch(searchConfig.lunrIndexURL)\n                                .then(response => response.json())\n                                .then(data => {\n                                    const indexData = {};\n                                    this._index = lunr(function () {\n                                        if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n                                        this.ref('objectID');\n                                        this.field('title', { boost: 50 });\n                                        this.field('tags', { boost: 20 });\n                                        this.field('categories', { boost: 20 });\n                                        this.field('content', { boost: 10 });\n                                        this.metadataWhitelist = ['position'];\n                                        data.forEach((record) => {\n                                            indexData[record.objectID] = record;\n                                            this.add(record);\n                                        });\n                                    });\n                                    this._indexData = indexData;\n                                    finish(search());\n                                }).catch(err => {\n                                    console.error(err);\n                                    finish([]);\n                                });\n                        } else finish(search());\n                    } else if (searchConfig.type === 'algolia') {\n                        this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n                        this._algoliaIndex\n                            .search(query, {\n                                offset: 0,\n                                length: searchConfig.maxResultLength * 8,\n                                attributesToHighlight: ['title'],\n                                attributesToSnippet: [`content:${searchConfig.snippetLength}`],\n                                highlightPreTag: `<${searchConfig.highlightTag}>`,\n                                highlightPostTag: `</${searchConfig.highlightTag}>`,\n                            })\n                            .then(({ hits }) => {\n                                const results = {};\n                                hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n                                    if (results[uri] && results[uri].context.length > content.value) return;\n                                    results[uri] = {\n                                        uri: uri,\n                                        title: title.value,\n                                        date: date,\n                                        context: content.value,\n                                    };\n                                });\n                                finish(Object.values(results).slice(0, searchConfig.maxResultLength));\n                            })\n                            .catch(err => {\n                                console.error(err);\n                                finish([]);\n                            });\n                    }\n                },\n                templates: {\n                    suggestion: ({ title, date, context }) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n                    empty: ({ query }) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n                    footer: ({}) => {\n                        const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n                            searchType: 'algolia',\n                            icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n                            href: 'https://www.algolia.com/',\n                        } : {\n                            searchType: 'Lunr.js',\n                            icon: '',\n                            href: 'https://lunrjs.com/',\n                        };\n                        return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;},\n                },\n            });\n            autosearch.on('autocomplete:selected', (event, suggestion, dataset, context) => {\n                window.location.assign(suggestion.uri);\n            });\n            if (isMobile) this._searchMobile = autosearch;\n            else this._searchDesktop = autosearch;\n        };\n        if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n            const script = document.createElement('script');\n            script.id = 'lunr-segmentit';\n            script.type = 'text/javascript';\n            script.src = searchConfig.lunrSegmentitURL;\n            script.async = true;\n            if (script.readyState) {\n                script.onreadystatechange = () => {\n                    if (script.readyState == 'loaded' || script.readyState == 'complete'){\n                        script.onreadystatechange = null;\n                        initAutosearch();\n                    }\n                };\n            } else {\n                script.onload = () => {\n                    initAutosearch();\n                };\n            }\n            document.body.appendChild(script);\n        } else initAutosearch();\n    }\n\n    initDetails() {\n        this.util.forEach(document.getElementsByClassName('details'), $details => {\n            const $summary = $details.getElementsByClassName('details-summary')[0];\n            $summary.addEventListener('click', () => {\n                $details.classList.toggle('open');\n            }, false);\n        });\n    }\n\n    initLightGallery() {\n        if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n    }\n\n    initHighlight() {\n        this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n            const $chroma = document.createElement('div');\n            $chroma.className = $preChroma.className;\n            const $table = document.createElement('table');\n            $chroma.appendChild($table);\n            const $tbody = document.createElement('tbody');\n            $table.appendChild($tbody);\n            const $tr = document.createElement('tr');\n            $tbody.appendChild($tr);\n            const $td = document.createElement('td');\n            $tr.appendChild($td);\n            $preChroma.parentElement.replaceChild($chroma, $preChroma);\n            $td.appendChild($preChroma);\n        });\n        this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n            const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n            if ($codeElements.length) {\n                const $code = $codeElements[$codeElements.length - 1];\n                const $header = document.createElement('div');\n                $header.className = 'code-header ' + $code.className.toLowerCase();\n                const $title = document.createElement('span');\n                $title.classList.add('code-title');\n                $title.insertAdjacentHTML('afterbegin', '<i class=\"arrow fas fa-chevron-right fa-fw\"></i>');\n                $title.addEventListener('click', () => {\n                    $chroma.classList.toggle('open');\n                }, false);\n                $header.appendChild($title);\n                const $ellipses = document.createElement('span');\n                $ellipses.insertAdjacentHTML('afterbegin', '<i class=\"fas fa-ellipsis-h fa-fw\"></i>');\n                $ellipses.classList.add('ellipses');\n                $ellipses.addEventListener('click', () => {\n                    $chroma.classList.add('open');\n                }, false);\n                $header.appendChild($ellipses);\n                const $copy = document.createElement('span');\n                $copy.insertAdjacentHTML('afterbegin', '<i class=\"far fa-copy fa-fw\"></i>');\n                $copy.classList.add('copy');\n                const code = $code.innerText;\n                if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n                if (this.config.code.copyTitle) {\n                    $copy.setAttribute('data-clipboard-text', code);\n                    $copy.title = this.config.code.copyTitle;\n                    const clipboard = new ClipboardJS($copy);\n                    clipboard.on('success', e => {\n                        this.util.animateCSS($code, 'flash');\n                    });\n                    $header.appendChild($copy);\n                }\n                $chroma.insertBefore($header, $chroma.firstChild);\n            }\n        });\n    }\n\n    initTable() {\n        this.util.forEach(document.querySelectorAll('.content table'), $table => {\n            const $wrapper = document.createElement('div');\n            $wrapper.className = 'table-wrapper';\n            $table.parentElement.replaceChild($wrapper, $table);\n            $wrapper.appendChild($table);\n        });\n    }\n\n    initHeaderLink() {\n        for (let num = 1; num <= 6; num++) {\n            this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n                $header.classList.add('headerLink');\n                $header.insertAdjacentHTML('afterbegin', `<a href=\"#${$header.id}\" class=\"header-mark\"></a>`);\n            });\n        }\n    }\n\n    initToc() {\n        const $tocCore = document.getElementById('TableOfContents');\n        if ($tocCore === null) return;\n        if (this.util.isTocStatic()) {\n            const $tocContentStatic = document.getElementById('toc-content-static');\n            if ($tocCore.parentElement !== $tocContentStatic) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentStatic.appendChild($tocCore);\n            }\n            if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n        } else {\n            const $tocContentAuto = document.getElementById('toc-content-auto');\n            if ($tocCore.parentElement !== $tocContentAuto) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentAuto.appendChild($tocCore);\n            }\n            const $toc = document.getElementById('toc-auto');\n            const $page = document.getElementsByClassName('page')[0];\n            const rect = $page.getBoundingClientRect();\n            $toc.style.left = `${rect.left + rect.width + 20}px`;\n            $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n            $toc.style.visibility = 'visible';\n            const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n            const $tocLiElements = $tocCore.getElementsByTagName('li');\n            const $headerLinkElements = document.getElementsByClassName('headerLink');\n            const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n            const headerHeight = document.getElementById('header-desktop').offsetHeight;\n            const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n            const minTocTop = $toc.offsetTop;\n            const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n            this._tocOnScroll = this._tocOnScroll || (() => {\n                const footerTop = document.getElementById('post-footer').offsetTop;\n                const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n                const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n                if (this.newScrollTop < minScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${minTocTop}px`;\n                } else if (this.newScrollTop > maxScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${maxTocTop}px`;\n                } else {\n                    $toc.style.position = 'fixed';\n                    $toc.style.top = `${TOP_SPACING}px`;\n                }\n\n                this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n                this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n                const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n                let activeTocIndex = $headerLinkElements.length - 1;\n                for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n                    const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n                    const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n                    if ((i == 0 && thisTop > INDEX_SPACING)\n                     || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n                        activeTocIndex = i;\n                        break;\n                    }\n                }\n                if (activeTocIndex !== -1) {\n                    $tocLinkElements[activeTocIndex].classList.add('active');\n                    let $parent = $tocLinkElements[activeTocIndex].parentElement;\n                    while ($parent !== $tocCore) {\n                        $parent.classList.add('has-active');\n                        $parent = $parent.parentElement.parentElement;\n                    }\n                }\n            });\n            this._tocOnScroll();\n            this.scrollEventSet.add(this._tocOnScroll);\n        }\n    }\n\n    initMath() {\n        if (this.config.math) renderMathInElement(document.body, this.config.math);\n    }\n\n    initMermaid() {\n        const $mermaidElements = document.getElementsByClassName('mermaid');\n        if ($mermaidElements.length) {\n            mermaid.initialize({startOnLoad: false, theme: 'null'});\n            this.util.forEach($mermaidElements, $mermaid => {\n                mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n                    $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n                }, $mermaid);\n            });\n        }\n    }\n\n    initEcharts() {\n        this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n            this._echartsArr = this._echartsArr || [];\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].dispose();\n            }\n            this._echartsArr = [];\n            this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n                const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n                chart.setOption(JSON.parse(this.data[$echarts.id]));\n                this._echartsArr.push(chart);\n            });\n        });\n        this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n        this._echartsOnSwitchTheme();\n        this._echartsOnResize = this._echartsOnResize || (() => {\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].resize();\n            }\n        });\n        this.resizeEventSet.add(this._echartsOnResize);\n    }\n\n    initMapbox() {\n        if (this.config.mapbox) {\n            mapboxgl.accessToken = this.config.mapbox.accessToken;\n            mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n            this._mapboxArr = this._mapboxArr || [];\n            this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n                const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n                const mapbox = new mapboxgl.Map({\n                    container: $mapbox,\n                    center: [lng, lat],\n                    zoom: zoom,\n                    minZoom: .2,\n                    style: this.isDark ? darkStyle : lightStyle,\n                    attributionControl: false,\n                });\n                if (marked) {\n                    new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n                }\n                if (navigation) {\n                    mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n                }\n                if (geolocate) {\n                    mapbox.addControl(new mapboxgl.GeolocateControl({\n                        positionOptions: {\n                            enableHighAccuracy: true,\n                        },\n                        showUserLocation: true,\n                        trackUserLocation: true,\n                    }), 'bottom-right');\n                }\n                if (scale) {\n                    mapbox.addControl(new mapboxgl.ScaleControl());\n                }\n                if (fullscreen) {\n                    mapbox.addControl(new mapboxgl.FullscreenControl());\n                }\n                mapbox.addControl(new MapboxLanguage());\n                this._mapboxArr.push(mapbox);\n            });\n            this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n                this.util.forEach(this._mapboxArr, mapbox => {\n                    const $mapbox = mapbox.getContainer();\n                    const { lightStyle, darkStyle } = this.data[$mapbox.id];\n                    mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n                    mapbox.addControl(new MapboxLanguage());\n                });\n            });\n            this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n        }\n    }\n\n    initTypeit() {\n        if (this.config.typeit) {\n            this.config.typeit.forEach(group => {\n                const typeone = (i) => {\n                    const id = group[i];\n                    if (i === group.length - 1) {\n                        new TypeIt(`#${id}`, {\n                            strings: this.data[id],\n                        }).go();\n                        return;\n                    }\n                    let instance = new TypeIt(`#${id}`, {\n                        strings: this.data[id],\n                        afterComplete: () => {\n                            instance.destroy();\n                            typeone(i + 1);\n                        },\n                    }).go();\n                };\n                typeone(0);\n            });\n        }\n    }\n\n    initComment() {\n        if (this.config.comment && this.config.comment.gitalk) {\n            this.config.comment.gitalk.body = decodeURI(window.location.href);\n            const gitalk = new Gitalk(this.config.comment.gitalk.body);\n            gitalk.render('gitalk');\n        }\n        if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);\n    }\n\n    initSmoothScroll() {\n        if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n    }\n\n    onScroll() {\n        const $headers = [];\n        if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n        if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n        if (document.getElementById('comments')) {\n            const $viewComments = document.getElementById('view-comments');\n            $viewComments.href = `#comments`;\n            $viewComments.style.display = 'block';\n        }\n        const $fixedButtons = document.getElementById('fixed-buttons');\n        const MIN_SCROLL = 20;\n        window.addEventListener('scroll', () => {\n            this.newScrollTop = this.util.getScrollTop();\n            const scroll = this.newScrollTop - this.oldScrollTop;\n            this.util.forEach($headers, $header => {\n                if (scroll > MIN_SCROLL) {\n                    $header.classList.remove('fadeInDown');\n                    this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $header.classList.remove('fadeOutUp');\n                    this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n                }\n            });\n            if (this.newScrollTop > MIN_SCROLL) {\n                if (scroll > MIN_SCROLL) {\n                    $fixedButtons.classList.remove('fadeIn');\n                    this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $fixedButtons.style.display = 'block';\n                    $fixedButtons.classList.remove('fadeOut');\n                    this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n                }\n            } else {\n                $fixedButtons.style.display = 'none';\n            }\n            for (let event of this.scrollEventSet) event();\n            this.oldScrollTop = this.newScrollTop;\n        }, false);\n    }\n\n    onResize() {\n        window.addEventListener('resize', () => {\n            if (!this._resizeTimeout) {\n                this._resizeTimeout = window.setTimeout(() => {\n                    this._resizeTimeout = null;\n                    for (let event of this.resizeEventSet) event();\n                    this.initToc();\n                    this.initMermaid();\n                    this.initSearch();\n                }, 100);\n            }\n        }, false);\n    }\n\n    onClickMask() {\n        document.getElementById('mask').addEventListener('click', () => {\n            for (let event of this.clickMaskEventSet) event();\n            document.body.classList.remove('blur');\n        }, false);\n    }\n\n    init() {\n        this.initSVGIcon();\n        this.initTwemoji();\n        this.initMenuMobile();\n        this.initSwitchTheme();\n        this.initSearch();\n        this.initDetails();\n        this.initLightGallery();\n        this.initHighlight();\n        this.initTable();\n        this.initHeaderLink();\n        this.initToc();\n        this.initComment();\n        this.initSmoothScroll();\n        this.initMath();\n        this.initMermaid();\n        this.initEcharts();\n        this.initTypeit();\n        this.initMapbox();\n\n        this.onScroll();\n        this.onResize();\n        this.onClickMask();\n    }\n}\n\nconst themeInit = () => {\n    const theme = new Theme();\n    theme.init();\n};\n\nif (document.readyState !== 'loading') {\n    themeInit();\n} else {\n    document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]}
\ No newline at end of file
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 0bcf4342..b08da4a4 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -10,7 +10,7 @@
 {{- end -}}
 
 {{- $params := .Params | merge .Site.Params.page -}}
-{{- .Scratch.Set "version" "0.2.4" -}}
+{{- .Scratch.Set "version" "0.2.5" -}}
 
 {{- if eq hugo.Environment "production" -}}
     {{- .Scratch.Set "cdn" .Site.Params.cdn -}}
diff --git a/src/js/theme.js b/src/js/theme.js
index 0f25881d..8459a05d 100644
--- a/src/js/theme.js
+++ b/src/js/theme.js
@@ -94,17 +94,19 @@ class Theme {
 
     initSearch() {
         const searchConfig = this.config.search;
+        const isMobile = this.util.isMobile();
+        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;
+
         if (!searchConfig.maxResultLength) searchConfig.maxResultLength = 10;
         if (!searchConfig.snippetLength) searchConfig.snippetLength = 50;
         if (!searchConfig.highlightTag) searchConfig.highlightTag = 'em';
-        const isMobile = this.util.isMobile();
-        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;
-        const classSuffix = isMobile ? 'mobile' : 'desktop';
-        const $header = document.getElementById(`header-${classSuffix}`);
-        const $searchInput = document.getElementById(`search-input-${classSuffix}`);
-        const $searchToggle = document.getElementById(`search-toggle-${classSuffix}`);
-        const $searchLoading = document.getElementById(`search-loading-${classSuffix}`);
-        const $searchClear = document.getElementById(`search-clear-${classSuffix}`);
+
+        const suffix = isMobile ? 'mobile' : 'desktop';
+        const $header = document.getElementById(`header-${suffix}`);
+        const $searchInput = document.getElementById(`search-input-${suffix}`);
+        const $searchToggle = document.getElementById(`search-toggle-${suffix}`);
+        const $searchLoading = document.getElementById(`search-loading-${suffix}`);
+        const $searchClear = document.getElementById(`search-clear-${suffix}`);
         if (isMobile) {
             this._searchMobileOnce = true;
             $searchInput.addEventListener('focus', () => {
@@ -156,10 +158,10 @@ class Theme {
         }, false);
 
         const initAutosearch = () => {
-            const autosearch = autocomplete(`#search-input-${classSuffix}`, {
+            const autosearch = autocomplete(`#search-input-${suffix}`, {
                 hint: false,
                 autoselect: true,
-                dropdownMenuContainer: `#search-dropdown-${classSuffix}`,
+                dropdownMenuContainer: `#search-dropdown-${suffix}`,
                 clearOnSelected: true,
                 cssClasses: { noPrefix: true },
                 debug: true,
diff --git a/theme.toml b/theme.toml
index 2a6d23eb..69ba85b6 100644
--- a/theme.toml
+++ b/theme.toml
@@ -5,7 +5,7 @@ name = "LoveIt"
 license = "MIT"
 licenselink = "https://github.com/dillonzq/LoveIt/blob/master/LICENSE"
 description = "A Clean, Elegant but Advanced Hugo Theme for Hugo."
-homepage = "https://hugo-loveit-en.netlify.com"
+homepage = "https://hugoloveit.com"
 tags = [
   "blog",
   "clean",

From 8c706548c7e0e02921262de71024a434ed670bf8 Mon Sep 17 00:00:00 2001
From: Dave A-W <DaveA-W@users.noreply.github.com>
Date: Sun, 3 May 2020 11:15:42 +0800
Subject: [PATCH 02/11] feat(header): support header title typeit (#306)

---
 exampleSite/config.toml                              |  3 +++
 .../content/posts/theme-documentation-basics.en.md   |  2 ++
 .../content/posts/theme-documentation-basics.fr.md   |  2 ++
 .../posts/theme-documentation-basics.zh-cn.md        |  2 ++
 layouts/partials/header.html                         | 12 ++++++++++++
 5 files changed, 21 insertions(+)

diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 9cb66a1a..6767b9e5 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -655,6 +655,9 @@ enableEmoji = true
       # you can add extra information after the name (HTML format is supported), such as icons
       # 你可以在名称 (允许 HTML 格式) 之后添加其他信息, 例如图标
       post = ""
+      # whether to use typeit animation for title name
+      # 是否为副标题显示打字机动画
+      typeit = false
 
   # Footer config
   # 页面底部信息配置
diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md
index 86f7deb6..f35f8d9a 100644
--- a/exampleSite/content/posts/theme-documentation-basics.en.md
+++ b/exampleSite/content/posts/theme-documentation-basics.en.md
@@ -254,6 +254,8 @@ Please open the code block below to view the complete sample configuration :(far
       pre = ""
       # you can add extra information after the name (HTML format is supported), such as icons
       post = ""
+      # whether to use typeit animation for title name
+      typeit = false
 
   # Footer config
   [params.footer]
diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md
index 57494067..7be52459 100644
--- a/exampleSite/content/posts/theme-documentation-basics.fr.md
+++ b/exampleSite/content/posts/theme-documentation-basics.fr.md
@@ -259,6 +259,8 @@ Please open the code block below to view the complete sample configuration :(far
       pre = ""
       # you can add extra information after the name (HTML format is supported), such as icons
       post = ""
+      # whether to use typeit animation for title name
+      typeit = false
 
   # Footer config
   [params.footer]
diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
index a280d9df..54ed1a42 100644
--- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
+++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
@@ -257,6 +257,8 @@ hugo
       pre = ""
       # 你可以在名称 (允许 HTML 格式) 之后添加其他信息, 例如图标
       post = ""
+      # 是否为副标题显示打字机动画
+      typeit = false
 
   # 页面底部信息配置
   [params.footer]
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 7cd6c3e1..51a97c6c 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -10,7 +10,13 @@
                     {{- with .pre -}}
                         <span class="header-title-pre">{{ . | safeHTML }}</span>
                     {{- end -}}
+                    {{- if .typeit -}}
+                        {{- $id := dict "content" .name "scratch" $.Scratch | partial "function/id.html" -}}
+                        <span id="{{ $id }}" class="typeit"></span>
+                        {{- dict $id (slice $id) | dict "typeitMap" | merge ($.Scratch.Get "this") | $.Scratch.Set "this" -}}
+                    {{- else -}}
                     {{- .name -}}
+                    {{- end -}}
                     {{- with .post -}}
                         <span class="header-title-post">{{ . | safeHTML }}</span>
                     {{- end -}}
@@ -88,7 +94,13 @@
                         {{- with .pre -}}
                             <span class="header-title-pre">{{ . | safeHTML }}</span>
                         {{- end -}}
+                        {{- if .typeit -}}
+                            {{- $id := dict "content" .name "scratch" $.Scratch | partial "function/id.html" -}}
+                            <span id="{{ $id }}" class="typeit"></span>
+                            {{- dict $id (slice $id) | dict "typeitMap" | merge ($.Scratch.Get "this") | $.Scratch.Set "this" -}}
+                        {{- else -}}
                         {{- .name -}}
+                        {{- end -}}
                         {{- with .post -}}
                             <span class="header-title-post">{{ . | safeHTML }}</span>
                         {{- end -}}

From e4c71edddf1b22fa2cff897fb5f8a833106fcc82 Mon Sep 17 00:00:00 2001
From: Dillon <dillonzq@outlook.com>
Date: Mon, 4 May 2020 13:20:01 +0800
Subject: [PATCH 03/11] feat(typeit): add some config for TypeIt (#314)

---
 assets/css/_core/_layout.scss                 |  5 +-
 assets/css/_partial/_footer.scss              |  4 +-
 assets/js/theme.min.js                        |  2 +-
 assets/js/theme.min.js.map                    |  2 +-
 assets/lib/VERSION                            |  2 +-
 assets/lib/typeit/typeit.min.js               |  6 +-
 exampleSite/config.toml                       | 20 ++++++-
 .../posts/theme-documentation-basics.en.md    | 18 +++++-
 .../posts/theme-documentation-basics.fr.md    | 18 +++++-
 .../posts/theme-documentation-basics.zh-cn.md | 20 +++++--
 layouts/partials/assets.html                  | 36 +++++-------
 layouts/partials/header.html                  |  4 +-
 ...s_788c4a23da05f3aa3e03b28055a2e5f9.content |  2 +-
 ...s_84a735b886b24531b6e80c5fb2060510.content |  2 +-
 ...s_d40178ffcb058d725849178b0a7a43cc.content |  2 +-
 src/js/theme.js                               | 57 +++++++++++--------
 16 files changed, 126 insertions(+), 74 deletions(-)

diff --git a/assets/css/_core/_layout.scss b/assets/css/_core/_layout.scss
index d2e92f76..154f3a6b 100644
--- a/assets/css/_core/_layout.scss
+++ b/assets/css/_core/_layout.scss
@@ -2,15 +2,14 @@
 .wrapper {
   display: flex;
   flex-direction: column;
-  min-height: 97.5vh;
+  min-height: 100vh;
   width: 100%;
 
   main {
     flex: 1 0 auto;
 
     .container {
-      padding-left: 1rem;
-      padding-right: 1rem;
+      padding: 0 1rem;
     }
   }
 }
diff --git a/assets/css/_partial/_footer.scss b/assets/css/_partial/_footer.scss
index 29d783c8..21a89e8c 100644
--- a/assets/css/_partial/_footer.scss
+++ b/assets/css/_partial/_footer.scss
@@ -2,8 +2,8 @@ footer {
   height: 2rem;
   width: 100%;
   text-align: center;
-  line-height: 1.5rem;
-  padding-top: 2rem;
+  line-height: 1.25rem;
+  padding: 1rem 0;
 
   .footer-container {
     font-size: .875rem;
diff --git a/assets/js/theme.min.js b/assets/js/theme.min.js
index d9383f5f..dd88714e 100644
--- a/assets/js/theme.min.js
+++ b/assets/js/theme.min.js
@@ -1,3 +1,3 @@
-"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search,c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){b.maxResultLength||(b.maxResultLength=10),b.snippetLength||(b.snippetLength=50),b.highlightTag||(b.highlightTag="em");var d=c?"mobile":"desktop",e=document.getElementById("header-".concat(d)),f=document.getElementById("search-input-".concat(d)),g=document.getElementById("search-toggle-".concat(d)),h=document.getElementById("search-loading-".concat(d)),i=document.getElementById("search-clear-".concat(d));c?(this._searchMobileOnce=!0,f.addEventListener("focus",function(){document.body.classList.add("blur"),e.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){e.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),h.style.display="none",i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),i.addEventListener("click",function(){i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){e.classList.remove("open"),h.style.display="none",i.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,g.addEventListener("click",function(){document.body.classList.add("blur"),e.classList.add("open"),f.focus()},!1),i.addEventListener("click",function(){i.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){e.classList.remove("open"),h.style.display="none",i.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),f.addEventListener("input",function(){i.style.display=""===f.value?"none":"inline"},!1);var j=function(){var e=autocomplete("#search-input-".concat(d),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(d),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,d){h.style.display="inline",i.style.display="none";var e=function(a){h.style.display="none",i.style.display="inline",d(a)};if("lunr"===b.type){var f=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var d={};return a._index.search(c).forEach(function(c){var e=c.ref,f=c.matchData.metadata,g=a._indexData[e],h=g.uri,i=g.title,j=g.content;if(!d[h]){var k=0;Object.values(f).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<k||0===k)&&(k=c)}}),k-=b.snippetLength/5,0<k?(k+=j.substr(k,20).lastIndexOf(" ")+1,j="..."+j.substr(k,b.snippetLength)):j=j.substr(0,b.snippetLength),Object.keys(f).forEach(function(a){i=i.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(b.highlightTag,">$1</").concat(b.highlightTag,">")),j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(b.highlightTag,">$1</").concat(b.highlightTag,">"))}),d[h]={uri:h,title:i,date:g.date,context:j}}}),Object.values(d).slice(0,b.maxResultLength)};a._index?e(f()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,e(f())}).catch(function(a){console.error(a),e([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*b.maxResultLength,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(b.snippetLength)],highlightPreTag:"<".concat(b.highlightTag,">"),highlightPostTag:"</".concat(b.highlightTag,">")}).then(function(a){var c=a.hits,d={};c.forEach(function(a){var b=a.uri,c=a.date,e=a._highlightResult.title,f=a._snippetResult.content;d[b]&&d[b].context.length>f.value||(d[b]={uri:b,title:e.value,date:c,context:f.value})}),e(Object.values(d).slice(0,b.maxResultLength))}).catch(function(a){console.error(a),e([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});e.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=e:a._searchDesktop=e};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var k=document.createElement("script");k.id="lunr-segmentit",k.type="text/javascript",k.src=b.lunrSegmentitURL,k.async=!0,k.readyState?k.onreadystatechange=function(){("loaded"==k.readyState||"complete"==k.readyState)&&(k.onreadystatechange=null,j())}:k.onload=function(){j()},document.body.appendChild(k)}else j()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin","<i class=\"arrow fas fa-chevron-right fa-fw\"></i>"),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin","<i class=\"fas fa-ellipsis-h fa-fw\"></i>"),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin","<i class=\"far fa-copy fa-fw\"></i>"),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length<a.config.code.maxShownLines+2)&&b.classList.add("open"),a.config.code.copyTitle){h.setAttribute("data-clipboard-text",i),h.title=a.config.code.copyTitle;var j=new ClipboardJS(h);j.on("success",function(){a.util.animateCSS(d,"flash")}),e.appendChild(h)}b.insertBefore(e,b.firstChild)}})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin","<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initTypeit",value:function initTypeit(){var a=this;this.config.typeit&&this.config.typeit.forEach(function(b){var c=function(d){var e=b[d];if(d===b.length-1)return void new TypeIt("#".concat(e),{strings:a.data[e]}).go();var f=new TypeIt("#".concat(e),{strings:a.data[e],afterComplete:function afterComplete(){f.destroy(),c(d+1)}}).go()};c(0)})}},{key:"initComment",value:function initComment(){if(this.config.comment&&this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var a=new Gitalk(this.config.comment.gitalk.body);a.render("gitalk")}this.config.comment&&this.config.comment.valine&&new Valine(this.config.comment.valine)}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===this.config.headerMode.desktop&&b.push(document.getElementById("header-desktop")),"auto"===this.config.headerMode.mobile&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
+"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search,c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){var d=b.maxResultLength?b.maxResultLength:10,e=b.snippetLength?b.snippetLength:50,f=b.highlightTag?b.highlightTag:"em",g=c?"mobile":"desktop",h=document.getElementById("header-".concat(g)),i=document.getElementById("search-input-".concat(g)),j=document.getElementById("search-toggle-".concat(g)),k=document.getElementById("search-loading-".concat(g)),l=document.getElementById("search-clear-".concat(g));c?(this._searchMobileOnce=!0,i.addEventListener("focus",function(){document.body.classList.add("blur"),h.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){h.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),l.addEventListener("click",function(){l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,j.addEventListener("click",function(){document.body.classList.add("blur"),h.classList.add("open"),i.focus()},!1),l.addEventListener("click",function(){l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),i.addEventListener("input",function(){l.style.display=""===i.value?"none":"inline"},!1);var m=function(){var h=autocomplete("#search-input-".concat(g),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(g),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,g){k.style.display="inline",l.style.display="none";var h=function(a){k.style.display="none",l.style.display="inline",g(a)};if("lunr"===b.type){var i=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var b={};return a._index.search(c).forEach(function(c){var d=c.ref,g=c.matchData.metadata,h=a._indexData[d],i=h.uri,j=h.title,k=h.content;if(!b[i]){var l=0;Object.values(g).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<l||0===l)&&(l=c)}}),l-=e/5,0<l?(l+=k.substr(l,20).lastIndexOf(" ")+1,k="..."+k.substr(l,e)):k=k.substr(0,e),Object.keys(g).forEach(function(a){j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">")),k=k.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">"))}),b[i]={uri:i,title:j,date:h.date,context:k}}}),Object.values(b).slice(0,d)};a._index?h(i()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,h(i())}).catch(function(a){console.error(a),h([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*d,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(e)],highlightPreTag:"<".concat(f,">"),highlightPostTag:"</".concat(f,">")}).then(function(a){var b=a.hits,c={};b.forEach(function(a){var b=a.uri,d=a.date,e=a._highlightResult.title,f=a._snippetResult.content;c[b]&&c[b].context.length>f.value||(c[b]={uri:b,title:e.value,date:d,context:f.value})}),h(Object.values(c).slice(0,d))}).catch(function(a){console.error(a),h([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});h.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=h:a._searchDesktop=h};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var n=document.createElement("script");n.id="lunr-segmentit",n.type="text/javascript",n.src=b.lunrSegmentitURL,n.async=!0,n.readyState?n.onreadystatechange=function(){("loaded"==n.readyState||"complete"==n.readyState)&&(n.onreadystatechange=null,m())}:n.onload=function(){m()},document.body.appendChild(n)}else m()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin","<i class=\"arrow fas fa-chevron-right fa-fw\"></i>"),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin","<i class=\"fas fa-ellipsis-h fa-fw\"></i>"),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin","<i class=\"far fa-copy fa-fw\"></i>"),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length<a.config.code.maxShownLines+2)&&b.classList.add("open"),a.config.code.copyTitle){h.setAttribute("data-clipboard-text",i),h.title=a.config.code.copyTitle;var j=new ClipboardJS(h);j.on("success",function(){a.util.animateCSS(d,"flash")}),e.appendChild(h)}b.insertBefore(e,b.firstChild)}})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin","<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initTypeit",value:function initTypeit(){var a=this;if(this.config.typeit){var b=this.config.typeit,c=b.speed?b.speed:100,d=b.cursorSpeed?b.cursorSpeed:1e3,e=b.cursorChar?b.cursorChar:"|";Object.values(b.data).forEach(function(f){var g=function(h){var i=f[h],j=new TypeIt("#".concat(i),{strings:a.data[i],speed:c,lifeLike:!0,cursorSpeed:d,cursorChar:e,waitUntilVisible:!0,afterComplete:function afterComplete(){return h===f.length-1?void(0<=b.duration&&window.setTimeout(function(){j.destroy()},b.duration)):void(j.destroy(),g(h+1))}}).go()};g(0)})}}},{key:"initComment",value:function initComment(){if(this.config.comment&&this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var a=new Gitalk(this.config.comment.gitalk.body);a.render("gitalk")}this.config.comment&&this.config.comment.valine&&new Valine(this.config.comment.valine)}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===this.config.headerMode.desktop&&b.push(document.getElementById("header-desktop")),"auto"===this.config.headerMode.mobile&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
 
 //# sourceMappingURL=theme.min.js.map
\ No newline at end of file
diff --git a/assets/js/theme.min.js.map b/assets/js/theme.min.js.map
index 31abb27f..72865060 100644
--- a/assets/js/theme.min.js.map
+++ b/assets/js/theme.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n    forEach(elements, handler) {\n        elements = elements || [];\n        for (let i = 0; i < elements.length; i++) handler(elements[i]);\n    }\n\n    getScrollTop() {\n        return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n    }\n\n    isMobile() {\n        return window.matchMedia('only screen and (max-width: 680px)').matches;\n    }\n\n    isTocStatic() {\n        return window.matchMedia('only screen and (max-width: 960px)').matches;\n    }\n\n    animateCSS(element, animation, reserved, callback) {\n        if (!Array.isArray(animation)) animation = [animation];\n        element.classList.add('animated', ...animation);\n        const handler = () => {\n            element.classList.remove('animated', ...animation);\n            element.removeEventListener('animationend', handler);\n            if (typeof callback === 'function') callback();\n        };\n        if (!reserved) element.addEventListener('animationend', handler, false);\n    }\n}\n\nclass Theme {\n    constructor() {\n        this.config = window.config;\n        this.data = this.config.data;\n        this.isDark = document.body.getAttribute('theme') === 'dark';\n        this.util = new Util();\n        this.newScrollTop = this.util.getScrollTop();\n        this.oldScrollTop = this.newScrollTop;\n        this.scrollEventSet = new Set();\n        this.resizeEventSet = new Set();\n        this.switchThemeEventSet = new Set();\n        this.clickMaskEventSet = new Set();\n        if (objectFitImages) objectFitImages();\n    }\n\n    initSVGIcon() {\n        this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n            fetch($icon.getAttribute('data-svg-src'))\n                .then(response => response.text())\n                .then(svg => {\n                    const $temp = document.createElement('div');\n                    $temp.insertAdjacentHTML('afterbegin', svg);\n                    const $svg = $temp.firstChild;\n                    $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n                    $svg.classList.add('icon');\n                    const $titleElements = $svg.getElementsByTagName('title');\n                    if ($titleElements.length) $svg.removeChild($titleElements[0]);\n                    $icon.parentElement.replaceChild($svg, $icon);\n                })\n                .catch(err => { console.error(err); });\n        });\n    }\n\n    initTwemoji() {\n        if (this.config.twemoji) twemoji.parse(document.body);\n    }\n\n    initMenuMobile() {\n        const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n        const $menuMobile = document.getElementById('menu-mobile');\n        $menuToggleMobile.addEventListener('click', () => {\n            document.body.classList.toggle('blur');\n            $menuToggleMobile.classList.toggle('active');\n            $menuMobile.classList.toggle('active');\n        }, false);\n        this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n            $menuToggleMobile.classList.remove('active');\n            $menuMobile.classList.remove('active');\n        });\n        this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n    }\n\n    initSwitchTheme() {\n        this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n            $themeSwitch.addEventListener('click', () => {\n                if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n                else document.body.setAttribute('theme', 'dark');\n                this.isDark = !this.isDark;\n                window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n                for (let event of this.switchThemeEventSet) event();\n            }, false);\n        });\n    }\n\n    initSearch() {\n        const searchConfig = this.config.search;\n        const isMobile = this.util.isMobile();\n        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n        if (!searchConfig.maxResultLength) searchConfig.maxResultLength = 10;\n        if (!searchConfig.snippetLength) searchConfig.snippetLength = 50;\n        if (!searchConfig.highlightTag) searchConfig.highlightTag = 'em';\n\n        const suffix = isMobile ? 'mobile' : 'desktop';\n        const $header = document.getElementById(`header-${suffix}`);\n        const $searchInput = document.getElementById(`search-input-${suffix}`);\n        const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n        const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n        const $searchClear = document.getElementById(`search-clear-${suffix}`);\n        if (isMobile) {\n            this._searchMobileOnce = true;\n            $searchInput.addEventListener('focus', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n            }, false);\n            document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n                $header.classList.remove('open');\n                document.body.classList.remove('blur');\n                document.getElementById('menu-toggle-mobile').classList.remove('active');\n                document.getElementById('menu-mobile').classList.remove('active');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n        } else {\n            this._searchDesktopOnce = true;\n            $searchToggle.addEventListener('click', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n                $searchInput.focus();\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            }, false);\n            this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n        }\n        $searchInput.addEventListener('input', () => {\n            if ($searchInput.value === '') $searchClear.style.display = 'none';\n            else $searchClear.style.display = 'inline';\n        }, false);\n\n        const initAutosearch = () => {\n            const autosearch = autocomplete(`#search-input-${suffix}`, {\n                hint: false,\n                autoselect: true,\n                dropdownMenuContainer: `#search-dropdown-${suffix}`,\n                clearOnSelected: true,\n                cssClasses: { noPrefix: true },\n                debug: true,\n            }, {\n                name: 'search',\n                source: (query, callback) => {\n                    $searchLoading.style.display = 'inline';\n                    $searchClear.style.display = 'none';\n                    const finish = (results) => {\n                        $searchLoading.style.display = 'none';\n                        $searchClear.style.display = 'inline';\n                        callback(results);\n                    };\n                    if (searchConfig.type === 'lunr') {\n                        const search = () => {\n                            if (lunr.queryHandler) query = lunr.queryHandler(query);\n                            const results = {};\n                            this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n                                const matchData = this._indexData[ref];\n                                let { uri, title, content: context } = matchData;\n                                if (results[uri]) return;\n                                let position = 0;\n                                Object.values(metadata).forEach(({ content }) => {\n                                    if (content) {\n                                        const matchPosition = content.position[0][0];\n                                        if (matchPosition < position || position === 0) position = matchPosition;\n                                    }\n                                });\n                                position -= searchConfig.snippetLength / 5;\n                                if (position > 0) {\n                                    position += context.substr(position, 20).lastIndexOf(' ') + 1;\n                                    context = '...' + context.substr(position, searchConfig.snippetLength);\n                                } else {\n                                    context = context.substr(0, searchConfig.snippetLength);\n                                }\n                                Object.keys(metadata).forEach(key => {\n                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);\n                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);\n                                });\n                                results[uri] = {\n                                    'uri': uri,\n                                    'title' : title,\n                                    'date' : matchData.date,\n                                    'context' : context,\n                                };\n                            });\n                            return Object.values(results).slice(0, searchConfig.maxResultLength);\n                        }\n                        if (!this._index) {\n                            fetch(searchConfig.lunrIndexURL)\n                                .then(response => response.json())\n                                .then(data => {\n                                    const indexData = {};\n                                    this._index = lunr(function () {\n                                        if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n                                        this.ref('objectID');\n                                        this.field('title', { boost: 50 });\n                                        this.field('tags', { boost: 20 });\n                                        this.field('categories', { boost: 20 });\n                                        this.field('content', { boost: 10 });\n                                        this.metadataWhitelist = ['position'];\n                                        data.forEach((record) => {\n                                            indexData[record.objectID] = record;\n                                            this.add(record);\n                                        });\n                                    });\n                                    this._indexData = indexData;\n                                    finish(search());\n                                }).catch(err => {\n                                    console.error(err);\n                                    finish([]);\n                                });\n                        } else finish(search());\n                    } else if (searchConfig.type === 'algolia') {\n                        this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n                        this._algoliaIndex\n                            .search(query, {\n                                offset: 0,\n                                length: searchConfig.maxResultLength * 8,\n                                attributesToHighlight: ['title'],\n                                attributesToSnippet: [`content:${searchConfig.snippetLength}`],\n                                highlightPreTag: `<${searchConfig.highlightTag}>`,\n                                highlightPostTag: `</${searchConfig.highlightTag}>`,\n                            })\n                            .then(({ hits }) => {\n                                const results = {};\n                                hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n                                    if (results[uri] && results[uri].context.length > content.value) return;\n                                    results[uri] = {\n                                        uri: uri,\n                                        title: title.value,\n                                        date: date,\n                                        context: content.value,\n                                    };\n                                });\n                                finish(Object.values(results).slice(0, searchConfig.maxResultLength));\n                            })\n                            .catch(err => {\n                                console.error(err);\n                                finish([]);\n                            });\n                    }\n                },\n                templates: {\n                    suggestion: ({ title, date, context }) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n                    empty: ({ query }) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n                    footer: ({}) => {\n                        const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n                            searchType: 'algolia',\n                            icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n                            href: 'https://www.algolia.com/',\n                        } : {\n                            searchType: 'Lunr.js',\n                            icon: '',\n                            href: 'https://lunrjs.com/',\n                        };\n                        return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;},\n                },\n            });\n            autosearch.on('autocomplete:selected', (event, suggestion, dataset, context) => {\n                window.location.assign(suggestion.uri);\n            });\n            if (isMobile) this._searchMobile = autosearch;\n            else this._searchDesktop = autosearch;\n        };\n        if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n            const script = document.createElement('script');\n            script.id = 'lunr-segmentit';\n            script.type = 'text/javascript';\n            script.src = searchConfig.lunrSegmentitURL;\n            script.async = true;\n            if (script.readyState) {\n                script.onreadystatechange = () => {\n                    if (script.readyState == 'loaded' || script.readyState == 'complete'){\n                        script.onreadystatechange = null;\n                        initAutosearch();\n                    }\n                };\n            } else {\n                script.onload = () => {\n                    initAutosearch();\n                };\n            }\n            document.body.appendChild(script);\n        } else initAutosearch();\n    }\n\n    initDetails() {\n        this.util.forEach(document.getElementsByClassName('details'), $details => {\n            const $summary = $details.getElementsByClassName('details-summary')[0];\n            $summary.addEventListener('click', () => {\n                $details.classList.toggle('open');\n            }, false);\n        });\n    }\n\n    initLightGallery() {\n        if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n    }\n\n    initHighlight() {\n        this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n            const $chroma = document.createElement('div');\n            $chroma.className = $preChroma.className;\n            const $table = document.createElement('table');\n            $chroma.appendChild($table);\n            const $tbody = document.createElement('tbody');\n            $table.appendChild($tbody);\n            const $tr = document.createElement('tr');\n            $tbody.appendChild($tr);\n            const $td = document.createElement('td');\n            $tr.appendChild($td);\n            $preChroma.parentElement.replaceChild($chroma, $preChroma);\n            $td.appendChild($preChroma);\n        });\n        this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n            const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n            if ($codeElements.length) {\n                const $code = $codeElements[$codeElements.length - 1];\n                const $header = document.createElement('div');\n                $header.className = 'code-header ' + $code.className.toLowerCase();\n                const $title = document.createElement('span');\n                $title.classList.add('code-title');\n                $title.insertAdjacentHTML('afterbegin', '<i class=\"arrow fas fa-chevron-right fa-fw\"></i>');\n                $title.addEventListener('click', () => {\n                    $chroma.classList.toggle('open');\n                }, false);\n                $header.appendChild($title);\n                const $ellipses = document.createElement('span');\n                $ellipses.insertAdjacentHTML('afterbegin', '<i class=\"fas fa-ellipsis-h fa-fw\"></i>');\n                $ellipses.classList.add('ellipses');\n                $ellipses.addEventListener('click', () => {\n                    $chroma.classList.add('open');\n                }, false);\n                $header.appendChild($ellipses);\n                const $copy = document.createElement('span');\n                $copy.insertAdjacentHTML('afterbegin', '<i class=\"far fa-copy fa-fw\"></i>');\n                $copy.classList.add('copy');\n                const code = $code.innerText;\n                if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n                if (this.config.code.copyTitle) {\n                    $copy.setAttribute('data-clipboard-text', code);\n                    $copy.title = this.config.code.copyTitle;\n                    const clipboard = new ClipboardJS($copy);\n                    clipboard.on('success', e => {\n                        this.util.animateCSS($code, 'flash');\n                    });\n                    $header.appendChild($copy);\n                }\n                $chroma.insertBefore($header, $chroma.firstChild);\n            }\n        });\n    }\n\n    initTable() {\n        this.util.forEach(document.querySelectorAll('.content table'), $table => {\n            const $wrapper = document.createElement('div');\n            $wrapper.className = 'table-wrapper';\n            $table.parentElement.replaceChild($wrapper, $table);\n            $wrapper.appendChild($table);\n        });\n    }\n\n    initHeaderLink() {\n        for (let num = 1; num <= 6; num++) {\n            this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n                $header.classList.add('headerLink');\n                $header.insertAdjacentHTML('afterbegin', `<a href=\"#${$header.id}\" class=\"header-mark\"></a>`);\n            });\n        }\n    }\n\n    initToc() {\n        const $tocCore = document.getElementById('TableOfContents');\n        if ($tocCore === null) return;\n        if (this.util.isTocStatic()) {\n            const $tocContentStatic = document.getElementById('toc-content-static');\n            if ($tocCore.parentElement !== $tocContentStatic) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentStatic.appendChild($tocCore);\n            }\n            if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n        } else {\n            const $tocContentAuto = document.getElementById('toc-content-auto');\n            if ($tocCore.parentElement !== $tocContentAuto) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentAuto.appendChild($tocCore);\n            }\n            const $toc = document.getElementById('toc-auto');\n            const $page = document.getElementsByClassName('page')[0];\n            const rect = $page.getBoundingClientRect();\n            $toc.style.left = `${rect.left + rect.width + 20}px`;\n            $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n            $toc.style.visibility = 'visible';\n            const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n            const $tocLiElements = $tocCore.getElementsByTagName('li');\n            const $headerLinkElements = document.getElementsByClassName('headerLink');\n            const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n            const headerHeight = document.getElementById('header-desktop').offsetHeight;\n            const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n            const minTocTop = $toc.offsetTop;\n            const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n            this._tocOnScroll = this._tocOnScroll || (() => {\n                const footerTop = document.getElementById('post-footer').offsetTop;\n                const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n                const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n                if (this.newScrollTop < minScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${minTocTop}px`;\n                } else if (this.newScrollTop > maxScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${maxTocTop}px`;\n                } else {\n                    $toc.style.position = 'fixed';\n                    $toc.style.top = `${TOP_SPACING}px`;\n                }\n\n                this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n                this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n                const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n                let activeTocIndex = $headerLinkElements.length - 1;\n                for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n                    const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n                    const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n                    if ((i == 0 && thisTop > INDEX_SPACING)\n                     || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n                        activeTocIndex = i;\n                        break;\n                    }\n                }\n                if (activeTocIndex !== -1) {\n                    $tocLinkElements[activeTocIndex].classList.add('active');\n                    let $parent = $tocLinkElements[activeTocIndex].parentElement;\n                    while ($parent !== $tocCore) {\n                        $parent.classList.add('has-active');\n                        $parent = $parent.parentElement.parentElement;\n                    }\n                }\n            });\n            this._tocOnScroll();\n            this.scrollEventSet.add(this._tocOnScroll);\n        }\n    }\n\n    initMath() {\n        if (this.config.math) renderMathInElement(document.body, this.config.math);\n    }\n\n    initMermaid() {\n        const $mermaidElements = document.getElementsByClassName('mermaid');\n        if ($mermaidElements.length) {\n            mermaid.initialize({startOnLoad: false, theme: 'null'});\n            this.util.forEach($mermaidElements, $mermaid => {\n                mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n                    $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n                }, $mermaid);\n            });\n        }\n    }\n\n    initEcharts() {\n        this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n            this._echartsArr = this._echartsArr || [];\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].dispose();\n            }\n            this._echartsArr = [];\n            this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n                const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n                chart.setOption(JSON.parse(this.data[$echarts.id]));\n                this._echartsArr.push(chart);\n            });\n        });\n        this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n        this._echartsOnSwitchTheme();\n        this._echartsOnResize = this._echartsOnResize || (() => {\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].resize();\n            }\n        });\n        this.resizeEventSet.add(this._echartsOnResize);\n    }\n\n    initMapbox() {\n        if (this.config.mapbox) {\n            mapboxgl.accessToken = this.config.mapbox.accessToken;\n            mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n            this._mapboxArr = this._mapboxArr || [];\n            this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n                const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n                const mapbox = new mapboxgl.Map({\n                    container: $mapbox,\n                    center: [lng, lat],\n                    zoom: zoom,\n                    minZoom: .2,\n                    style: this.isDark ? darkStyle : lightStyle,\n                    attributionControl: false,\n                });\n                if (marked) {\n                    new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n                }\n                if (navigation) {\n                    mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n                }\n                if (geolocate) {\n                    mapbox.addControl(new mapboxgl.GeolocateControl({\n                        positionOptions: {\n                            enableHighAccuracy: true,\n                        },\n                        showUserLocation: true,\n                        trackUserLocation: true,\n                    }), 'bottom-right');\n                }\n                if (scale) {\n                    mapbox.addControl(new mapboxgl.ScaleControl());\n                }\n                if (fullscreen) {\n                    mapbox.addControl(new mapboxgl.FullscreenControl());\n                }\n                mapbox.addControl(new MapboxLanguage());\n                this._mapboxArr.push(mapbox);\n            });\n            this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n                this.util.forEach(this._mapboxArr, mapbox => {\n                    const $mapbox = mapbox.getContainer();\n                    const { lightStyle, darkStyle } = this.data[$mapbox.id];\n                    mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n                    mapbox.addControl(new MapboxLanguage());\n                });\n            });\n            this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n        }\n    }\n\n    initTypeit() {\n        if (this.config.typeit) {\n            this.config.typeit.forEach(group => {\n                const typeone = (i) => {\n                    const id = group[i];\n                    if (i === group.length - 1) {\n                        new TypeIt(`#${id}`, {\n                            strings: this.data[id],\n                        }).go();\n                        return;\n                    }\n                    let instance = new TypeIt(`#${id}`, {\n                        strings: this.data[id],\n                        afterComplete: () => {\n                            instance.destroy();\n                            typeone(i + 1);\n                        },\n                    }).go();\n                };\n                typeone(0);\n            });\n        }\n    }\n\n    initComment() {\n        if (this.config.comment && this.config.comment.gitalk) {\n            this.config.comment.gitalk.body = decodeURI(window.location.href);\n            const gitalk = new Gitalk(this.config.comment.gitalk.body);\n            gitalk.render('gitalk');\n        }\n        if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);\n    }\n\n    initSmoothScroll() {\n        if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n    }\n\n    onScroll() {\n        const $headers = [];\n        if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n        if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n        if (document.getElementById('comments')) {\n            const $viewComments = document.getElementById('view-comments');\n            $viewComments.href = `#comments`;\n            $viewComments.style.display = 'block';\n        }\n        const $fixedButtons = document.getElementById('fixed-buttons');\n        const MIN_SCROLL = 20;\n        window.addEventListener('scroll', () => {\n            this.newScrollTop = this.util.getScrollTop();\n            const scroll = this.newScrollTop - this.oldScrollTop;\n            this.util.forEach($headers, $header => {\n                if (scroll > MIN_SCROLL) {\n                    $header.classList.remove('fadeInDown');\n                    this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $header.classList.remove('fadeOutUp');\n                    this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n                }\n            });\n            if (this.newScrollTop > MIN_SCROLL) {\n                if (scroll > MIN_SCROLL) {\n                    $fixedButtons.classList.remove('fadeIn');\n                    this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $fixedButtons.style.display = 'block';\n                    $fixedButtons.classList.remove('fadeOut');\n                    this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n                }\n            } else {\n                $fixedButtons.style.display = 'none';\n            }\n            for (let event of this.scrollEventSet) event();\n            this.oldScrollTop = this.newScrollTop;\n        }, false);\n    }\n\n    onResize() {\n        window.addEventListener('resize', () => {\n            if (!this._resizeTimeout) {\n                this._resizeTimeout = window.setTimeout(() => {\n                    this._resizeTimeout = null;\n                    for (let event of this.resizeEventSet) event();\n                    this.initToc();\n                    this.initMermaid();\n                    this.initSearch();\n                }, 100);\n            }\n        }, false);\n    }\n\n    onClickMask() {\n        document.getElementById('mask').addEventListener('click', () => {\n            for (let event of this.clickMaskEventSet) event();\n            document.body.classList.remove('blur');\n        }, false);\n    }\n\n    init() {\n        this.initSVGIcon();\n        this.initTwemoji();\n        this.initMenuMobile();\n        this.initSwitchTheme();\n        this.initSearch();\n        this.initDetails();\n        this.initLightGallery();\n        this.initHighlight();\n        this.initTable();\n        this.initHeaderLink();\n        this.initToc();\n        this.initComment();\n        this.initSmoothScroll();\n        this.initMath();\n        this.initMermaid();\n        this.initEcharts();\n        this.initTypeit();\n        this.initMapbox();\n\n        this.onScroll();\n        this.onResize();\n        this.onClickMask();\n    }\n}\n\nconst themeInit = () => {\n    const theme = new Theme();\n    theme.init();\n};\n\nif (document.readyState !== 'loading') {\n    themeInit();\n} else {\n    document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n    forEach(elements, handler) {\n        elements = elements || [];\n        for (let i = 0; i < elements.length; i++) handler(elements[i]);\n    }\n\n    getScrollTop() {\n        return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n    }\n\n    isMobile() {\n        return window.matchMedia('only screen and (max-width: 680px)').matches;\n    }\n\n    isTocStatic() {\n        return window.matchMedia('only screen and (max-width: 960px)').matches;\n    }\n\n    animateCSS(element, animation, reserved, callback) {\n        if (!Array.isArray(animation)) animation = [animation];\n        element.classList.add('animated', ...animation);\n        const handler = () => {\n            element.classList.remove('animated', ...animation);\n            element.removeEventListener('animationend', handler);\n            if (typeof callback === 'function') callback();\n        };\n        if (!reserved) element.addEventListener('animationend', handler, false);\n    }\n}\n\nclass Theme {\n    constructor() {\n        this.config = window.config;\n        this.data = this.config.data;\n        this.isDark = document.body.getAttribute('theme') === 'dark';\n        this.util = new Util();\n        this.newScrollTop = this.util.getScrollTop();\n        this.oldScrollTop = this.newScrollTop;\n        this.scrollEventSet = new Set();\n        this.resizeEventSet = new Set();\n        this.switchThemeEventSet = new Set();\n        this.clickMaskEventSet = new Set();\n        if (objectFitImages) objectFitImages();\n    }\n\n    initSVGIcon() {\n        this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n            fetch($icon.getAttribute('data-svg-src'))\n                .then(response => response.text())\n                .then(svg => {\n                    const $temp = document.createElement('div');\n                    $temp.insertAdjacentHTML('afterbegin', svg);\n                    const $svg = $temp.firstChild;\n                    $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n                    $svg.classList.add('icon');\n                    const $titleElements = $svg.getElementsByTagName('title');\n                    if ($titleElements.length) $svg.removeChild($titleElements[0]);\n                    $icon.parentElement.replaceChild($svg, $icon);\n                })\n                .catch(err => { console.error(err); });\n        });\n    }\n\n    initTwemoji() {\n        if (this.config.twemoji) twemoji.parse(document.body);\n    }\n\n    initMenuMobile() {\n        const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n        const $menuMobile = document.getElementById('menu-mobile');\n        $menuToggleMobile.addEventListener('click', () => {\n            document.body.classList.toggle('blur');\n            $menuToggleMobile.classList.toggle('active');\n            $menuMobile.classList.toggle('active');\n        }, false);\n        this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n            $menuToggleMobile.classList.remove('active');\n            $menuMobile.classList.remove('active');\n        });\n        this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n    }\n\n    initSwitchTheme() {\n        this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n            $themeSwitch.addEventListener('click', () => {\n                if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n                else document.body.setAttribute('theme', 'dark');\n                this.isDark = !this.isDark;\n                window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n                for (let event of this.switchThemeEventSet) event();\n            }, false);\n        });\n    }\n\n    initSearch() {\n        const searchConfig = this.config.search;\n        const isMobile = this.util.isMobile();\n        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n        const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;\n        const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;\n        const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';\n\n        const suffix = isMobile ? 'mobile' : 'desktop';\n        const $header = document.getElementById(`header-${suffix}`);\n        const $searchInput = document.getElementById(`search-input-${suffix}`);\n        const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n        const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n        const $searchClear = document.getElementById(`search-clear-${suffix}`);\n        if (isMobile) {\n            this._searchMobileOnce = true;\n            $searchInput.addEventListener('focus', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n            }, false);\n            document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n                $header.classList.remove('open');\n                document.body.classList.remove('blur');\n                document.getElementById('menu-toggle-mobile').classList.remove('active');\n                document.getElementById('menu-mobile').classList.remove('active');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n        } else {\n            this._searchDesktopOnce = true;\n            $searchToggle.addEventListener('click', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n                $searchInput.focus();\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            }, false);\n            this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n        }\n        $searchInput.addEventListener('input', () => {\n            if ($searchInput.value === '') $searchClear.style.display = 'none';\n            else $searchClear.style.display = 'inline';\n        }, false);\n\n        const initAutosearch = () => {\n            const autosearch = autocomplete(`#search-input-${suffix}`, {\n                hint: false,\n                autoselect: true,\n                dropdownMenuContainer: `#search-dropdown-${suffix}`,\n                clearOnSelected: true,\n                cssClasses: { noPrefix: true },\n                debug: true,\n            }, {\n                name: 'search',\n                source: (query, callback) => {\n                    $searchLoading.style.display = 'inline';\n                    $searchClear.style.display = 'none';\n                    const finish = (results) => {\n                        $searchLoading.style.display = 'none';\n                        $searchClear.style.display = 'inline';\n                        callback(results);\n                    };\n                    if (searchConfig.type === 'lunr') {\n                        const search = () => {\n                            if (lunr.queryHandler) query = lunr.queryHandler(query);\n                            const results = {};\n                            this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n                                const matchData = this._indexData[ref];\n                                let { uri, title, content: context } = matchData;\n                                if (results[uri]) return;\n                                let position = 0;\n                                Object.values(metadata).forEach(({ content }) => {\n                                    if (content) {\n                                        const matchPosition = content.position[0][0];\n                                        if (matchPosition < position || position === 0) position = matchPosition;\n                                    }\n                                });\n                                position -= snippetLength / 5;\n                                if (position > 0) {\n                                    position += context.substr(position, 20).lastIndexOf(' ') + 1;\n                                    context = '...' + context.substr(position, snippetLength);\n                                } else {\n                                    context = context.substr(0, snippetLength);\n                                }\n                                Object.keys(metadata).forEach(key => {\n                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n                                });\n                                results[uri] = {\n                                    'uri': uri,\n                                    'title' : title,\n                                    'date' : matchData.date,\n                                    'context' : context,\n                                };\n                            });\n                            return Object.values(results).slice(0, maxResultLength);\n                        }\n                        if (!this._index) {\n                            fetch(searchConfig.lunrIndexURL)\n                                .then(response => response.json())\n                                .then(data => {\n                                    const indexData = {};\n                                    this._index = lunr(function () {\n                                        if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n                                        this.ref('objectID');\n                                        this.field('title', { boost: 50 });\n                                        this.field('tags', { boost: 20 });\n                                        this.field('categories', { boost: 20 });\n                                        this.field('content', { boost: 10 });\n                                        this.metadataWhitelist = ['position'];\n                                        data.forEach((record) => {\n                                            indexData[record.objectID] = record;\n                                            this.add(record);\n                                        });\n                                    });\n                                    this._indexData = indexData;\n                                    finish(search());\n                                }).catch(err => {\n                                    console.error(err);\n                                    finish([]);\n                                });\n                        } else finish(search());\n                    } else if (searchConfig.type === 'algolia') {\n                        this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n                        this._algoliaIndex\n                            .search(query, {\n                                offset: 0,\n                                length: maxResultLength * 8,\n                                attributesToHighlight: ['title'],\n                                attributesToSnippet: [`content:${snippetLength}`],\n                                highlightPreTag: `<${highlightTag}>`,\n                                highlightPostTag: `</${highlightTag}>`,\n                            })\n                            .then(({ hits }) => {\n                                const results = {};\n                                hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n                                    if (results[uri] && results[uri].context.length > content.value) return;\n                                    results[uri] = {\n                                        uri: uri,\n                                        title: title.value,\n                                        date: date,\n                                        context: content.value,\n                                    };\n                                });\n                                finish(Object.values(results).slice(0, maxResultLength));\n                            })\n                            .catch(err => {\n                                console.error(err);\n                                finish([]);\n                            });\n                    }\n                },\n                templates: {\n                    suggestion: ({ title, date, context }) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n                    empty: ({ query }) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n                    footer: ({}) => {\n                        const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n                            searchType: 'algolia',\n                            icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n                            href: 'https://www.algolia.com/',\n                        } : {\n                            searchType: 'Lunr.js',\n                            icon: '',\n                            href: 'https://lunrjs.com/',\n                        };\n                        return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;},\n                },\n            });\n            autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {\n                window.location.assign(suggestion.uri);\n            });\n            if (isMobile) this._searchMobile = autosearch;\n            else this._searchDesktop = autosearch;\n        };\n        if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n            const script = document.createElement('script');\n            script.id = 'lunr-segmentit';\n            script.type = 'text/javascript';\n            script.src = searchConfig.lunrSegmentitURL;\n            script.async = true;\n            if (script.readyState) {\n                script.onreadystatechange = () => {\n                    if (script.readyState == 'loaded' || script.readyState == 'complete'){\n                        script.onreadystatechange = null;\n                        initAutosearch();\n                    }\n                };\n            } else {\n                script.onload = () => {\n                    initAutosearch();\n                };\n            }\n            document.body.appendChild(script);\n        } else initAutosearch();\n    }\n\n    initDetails() {\n        this.util.forEach(document.getElementsByClassName('details'), $details => {\n            const $summary = $details.getElementsByClassName('details-summary')[0];\n            $summary.addEventListener('click', () => {\n                $details.classList.toggle('open');\n            }, false);\n        });\n    }\n\n    initLightGallery() {\n        if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n    }\n\n    initHighlight() {\n        this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n            const $chroma = document.createElement('div');\n            $chroma.className = $preChroma.className;\n            const $table = document.createElement('table');\n            $chroma.appendChild($table);\n            const $tbody = document.createElement('tbody');\n            $table.appendChild($tbody);\n            const $tr = document.createElement('tr');\n            $tbody.appendChild($tr);\n            const $td = document.createElement('td');\n            $tr.appendChild($td);\n            $preChroma.parentElement.replaceChild($chroma, $preChroma);\n            $td.appendChild($preChroma);\n        });\n        this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n            const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n            if ($codeElements.length) {\n                const $code = $codeElements[$codeElements.length - 1];\n                const $header = document.createElement('div');\n                $header.className = 'code-header ' + $code.className.toLowerCase();\n                const $title = document.createElement('span');\n                $title.classList.add('code-title');\n                $title.insertAdjacentHTML('afterbegin', '<i class=\"arrow fas fa-chevron-right fa-fw\"></i>');\n                $title.addEventListener('click', () => {\n                    $chroma.classList.toggle('open');\n                }, false);\n                $header.appendChild($title);\n                const $ellipses = document.createElement('span');\n                $ellipses.insertAdjacentHTML('afterbegin', '<i class=\"fas fa-ellipsis-h fa-fw\"></i>');\n                $ellipses.classList.add('ellipses');\n                $ellipses.addEventListener('click', () => {\n                    $chroma.classList.add('open');\n                }, false);\n                $header.appendChild($ellipses);\n                const $copy = document.createElement('span');\n                $copy.insertAdjacentHTML('afterbegin', '<i class=\"far fa-copy fa-fw\"></i>');\n                $copy.classList.add('copy');\n                const code = $code.innerText;\n                if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n                if (this.config.code.copyTitle) {\n                    $copy.setAttribute('data-clipboard-text', code);\n                    $copy.title = this.config.code.copyTitle;\n                    const clipboard = new ClipboardJS($copy);\n                    clipboard.on('success', _e => {\n                        this.util.animateCSS($code, 'flash');\n                    });\n                    $header.appendChild($copy);\n                }\n                $chroma.insertBefore($header, $chroma.firstChild);\n            }\n        });\n    }\n\n    initTable() {\n        this.util.forEach(document.querySelectorAll('.content table'), $table => {\n            const $wrapper = document.createElement('div');\n            $wrapper.className = 'table-wrapper';\n            $table.parentElement.replaceChild($wrapper, $table);\n            $wrapper.appendChild($table);\n        });\n    }\n\n    initHeaderLink() {\n        for (let num = 1; num <= 6; num++) {\n            this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n                $header.classList.add('headerLink');\n                $header.insertAdjacentHTML('afterbegin', `<a href=\"#${$header.id}\" class=\"header-mark\"></a>`);\n            });\n        }\n    }\n\n    initToc() {\n        const $tocCore = document.getElementById('TableOfContents');\n        if ($tocCore === null) return;\n        if (this.util.isTocStatic()) {\n            const $tocContentStatic = document.getElementById('toc-content-static');\n            if ($tocCore.parentElement !== $tocContentStatic) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentStatic.appendChild($tocCore);\n            }\n            if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n        } else {\n            const $tocContentAuto = document.getElementById('toc-content-auto');\n            if ($tocCore.parentElement !== $tocContentAuto) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentAuto.appendChild($tocCore);\n            }\n            const $toc = document.getElementById('toc-auto');\n            const $page = document.getElementsByClassName('page')[0];\n            const rect = $page.getBoundingClientRect();\n            $toc.style.left = `${rect.left + rect.width + 20}px`;\n            $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n            $toc.style.visibility = 'visible';\n            const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n            const $tocLiElements = $tocCore.getElementsByTagName('li');\n            const $headerLinkElements = document.getElementsByClassName('headerLink');\n            const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n            const headerHeight = document.getElementById('header-desktop').offsetHeight;\n            const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n            const minTocTop = $toc.offsetTop;\n            const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n            this._tocOnScroll = this._tocOnScroll || (() => {\n                const footerTop = document.getElementById('post-footer').offsetTop;\n                const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n                const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n                if (this.newScrollTop < minScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${minTocTop}px`;\n                } else if (this.newScrollTop > maxScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${maxTocTop}px`;\n                } else {\n                    $toc.style.position = 'fixed';\n                    $toc.style.top = `${TOP_SPACING}px`;\n                }\n\n                this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n                this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n                const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n                let activeTocIndex = $headerLinkElements.length - 1;\n                for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n                    const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n                    const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n                    if ((i == 0 && thisTop > INDEX_SPACING)\n                     || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n                        activeTocIndex = i;\n                        break;\n                    }\n                }\n                if (activeTocIndex !== -1) {\n                    $tocLinkElements[activeTocIndex].classList.add('active');\n                    let $parent = $tocLinkElements[activeTocIndex].parentElement;\n                    while ($parent !== $tocCore) {\n                        $parent.classList.add('has-active');\n                        $parent = $parent.parentElement.parentElement;\n                    }\n                }\n            });\n            this._tocOnScroll();\n            this.scrollEventSet.add(this._tocOnScroll);\n        }\n    }\n\n    initMath() {\n        if (this.config.math) renderMathInElement(document.body, this.config.math);\n    }\n\n    initMermaid() {\n        const $mermaidElements = document.getElementsByClassName('mermaid');\n        if ($mermaidElements.length) {\n            mermaid.initialize({startOnLoad: false, theme: 'null'});\n            this.util.forEach($mermaidElements, $mermaid => {\n                mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n                    $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n                }, $mermaid);\n            });\n        }\n    }\n\n    initEcharts() {\n        this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n            this._echartsArr = this._echartsArr || [];\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].dispose();\n            }\n            this._echartsArr = [];\n            this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n                const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n                chart.setOption(JSON.parse(this.data[$echarts.id]));\n                this._echartsArr.push(chart);\n            });\n        });\n        this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n        this._echartsOnSwitchTheme();\n        this._echartsOnResize = this._echartsOnResize || (() => {\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].resize();\n            }\n        });\n        this.resizeEventSet.add(this._echartsOnResize);\n    }\n\n    initMapbox() {\n        if (this.config.mapbox) {\n            mapboxgl.accessToken = this.config.mapbox.accessToken;\n            mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n            this._mapboxArr = this._mapboxArr || [];\n            this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n                const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n                const mapbox = new mapboxgl.Map({\n                    container: $mapbox,\n                    center: [lng, lat],\n                    zoom: zoom,\n                    minZoom: .2,\n                    style: this.isDark ? darkStyle : lightStyle,\n                    attributionControl: false,\n                });\n                if (marked) {\n                    new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n                }\n                if (navigation) {\n                    mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n                }\n                if (geolocate) {\n                    mapbox.addControl(new mapboxgl.GeolocateControl({\n                        positionOptions: {\n                            enableHighAccuracy: true,\n                        },\n                        showUserLocation: true,\n                        trackUserLocation: true,\n                    }), 'bottom-right');\n                }\n                if (scale) {\n                    mapbox.addControl(new mapboxgl.ScaleControl());\n                }\n                if (fullscreen) {\n                    mapbox.addControl(new mapboxgl.FullscreenControl());\n                }\n                mapbox.addControl(new MapboxLanguage());\n                this._mapboxArr.push(mapbox);\n            });\n            this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n                this.util.forEach(this._mapboxArr, mapbox => {\n                    const $mapbox = mapbox.getContainer();\n                    const { lightStyle, darkStyle } = this.data[$mapbox.id];\n                    mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n                    mapbox.addControl(new MapboxLanguage());\n                });\n            });\n            this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n        }\n    }\n\n    initTypeit() {\n        if (this.config.typeit) {\n            const typeitConfig = this.config.typeit;\n            const speed = typeitConfig.speed ? typeitConfig.speed : 100;\n            const cursorSpeed = typeitConfig.cursorSpeed ? typeitConfig.cursorSpeed : 1000;\n            const cursorChar = typeitConfig.cursorChar ? typeitConfig.cursorChar : '|';\n            Object.values(typeitConfig.data).forEach(group => {\n                const typeone = (i) => {\n                    const id = group[i];\n                    const instance = new TypeIt(`#${id}`, {\n                        strings: this.data[id],\n                        speed: speed,\n                        lifeLike: true,\n                        cursorSpeed: cursorSpeed,\n                        cursorChar: cursorChar,\n                        waitUntilVisible: true,\n                        afterComplete: () => {\n                            if (i === group.length - 1) {\n                                if (typeitConfig.duration >= 0) window.setTimeout(() => {\n                                    instance.destroy();\n                                }, typeitConfig.duration);\n                                return;\n                            }\n                            instance.destroy();\n                            typeone(i + 1);\n                        },\n                    }).go();\n                };\n                typeone(0);\n            });\n        }\n    }\n\n    initComment() {\n        if (this.config.comment && this.config.comment.gitalk) {\n            this.config.comment.gitalk.body = decodeURI(window.location.href);\n            const gitalk = new Gitalk(this.config.comment.gitalk.body);\n            gitalk.render('gitalk');\n        }\n        if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);\n    }\n\n    initSmoothScroll() {\n        if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n    }\n\n    onScroll() {\n        const $headers = [];\n        if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n        if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n        if (document.getElementById('comments')) {\n            const $viewComments = document.getElementById('view-comments');\n            $viewComments.href = `#comments`;\n            $viewComments.style.display = 'block';\n        }\n        const $fixedButtons = document.getElementById('fixed-buttons');\n        const MIN_SCROLL = 20;\n        window.addEventListener('scroll', () => {\n            this.newScrollTop = this.util.getScrollTop();\n            const scroll = this.newScrollTop - this.oldScrollTop;\n            this.util.forEach($headers, $header => {\n                if (scroll > MIN_SCROLL) {\n                    $header.classList.remove('fadeInDown');\n                    this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $header.classList.remove('fadeOutUp');\n                    this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n                }\n            });\n            if (this.newScrollTop > MIN_SCROLL) {\n                if (scroll > MIN_SCROLL) {\n                    $fixedButtons.classList.remove('fadeIn');\n                    this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $fixedButtons.style.display = 'block';\n                    $fixedButtons.classList.remove('fadeOut');\n                    this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n                }\n            } else {\n                $fixedButtons.style.display = 'none';\n            }\n            for (let event of this.scrollEventSet) event();\n            this.oldScrollTop = this.newScrollTop;\n        }, false);\n    }\n\n    onResize() {\n        window.addEventListener('resize', () => {\n            if (!this._resizeTimeout) {\n                this._resizeTimeout = window.setTimeout(() => {\n                    this._resizeTimeout = null;\n                    for (let event of this.resizeEventSet) event();\n                    this.initToc();\n                    this.initMermaid();\n                    this.initSearch();\n                }, 100);\n            }\n        }, false);\n    }\n\n    onClickMask() {\n        document.getElementById('mask').addEventListener('click', () => {\n            for (let event of this.clickMaskEventSet) event();\n            document.body.classList.remove('blur');\n        }, false);\n    }\n\n    init() {\n        this.initSVGIcon();\n        this.initTwemoji();\n        this.initMenuMobile();\n        this.initSwitchTheme();\n        this.initSearch();\n        this.initDetails();\n        this.initLightGallery();\n        this.initHighlight();\n        this.initTable();\n        this.initHeaderLink();\n        this.initToc();\n        this.initComment();\n        this.initSmoothScroll();\n        this.initMath();\n        this.initMermaid();\n        this.initEcharts();\n        this.initTypeit();\n        this.initMapbox();\n\n        this.onScroll();\n        this.onResize();\n        this.onClickMask();\n    }\n}\n\nconst themeInit = () => {\n    const theme = new Theme();\n    theme.init();\n};\n\nif (document.readyState !== 'loading') {\n    themeInit();\n} else {\n    document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]}
\ No newline at end of file
diff --git a/assets/lib/VERSION b/assets/lib/VERSION
index 7551adb7..74bbbfa9 100644
--- a/assets/lib/VERSION
+++ b/assets/lib/VERSION
@@ -14,7 +14,7 @@ lg-thumbnail.js@1.1.0 https://github.com/sachinchoolur/lg-thumbnail.js
 lg-zoom.js@1.0.1 https://github.com/sachinchoolur/lg-zoom.js
 clipboard.js@2.0.6 https://github.com/zenorocha/clipboard.js
 sharer.js@0.4.0 https://github.com/ellisonleao/sharer.js
-typeit@6.5.1 https://github.com/alexmacarthur/typeit
+typeit@7.0.4 https://github.com/alexmacarthur/typeit
 katex@0.11.1 https://katex.org/
 mermaid@8.5.0 https://github.com/knsv/mermaid
 echarts@4.7.0 https://echarts.apache.org/
diff --git a/assets/lib/typeit/typeit.min.js b/assets/lib/typeit/typeit.min.js
index 35055def..7d247723 100644
--- a/assets/lib/typeit/typeit.min.js
+++ b/assets/lib/typeit/typeit.min.js
@@ -1,10 +1,8 @@
 /**
-  *
   * TypeIt - The most versatile animated typing utility on the planet.
   * Author: Alex MacArthur <alex@macarthur.me> (https://macarthur.me)
-  * Version: v6.5.1
+  * Version: v7.0.4
   * License: GPL-2.0
   * URL: https://typeitjs.com
-  *
   */
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).TypeIt=e()}(this,(function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}var e={strings:[],speed:100,cursor:!0,cursorChar:"|",cursorSpeed:1e3,deleteSpeed:null,lifeLike:!0,breakLines:!0,startDelay:250,startDelete:!1,nextStringDelay:750,loop:!1,loopDelay:750,html:!0,waitUntilVisible:!1,beforeString:function(){},afterString:function(){},beforeStep:function(){},afterStep:function(){},afterComplete:function(){}};function n(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.insert=function(e,n){t.waiting.splice(e,0,n)},this.add=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Array.isArray(e[0])?(t.waiting=t.waiting.concat(e),t):(t.waiting[n?"unshift":"push"](e),t)},this.delete=function(e){return t.waiting.splice(e,1),t},this.reset=function(){return t.waiting=t.executed.concat(t.waiting),t.executed=[],t},this.executed=[],this.waiting=e,!e.length&&n&&this.add(n)}var i=function(t){return document.createElement(t)};function r(t,e){return Math.abs(Math.random()*(t+e-(t-e))+(t-e))}function o(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=i("style");n.id=e,n.appendChild(document.createTextNode(t)),document.head.appendChild(n)}function u(t){return t.map((function(t){return t.replace(/<\!--.*?-->/g,"")}))}var s=function(t){return["textarea","input"].indexOf(t.tagName.toLowerCase())>-1},a=function(t){return Array.isArray(t)?t:[t]},c=function(t){return Array.from(t)},f=function(t,e){var n=t.nextSibling;return!!n&&!n.isEqualNode(e)};var l=function(e,n){var r=n;if(s(e))e.value="".concat(e.value).concat(r);else{var o=c(e.childNodes).filter((function(t){return t.classList&&t.classList.contains("ti-cursor")}));if(o=o.length?o[0]:null,"object"===t(n)&&!(n instanceof HTMLElement)){var u=n.ancestorTree.slice(0).reverse().join(" "),a=c(e.querySelectorAll("".concat(u))),l=(a=a.filter((function(t){return!o||!o.isEqualNode(t)}))).length>0?a[a.length-1]:null;if(l&&function(t,e){if(!t)return!1;for(var n=!1,i=[],r=t;!n;)i.push(f(r,e)),(r=r.parentNode)&&r.hasAttribute&&!r.hasAttribute("data-typeit-id")||(n=!0);return!i.some((function(t){return t}))}(l,o))e=l,r=n.content;else if(r=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=i(t);return e.forEach((function(t){r.setAttribute(t.name,t.value)})),r.innerHTML=n,r}(n.ancestorTree[0],n.attributes,n.content),n.ancestorTree.length>1){var h=c(e.querySelectorAll(n.ancestorTree[1]));e=h[h.length-1]}}r="object"===t(r)?r:document.createTextNode(r),e.insertBefore(r,o&&e.hasAttribute("data-typeit-id")?o:null)}},h=function(t){var e=[];return e.concat.apply(e,t)},p=function(t){var e=document.implementation.createHTMLDocument("");return e.body.innerHTML=t,e.body},d=function(t){return c(t.childNodes).map((function(t){return 3===t.nodeType?c(t.nodeValue):t}))},v=function(t,e,n){return{ancestorTree:e,attributes:(i=t,c(i.attributes).map((function(t){return{name:t.name,value:t.nodeValue}}))),content:n};var i},y=function(t,e){var n=v(t,e,""),i=d(t).map((function(n,i){return Array.isArray(n)?n.map((function(n,i){return v(t,e,n)})):n}));return i.unshift(n),h(i)},m=function(t){return t instanceof HTMLElement&&"BR"!==t.tagName},g=function t(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=e.map((function(t){if(m(t)){if(!n)return c(t.childNodes);for(var e=t.parentNode,i=[t.tagName];["BODY","HTML"].indexOf(e.tagName)<0;)i.push(e.tagName),e=e.parentNode;return y(t,i)}return t}));return(i=h(i)).some((function(t){return m(t)}))?t(i,n):i};function b(t){var e=p(t),n=d(e);return g(n)}function w(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e?b(t):c(t)}var q=function(t,e){e?t.value="":t.querySelector(".ti-cursor")&&(t.innerHTML="")},S=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=!Array.isArray(t),r=t.length;return(t=i?new Array(t).fill(0):t).map((function(t,o){if(i)return e;var u=[e,t];return n&&(0===o&&u.push({isFirst:!0}),o+1===r&&u.push({isLast:!0})),u}))},A=function(t){t.parentNode.removeChild(t)},T=function(t){return 3!==t.nodeType&&"BR"!==t.tagName&&!t.firstChild},N=function(t){return t.some((function(t){return T(t)}))},L=function(t){for(var e=c(t.querySelectorAll("*")),n=N(e);e.length&&n;){var i=!1;e.forEach((function(t){T(t)&&(A(t),i=!0)})),i&&(e=c(t.querySelectorAll("*"))),n=N(e)}return e},$=function(t){return Array.isArray(t)||(t=[t/2,t/2]),{before:t[0],after:t[1],total:t[0]+t[1]}};function x(t,e,n){var i=(e=null!==e?e:t/3)/2;return n?[r(t,t/2),r(e,i)]:[t,e]}function D(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}function E(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}function M(){}function C(t,e){if(!e)return t&&t.then?t.then(M):Promise.resolve()}function H(t,e){var n=t();return n&&n.then?n.then(e):e(n)}function P(t){var e=t();if(e&&e.then)return e.then(M)}function k(t,e,n){if(!t.s){if(n instanceof j){if(!n.s)return void(n.o=k.bind(null,t,e));1&e&&(e=n.s),n=n.v}if(n&&n.then)return void n.then(k.bind(null,t,e),k.bind(null,t,2));t.s=e,t.v=n;var i=t.o;i&&i(t)}}var j=function(){function t(){}return t.prototype.then=function(e,n){var i=new t,r=this.s;if(r){var o=1&r?e:n;if(o){try{k(i,1,o(this.v))}catch(t){k(i,2,t)}return i}return this}return this.o=function(t){try{var r=t.v;1&t.s?k(i,1,e?e(r):r):n?k(i,1,n(r)):k(i,2,r)}catch(t){k(i,2,t)}},i},t}();function O(t,e,n){var i,r,o=-1;return function u(s){try{for(;++o<t.length&&(!n||!n());)if((s=e(o))&&s.then){if(!((a=s)instanceof j&&1&a.s))return void s.then(u,r||(r=k.bind(null,i=new j,2)));s=s.v}i?k(i,1,s):i=s}catch(t){k(i||(i=new j),2,t)}var a}(),i}function z(t,e){return t&&t.then?t.then(e):e(t)}function I(t,e){try{var n=t()}catch(t){return e(t)}return n&&n.then?n.then(void 0,e):n}function R(){var r=this,f=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},h=f.typeIt,d=f.element,v=f.id,y=f.options,m=f.queue,T=void 0===m?[]:m,N=f.isAReset,k=void 0!==N&&N,j=function(){if(J)return c(r.$e.value);var t=c(r.$e.childNodes).filter((function(t){return!t.isEqualNode(Q)}));return g(t,!1)},B=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=r.opts.nextStringDelay;r.queue.insert(t,[r.pause,n.before]),r.queue.insert(t+e+1,[r.pause,n.after])},V=function(){if(J||!r.opts.cursor)return null;var t=i("span");return t.innerHTML=p(r.opts.cursorChar).innerHTML,t.className="ti-cursor",t.setAttribute("style","display:inline;position:relative;font:inherit;color:inherit;line-height:inherit;"),t},F=function(){Q&&(o("@keyframes blink-".concat(v," { 0% {opacity: 0} 49% {opacity: 0} 50% {opacity: 1} }[data-typeit-id='").concat(v,"'] .ti-cursor { animation: blink-").concat(v," ").concat(r.opts.cursorSpeed/1e3,"s infinite; }"),v),r.$e.appendChild(Q))};this.wait=E((function(t,e){return this.timeouts.push(setTimeout(t,e)),D()}));var U=function(){r.opts.strings.forEach((function(t,e){var n=w(t,r.opts.html);r.queue.add(S(n,r.type,!0));var o=r.queue.waiting.length;if(e+1!==r.opts.strings.length){if(r.opts.breakLines)return r.queue.add([r.type,i("BR")]),void B(o);r.queue.add(S(n,r.delete)),B(o,t.length)}}))},Y=function(t){r.queue.reset().delete(0).add([r.pause,t.before],!0);for(var e=0;e<j().length;e++)r.queue.add([r.delete,null,{isPhantom:!0}],!0)},G=function(t){var e=r.$e.innerHTML;return e?(r.$e.innerHTML="",r.opts.startDelete?(b(e).forEach((function(t){l(r.$e,t)})),r.queue.add([r.delete,!0]),B(1),t):[e.trim()].concat(t)):t};this.pause=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise((function(n,i){t.wait((function(){return n()}),e||t.opts.nextStringDelay.total)}))},this.reset=function(){return this.queue.reset(),new R({typeIt:h,element:this.$e,id:v,options:this.opts,queue:this.queue.waiting,isAReset:!0})},this.init=function(){var t=this;if(!this.status.started){if(F(),!this.opts.waitUntilVisible)return this.status.started=!0,this.fire();new IntersectionObserver((function(e,n){e.forEach((function(e){e.isIntersecting&&(t.fire(),n.unobserve(t.$e))}))}),{threshold:1}).observe(this.$e)}},this.fire=E((function(){var t=this,e=t.queue.waiting.slice();return I((function(){return z(O(e,(function(n){var i=e[n],r=[i,t.queue,h];if(t.status.frozen)throw new Error;return t.pace=x(t.opts.speed,t.opts.deleteSpeed,t.opts.lifeLike),H((function(){var e;if(i[2]&&i[2].isFirst)return C((e=t.opts).beforeString.apply(e,r))}),(function(){var e;return D((e=t.opts).beforeStep.apply(e,r),(function(){return D(i[0].call(t,i[1],i[2]),(function(){var e=t.queue.waiting.shift(),n=i[2]&&i[2].isPhantom;return P((function(){if(!n)return H((function(){var e;if(i[2]&&i[2].isLast)return C((e=t.opts).afterString.apply(e,r))}),(function(){var n;return D((n=t.opts).afterStep.apply(n,r),(function(){t.queue.executed.push(e)}))}))}))}))}))}))}),(function(){return!1})),(function(e){return t.status.completed=!0,D(t.opts.afterComplete(h),(function(){if(t.opts.loop){var e=t.opts.loopDelay?t.opts.loopDelay:t.opts.nextStringDelay;t.wait((function(){Y(e),t.fire()}),e.after)}}))}))}),M)})),this.type=function(e){var n=this;return"object"!==t(e)||e.content?new Promise((function(t){n.wait((function(){return l(n.$e,e),t()}),n.pace[0])})):(l(this.$e,e),Promise.resolve())},this.empty=E((function(){J?this.$e.value="":c(this.$e.childNodes).forEach((function(t){Q&&Q.isEqualNode(t)||A(t)}))})),this.delete=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise((function(n){t.wait((function(){var i=j();return i.length&&(J?t.$e.value=t.$e.value.slice(0,-1):A(i[i.length-1])),L(t.$e),e&&i.length-1>0?t.delete(!0).then((function(){return n()})):n()}),t.pace[1])}))},this.setOptions=E((function(t){this.opts=Object.assign({},this.opts,t)}));var J=s(d);this.status={started:!1,complete:!1,frozen:!1,destroyed:!1},this.$e=d,this.timeouts=[],this.opts=Object.assign({},e,y),this.opts.html=!J&&this.opts.html,this.opts.nextStringDelay=$(this.opts.nextStringDelay),this.opts.loopDelay=$(this.opts.loopDelay),this.queue=new n(T,[this.pause,this.opts.startDelay]),this.$e.setAttribute("data-typeit-id",v),o("[data-typeit-id]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}"),q(d,J);var K=a(this.opts.strings);K=G(K),this.opts.strings=u(K);var Q=V();this.opts.strings.length&&!k&&U()}return function(t,e){var n,r=this;this.instances=(n=t,"string"==typeof n?n=document.querySelectorAll(n):n.forEach||(n=[n]),c(n)).map((function(t){return new R({typeIt:r,element:t,id:Math.random().toString(36).substring(2,15),options:e,queue:[],isAReset:!1})}));var o=function(t){r.instances.forEach((function(e){t.call(r,e)}))},u=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;o((function(i){var o="string"!=typeof t,u=o?t:i[t],s=S(n,[u,o?r:e]);i.queue.add(s)}))};this.is=function(t){return e=this.instances,n=t,i=!0,!!e.length&&!e.some((function(t){return t.status[n]!==i}));var e,n,i},this.freeze=function(){o((function(t){t.status.frozen=!0}))},this.unfreeze=function(){o((function(t){t.status.frozen&&(t.status.frozen=!1,t.fire())}))},this.type=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return o((function(e){var n=w(t,e.opts.html);e.queue.add(S(n,e.type,!0))})),this},this.delete=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return u("delete",null===t,null===t?1:t),this},this.pause=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return u("pause",t),this},this.break=function(){return u("type",i("BR")),this},this.options=function(t){return u("setOptions",t),this},this.exec=function(t){return u(t),this},this.destroy=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.instances=this.instances.map((function(e){if(e.timeouts.forEach((function(t){clearTimeout(t)})),e.timeouts=[],t){var n=e.isInput?null:e.$e.querySelector(".ti-cursor");n&&e.$e.removeChild(n)}return e.status.destroyed=!0,e}))},this.empty=function(){return u("empty"),this},this.reset=function(){return this.destroy(),this.instances=this.instances.map((function(t){return t.reset()})),this},this.go=function(){return o((function(t){t.init()})),this}}}));
\ No newline at end of file
+!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n=n||self).TypeIt=t()}(this,(function(){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(t)}var t={strings:[],speed:100,cursor:!0,cursorChar:"|",cursorSpeed:1e3,deleteSpeed:null,lifeLike:!0,breakLines:!0,startDelay:250,startDelete:!1,nextStringDelay:750,loop:!1,loopDelay:750,html:!0,waitUntilVisible:!1,beforeString:function(){},afterString:function(){},beforeStep:function(){},afterStep:function(){},afterComplete:function(){}},e=function(n){return n.map((function(n){return void 0===n[1]&&n.push(null),void 0===n[2]&&n.push({}),n}))},r=function(n,t){return Object.assign({},n,t)},i=function(n){return Array.isArray(n)},o=function(n,t){return n[2]=r(n[2],t)||t,n},u=function(n,t){return i(n[0])?n.map((function(n){return o(n,t)})):o(n,t)},c=function(n,t,e,r){r=r||!1,e=e||{};var o=!i(n),c=n.length;return(n=o?new Array(n).fill(0):n).map((function(n,i){if(o)return t;var a=[t,n,e];return r&&(0===i&&(a=u(a,{isFirst:!0})),i+1===c&&(a=u(a,{isLast:!0}))),a}))};function a(n){this.insert=function(n,e){t.splice(n,0,e)},this.add=function(n,u,a){return n=i(n)?n:[n,null],a=a||!1,u=u||1,i(n[0])||(n=c(u,n)),n=e(n).map((function(n){return n[2]=r(n[2],{id:o}),o++,n})),t=a?n.concat(t):t.concat(n),this},this.set=function(n,e){t[n]=e},this.reset=function(){t=t.map((function(n){return n[2].executed=!1,n}))},this.getItems=function(){return(t=e(t)).filter((function(n){return!n[2].executed}))},this.setMeta=function(n,e){var i=t.findIndex((function(t){return t[2].id===n}));t[i][2]=r(t[i][2],e)};var t=[],o=0;this.add(n)}var f=function(n){return Array.from(n)},s=function(n){var t=[];return t.concat.apply(t,n)},l=function(n){var t=document.implementation.createHTMLDocument("");return t.body.innerHTML=n,t.body},d=function n(t,e,r){e=e||null,r=void 0!==r&&r;var i=f(t.childNodes).map((function(t){return 3===(e=t).nodeType||"BR"===e.tagName?t:n(t);var e}));return i=s(i),e&&(i=i.filter((function(n){return!e.contains(n)}))),r?i.reverse():i},p=function(n){return"BODY"===n.tagName},h=function(n,t){t=t||null;var e=n instanceof HTMLElement;return{node:t,isTopLevelText:(!t||p(t.parentNode))&&!e,isHTMLElement:e,content:n}};function v(n){var t,e=l(n);return t=d(e).map((function(n){return n.nodeValue?f(n.nodeValue).map((function(t){return h(t,n)})):h(n)})),s(t)}function y(n,t){return(t=void 0===t||t)?v(n):f(n).map((function(n){return h(n)}))}var m=function(n){return document.createElement(n)},g=function(n,t){var e=m("style");e.id=t||"",e.appendChild(document.createTextNode(n)),document.head.appendChild(e)},b=function(n){return i(n)||(n=[n/2,n/2]),{before:n[0],after:n[1],total:n[0]+n[1]}},S=function(n,t){return Math.abs(Math.random()*(n+t-(n-t))+(n-t))};var N=function(n){return["textarea","input"].indexOf(n.tagName.toLowerCase())>-1},T=function(n,t){var e=t.querySelectorAll("*");return[t].concat(f(e).reverse()).find((function(t){return t.cloneNode().outerHTML===n.outerHTML}))},L=function(n,t,e,r){e=e||null;var i=t.isHTMLElement,o=i?t.content:document.createTextNode(t.content);if(N(n))n.value="".concat(n.value).concat(t.content);else{if(!t.isTopLevelText&&!i){var u=t.node.parentNode,c=T(u.cloneNode(),n);if(function(n,t){if(!n)return!1;var e=n.nextSibling;return!e||e.isEqualNode(t)}(c,e))n=c;else if((o=u.cloneNode()).innerText=t.content,!p(u.parentNode)){for(var a=u.parentNode,f=a.cloneNode(),s=T(f,n);!s&&!p(a);)f.innerHTML=o.outerHTML,o=f,f=a.parentNode.cloneNode(),a=a.parentNode,s=T(f,n);n=s||n}}var l=d(n,e,!0)[r-1],h=l?l.parentNode:n;h.insertBefore(o,h.contains(e)?e:null)}},M=function(n){var t;return null==n||null===(t=n.parentNode)||void 0===t?void 0:t.removeChild(n)};var x=function(n,t,e){var r,i="string"==typeof n,o=!1,u=-1*n;return i&&(u=(r="END"===n.toUpperCase())?-1:1,o=r?t+u>0:t+u<e.length),{isString:i,numberOfSteps:u,canKeepMoving:o}},w=function(n){var t,e=["font","lineHeight","color"],r=m("SPAN"),i=(t=n,window.getComputedStyle(t,null));for(var o in i)e.indexOf(o)>-1&&i[o]&&(r.style[o]=i[o]);return r.style.cssText};function D(n,t,e){return e?t?t(n):n:(n&&n.then||(n=Promise.resolve(n)),t?n.then(t):n)}function H(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];try{return Promise.resolve(n.apply(this,t))}catch(n){return Promise.reject(n)}}}function E(){}function C(n,t){if(!t)return n&&n.then?n.then(E):Promise.resolve()}function A(n,t){var e=n();return e&&e.then?e.then(t):t(e)}function k(n,t,e){if(!n.s){if(e instanceof O){if(!e.s)return void(e.o=k.bind(null,n,t));1&t&&(t=e.s),e=e.v}if(e&&e.then)return void e.then(k.bind(null,n,t),k.bind(null,n,2));n.s=t,n.v=e;var r=n.o;r&&r(n)}}var O=function(){function n(){}return n.prototype.then=function(t,e){var r=new n,i=this.s;if(i){var o=1&i?t:e;if(o){try{k(r,1,o(this.v))}catch(n){k(r,2,n)}return r}return this}return this.o=function(n){try{var i=n.v;1&n.s?k(r,1,t?t(i):i):e?k(r,1,e(i)):k(r,2,i)}catch(n){k(r,2,n)}},r},n}();function P(n,t){return n&&n.then?n.then(t):t(n)}return function(e,o){var u=this,s=this;o=o||{};var p=function(n,t,e){return n=i(n[0])?n:[n],an.add(n,t),function(n){var t=(n=n||{}).delay;t&&an.add([U,t])}(e),s},T=function(t){return t="object"===n(t)?t:{},[[Q,t,{force:!0}],[Q,en,{force:!0}]]},z=function(){return X?f(W.value):d(W,fn,!0)},B=function(n,t){t=t||1;var e=en.nextStringDelay;an.insert(n,[U,e.before]),an.insert(n+t+1,[U,e.after])},I=H((function(){if(fn){var n="[data-typeit-id='".concat(cn,"'] .ti-cursor");g("@keyframes blink-".concat(cn," { 0% {opacity: 0} 49% {opacity: 0} 50% {opacity: 1} } ").concat(n," { animation: blink-").concat(cn," ").concat(en.cursorSpeed/1e3,"s infinite; } ").concat(n,".with-delay { animation-delay: 500ms; } ").concat(n,".disabled { animation: none; }"),cn),W.appendChild(fn);var t="loaded"===document.fonts.status;return D(t||document.fonts.ready,(function(n){var t=fn.getBoundingClientRect().width/2;fn.style.margin="0 -".concat(t+2,"px 0 -").concat(t-2,"px")}),t)}})),R=function(n){fn&&(fn.classList.toggle("disabled",n),fn.classList.toggle("with-delay",!n))},q=H((function(n,t){return $.push(setTimeout(n,t)),D()})),j=H((function(n){var t=_;return D(t&&F(_),(function(t){return an.reset(),an.set(0,[U,n.before]),C(G(!0))}),!t)})),V=H((function(){tn.started=!0;var n,t=an.getItems();return P(function(n,t){try{var e=n()}catch(n){return t(n)}return e&&e.then?e.then(void 0,t):e}((function(){return P(function(n,t,e){var r,i,o=-1;return function u(c){try{for(;++o<n.length&&(!e||!e());)if((c=t(o))&&c.then){if(!((a=c)instanceof O&&1&a.s))return void c.then(u,i||(i=k.bind(null,r=new O,2)));c=c.v}r?k(r,1,c):r=c}catch(n){k(r||(r=new O),2,n)}var a}(),r}(t,(function(e){if(tn.frozen||tn.destroyed)throw"";var r,i,o,c,a=t[e],f=a[2];return n=[a,u],f.freezeCursor&&R(!0),r=en.speed,i=en.deleteSpeed,o=en.lifeLike,c=(i=null!==i?i:r/3)/2,Z=o?[S(r,r/2),S(i,c)]:[r,i],A((function(){var t;if(null==f?void 0:f.isFirst)return C((t=en).beforeString.apply(t,n))}),(function(){var t;return D((t=en).beforeStep.apply(t,n),(function(){return D(a[0].call(u,a[1],f),(function(){return A((function(){var t,e;if(null===(t=a[2])||void 0===t?void 0:t.isLast)return C((e=en).afterString.apply(e,n))}),(function(){var t;return D((t=en).afterStep.apply(t,n),(function(){an.setMeta(f.id,{executed:!0}),R(!1)}))}))}))}))}))}),(function(){return!1})),(function(t){var e;return tn.completed=!0,D((e=en).afterComplete.apply(e,n),(function(){if(!en.loop)throw"";var n=en.loopDelay;q((function(){return D(j(n),(function(){V()}))}),n.after)}))}))}),E),(function(n){return u}))})),U=function(n){return new Promise((function(t){q((function(){return t()}),n||0)}))},F=function n(t){var e=z(),r=x(t,_,e);return _+=r.numberOfSteps,new Promise((function(t){q(H((function(){return function(n,t,e,r){if(e){var i=r,o=t[(i=i>t.length?t.length:i)-1];(n=o?o.parentNode:n).insertBefore(e,o||null)}}(W,z(),fn,_),A((function(){if(r.isString&&r.canKeepMoving)return C(n(r.numberOfSteps>0?"START":"END"))}),(function(){return t()}))})),Z[0])}))},K=function(n){return new Promise((function(t){q((function(){return L(W,n,fn,_),t()}),Z[0])}))},Q=H((function(n){en=r(en,n)})),Y=H((function(){X?W.value="":z().forEach((function(n){M(n)}))})),G=function n(t){return t=!0===t,new Promise((function(e){q(H((function(){var r=!1,i=z();return i.length&&(X?W.value=W.value.slice(0,-1):M(i[_])),f(W.querySelectorAll("*")).forEach((function(n){if(!n.innerHTML&&"BR"!==n.tagName){for(var t=n;1===t.parentNode.childNodes.length&&t.parentNode.childNodes[0].isEqualNode(t);)t=t.parentNode;M(t)}})),A((function(){if(t&&i.length-1>0)return D(n(!0),(function(){return r=!0,e()}))}),(function(n){return r?n:e()}))})),Z[1])}))};this.break=function(n){return p([K,h(m("BR"))],1,n)},this.delete=function(n,t){var e=T(t);return p([e[0]].concat([].concat(Array(Math.abs(n)||1)).fill().map((function(){return[G,!n,nn]})),[e[1]]),1,t)},this.empty=function(){return p(Y,1,arguments)},this.exec=function(n,t){var e=T(t);return p([e[0],[n,null],e[1]],1,t)},this.move=function(n,t){var e=x(n,_,z()),r=T(t),i=e.isString?n:Math.sign(n);return p([r[0]].concat([].concat(Array(Math.abs(n)||1)).fill().map((function(){return[F,i,nn]})),[r[1]]),1,t)},this.options=function(n){return p([Q,n],1,n)},this.pause=function(n,t){return p([U,n],1,t)},this.type=function(n,t){var e=T(t),r=y(n,en.html),i=[e[0]].concat(c(r,K,nn,!0),[e[1]]);return p(i,1,t)},this.is=function(n){return tn[n]},this.destroy=function(n){n=void 0===n||n,$.forEach((function(n){clearTimeout(n)})),$=[],n&&M(fn),tn.destroyed=!0},this.freeze=function(){tn.frozen=!0},this.unfreeze=function(){tn.frozen=!1,V()},this.reset=function(){for(var n in!this.is("destroyed")&&this.destroy(),an.reset(),_=0,tn)tn[n]=!1;return X?W.value="":W.innerHTML="",this},this.go=function(){return tn.started?this:(I(),en.waitUntilVisible?(function(n,t){new IntersectionObserver((function(e,r){e.forEach((function(e){e.isIntersecting&&(t(),r.unobserve(n))}))}),{threshold:1}).observe(n)}(W,V.bind(this)),this):(V(),this))},this.getQueue=function(){return an},this.getOptions=function(){return en},this.getElement=function(){return W};var J,W="string"==typeof(J=e)?document.querySelector(J):J,X=N(W),Z=[],$=[],_=0,nn={freezeCursor:!0},tn={started:!1,completed:!1,frozen:!1,destroyed:!1},en=r(t,o);en=r(en,{html:!X&&en.html,nextStringDelay:b(en.nextStringDelay),loopDelay:b(en.loopDelay)});var rn,on,un,cn=Math.random().toString().substring(2,9),an=new a([U,en.startDelay]);W.setAttribute("data-typeit-id",cn),g("[data-typeit-id]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}[data-typeit-id]"),en.strings=(un=en.strings,rn=i(un)?un:[un],(on=function(n){return n.innerHTML.replace(/<\!--.*?-->/g,"").trim()}(W))?(W.innerHTML="",en.startDelete?(v(on).forEach((function(n){L(W,n,fn,_)})),an.add([G,!0]),B(1),rn):[on.trim()].concat(rn)):rn);var fn=function(){if(X||!en.cursor)return null;var n=m("span");return n.innerHTML=l(en.cursorChar).innerHTML,n.className="ti-cursor",n.style.cssText="display:inline;".concat(w(W)),n}();en.strings.length&&function(){var n=en.strings.filter((function(n){return!!n}));n.forEach((function(t,e){var r=y(t,en.html);an.add(c(r,K,nn,!0));var i=an.getItems().length;if(e+1!==n.length){if(en.breakLines){var o=h(m("BR"));return an.add([K,o,nn]),void B(i)}an.add(c(r,G,nn)),B(i,t.length)}}))}()}}));
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 6767b9e5..3ecc6306 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -656,7 +656,7 @@ enableEmoji = true
       # 你可以在名称 (允许 HTML 格式) 之后添加其他信息, 例如图标
       post = ""
       # whether to use typeit animation for title name
-      # 是否为副标题显示打字机动画
+      # 是否为标题显示打字机动画
       typeit = false
 
   # Footer config
@@ -914,6 +914,22 @@ enableEmoji = true
         width = 800
         height = 600
 
+  # TypeIt config
+  # TypeIt 配置
+  [params.typeit]
+    # typing speed between each step (measured in milliseconds)
+    # 每一步的打字速度 (单位是毫秒)
+    speed = 100
+    # blinking speed of the cursor (measured in milliseconds)
+    # 光标的闪烁速度 (单位是毫秒)
+    cursorSpeed = 1000
+    # character used for the cursor (HTML format is supported)
+    # 光标的字符 (支持 HTML 格式)
+    cursorChar = "|"
+    # cursor duration after typing finishing (measured in milliseconds, "-1" means unlimited)
+    # 打字结束之后光标的持续时间 (单位是毫秒, "-1" 代表无限大)
+    duration = -1
+
   # Site verification code for Google/Bing/Yandex/Pinterest/Baidu
   # 网站验证代码,用于 Google/Bing/Yandex/Pinterest/Baidu
   [params.verification]
@@ -980,7 +996,7 @@ enableEmoji = true
     clipboardJS = ""
     # sharer.js@0.4.0 https://github.com/ellisonleao/sharer.js
     sharerJS = ""
-    # typeit@6.5.1 https://github.com/alexmacarthur/typeit
+    # typeit@7.0.4 https://github.com/alexmacarthur/typeit
     typeitJS = ""
     # katex@0.11.1 https://katex.org/
     katexCSS = ""
diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md
index f35f8d9a..32db5b6f 100644
--- a/exampleSite/content/posts/theme-documentation-basics.en.md
+++ b/exampleSite/content/posts/theme-documentation-basics.en.md
@@ -254,7 +254,7 @@ Please open the code block below to view the complete sample configuration :(far
       pre = ""
       # you can add extra information after the name (HTML format is supported), such as icons
       post = ""
-      # whether to use typeit animation for title name
+      # {{< version 0.2.5 >}} whether to use typeit animation for title name
       typeit = false
 
   # Footer config
@@ -317,7 +317,8 @@ Please open the code block below to view the complete sample configuration :(far
       enable = true
       # special amount of posts in each home posts page
       paginate = 6
-      # {{< version 0.2.0 deleted >}} default behavior when you don't set "hiddenFromHomePage" in front matter
+      # {{< version 0.2.0 deleted >}} replaced with hiddenFromHomePage in params.page
+      # default behavior when you don't set "hiddenFromHomePage" in front matter
       defaultHiddenFromHomePage = false
 
   # Social config about the author
@@ -550,6 +551,17 @@ Please open the code block below to view the complete sample configuration :(far
         width = 800
         height = 600
 
+  # {{< version 0.2.5 >}} TypeIt config
+  [params.typeit]
+    # typing speed between each step (measured in milliseconds)
+    speed = 100
+    # blinking speed of the cursor (measured in milliseconds)
+    cursorSpeed = 1000
+    # character used for the cursor (HTML format is supported)
+    cursorChar = "|"
+    # cursor duration after typing finishing (measured in milliseconds, "-1" means unlimited)
+    duration = -1
+
   # Site verification code config for Google/Bing/Yandex/Pinterest/Baidu
   [params.verification]
     google = ""
@@ -610,7 +622,7 @@ Please open the code block below to view the complete sample configuration :(far
     clipboardJS = ""
     # {{< link "https://github.com/ellisonleao/sharer.js" "sharer.js" >}}@0.4.0
     sharerJS = ""
-    # {{< link "https://github.com/alexmacarthur/typeit" "typeit" >}}@6.5.1
+    # {{< link "https://github.com/alexmacarthur/typeit" "typeit" >}}@7.0.4
     typeitJS = ""
     # {{< link "https://github.com/KaTeX/KaTeX" "katex" >}}@0.11.1
     katexCSS = ""
diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md
index 7be52459..a1667988 100644
--- a/exampleSite/content/posts/theme-documentation-basics.fr.md
+++ b/exampleSite/content/posts/theme-documentation-basics.fr.md
@@ -259,7 +259,7 @@ Please open the code block below to view the complete sample configuration :(far
       pre = ""
       # you can add extra information after the name (HTML format is supported), such as icons
       post = ""
-      # whether to use typeit animation for title name
+      # {{< version 0.2.5 >}} whether to use typeit animation for title name
       typeit = false
 
   # Footer config
@@ -322,7 +322,8 @@ Please open the code block below to view the complete sample configuration :(far
       enable = true
       # special amount of posts in each home posts page
       paginate = 6
-      # {{< version 0.2.0 deleted >}} default behavior when you don't set "hiddenFromHomePage" in front matter
+      # {{< version 0.2.0 deleted >}} replaced with hiddenFromHomePage in params.page
+      # default behavior when you don't set "hiddenFromHomePage" in front matter
       defaultHiddenFromHomePage = false
 
   # Social config about the author
@@ -555,6 +556,17 @@ Please open the code block below to view the complete sample configuration :(far
         width = 800
         height = 600
 
+  # {{< version 0.2.5 >}} TypeIt config
+  [params.typeit]
+    # typing speed between each step (measured in milliseconds)
+    speed = 100
+    # blinking speed of the cursor (measured in milliseconds)
+    cursorSpeed = 1000
+    # character used for the cursor (HTML format is supported)
+    cursorChar = "|"
+    # cursor duration after typing finishing (measured in milliseconds, "-1" means unlimited)
+    duration = -1
+
   # Site verification code config for Google/Bing/Yandex/Pinterest/Baidu
   [params.verification]
     google = ""
@@ -615,7 +627,7 @@ Please open the code block below to view the complete sample configuration :(far
     clipboardJS = ""
     # {{< link "https://github.com/ellisonleao/sharer.js" "sharer.js" >}}@0.4.0
     sharerJS = ""
-    # {{< link "https://github.com/alexmacarthur/typeit" "typeit" >}}@6.5.1
+    # {{< link "https://github.com/alexmacarthur/typeit" "typeit" >}}@7.0.4
     typeitJS = ""
     # {{< link "https://github.com/KaTeX/KaTeX" "katex" >}}@0.11.1
     katexCSS = ""
diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
index 54ed1a42..60e7f5d5 100644
--- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
+++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
@@ -257,7 +257,7 @@ hugo
       pre = ""
       # 你可以在名称 (允许 HTML 格式) 之后添加其他信息, 例如图标
       post = ""
-      # 是否为副标题显示打字机动画
+      # {{< version 0.2.5 >}} 是否为标题显示打字机动画
       typeit = false
 
   # 页面底部信息配置
@@ -320,7 +320,8 @@ hugo
       enable = true
       # 主页每页显示文章数量
       paginate = 6
-      # {{< version 0.2.0 deleted >}} 当你没有在文章前置参数中设置 "hiddenFromHomePage" 时的默认行为
+      # {{< version 0.2.0 deleted >}} 被 params.page 中的 hiddenFromHomePage 替代
+      # 当你没有在文章前置参数中设置 "hiddenFromHomePage" 时的默认行为
       defaultHiddenFromHomePage = false
 
   # 作者的社交信息设置
@@ -553,6 +554,17 @@ hugo
         width = 800
         height = 600
 
+  # {{< version 0.2.5 >}} TypeIt 配置
+  [params.typeit]
+    # 每一步的打字速度 (单位是毫秒)
+    speed = 100
+    # 光标的闪烁速度 (单位是毫秒)
+    cursorSpeed = 1000
+    # 光标的字符 (支持 HTML 格式)
+    cursorChar = "|"
+    # 打字结束之后光标的持续时间 (单位是毫秒, "-1" 代表无限大)
+    duration = -1
+
   # 网站验证代码,用于 Google/Bing/Yandex/Pinterest/Baidu
   [params.verification]
     google = ""
@@ -613,7 +625,7 @@ hugo
     clipboardJS = ""
     # {{< link "https://github.com/ellisonleao/sharer.js" "sharer.js" >}}@0.4.0
     sharerJS = ""
-    # {{< link "https://github.com/alexmacarthur/typeit" "typeit" >}}@6.5.1
+    # {{< link "https://github.com/alexmacarthur/typeit" "typeit" >}}@7.0.4
     typeitJS = ""
     # {{< link "https://github.com/KaTeX/KaTeX" "katex" >}}@0.11.1
     katexCSS = ""
@@ -1010,7 +1022,7 @@ defaultContentLanguage = "zh-cn"
 * `lunr`: 简单, 无需同步 `index.json`, 没有 `contentLength` 的限制, 但占用带宽大且性能低 (特别是中文需要一个较大的分词依赖库)
 * `algolia`: 高性能并且占用带宽低, 但需要同步 `index.json` 且有 `contentLength` 的限制
 
-{{< version 0.2.3 >}} 文章内容被 `h2` 和 `h3` HTML 标签切分来提供查询效果并且基本实现全文搜索.
+{{< version 0.2.3 >}} 文章内容被 `h2` 和 `h3` HTML 标签切分来提高查询效果并且基本实现全文搜索.
 `contentLength` 用来限制 `h2` 和 `h3` HTML 标签开头的内容部分的最大长度.
 {{< /admonition >}}
 
diff --git a/layouts/partials/assets.html b/layouts/partials/assets.html
index 8f95a2fc..cad8f1fe 100644
--- a/layouts/partials/assets.html
+++ b/layouts/partials/assets.html
@@ -8,30 +8,30 @@
 {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
 
 {{- /* Search */ -}}
-{{- if .Site.Params.search.enable -}}
+{{- if .Site.Params.search | and .Site.Params.search.enable -}}
+    {{- $search := .Site.Params.search -}}
     {{- $source := $cdn.autocompleteJS | default "lib/autocomplete/autocomplete.min.js" -}}
     {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
-    {{- $searchConfig := dict "noResultsFound" (T "noResultsFound") -}}
-    {{- if eq .Site.Params.search.type "lunr" -}}
+    {{- $config = dict "maxResultLength" $search.maxResultLength "snippetLength" $search.snippetLength "highlightTag" $search.highlightTag "noResultsFound" (T "noResultsFound") | dict "search" | merge $config -}}
+    {{- if eq $search.type "lunr" -}}
         {{- with .Site.Home.OutputFormats.Get "json" -}}
-            {{- $searchConfig = dict "type" "lunr" "lunrIndexURL" .RelPermalink | merge $searchConfig -}}
+            {{- $config = dict "type" "lunr" "lunrIndexURL" .RelPermalink | dict "search" | merge $config -}}
         {{- end -}}
         {{- $source := $cdn.lunrJS | default "lib/lunr/lunr.min.js" -}}
         {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
         {{- if ne .Language.Lang "en" -}}
-            {{- $searchConfig = T "lunrLanguageCode" | dict "lunrLanguageCode" | merge $searchConfig -}}
+            {{- $config = T "lunrLanguageCode" | dict "lunrLanguageCode" | dict "search" | merge $config -}}
             {{- if eq .Language.Lang "zh-cn" -}}
-                {{- $searchConfig = dict "lunrSegmentitURL" (resources.Get "lib/lunr/lunr.segmentit.js").RelPermalink | merge $searchConfig -}}
+                {{- $config = dict "lunrSegmentitURL" (resources.Get "lib/lunr/lunr.segmentit.js").RelPermalink | dict "search" | merge $config -}}
             {{- end -}}
             {{- dict "source" "lib/lunr/lunr.stemmer.support.js" "minify" true "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
             {{- dict "source" (T "lunrLanguageLib") "minify" true "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
         {{- end -}}
-    {{- else if eq .Site.Params.search.type "algolia" -}}
+    {{- else if eq $search.type "algolia" -}}
         {{- $source := $cdn.algoliasearchJS | default "lib/algoliasearch/algoliasearch-lite.umd.min.js" -}}
         {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
-        {{- $searchConfig = dict "type" "algolia" "algoliaIndex" .Site.Params.search.algolia.index "algoliaAppID" .Site.Params.search.algolia.appID "algoliaSearchKey" .Site.Params.search.algolia.searchKey | merge $searchConfig -}}
+        {{- $config = dict "type" "algolia" "algoliaIndex" $search.algolia.index "algoliaAppID" $search.algolia.appID "algoliaSearchKey" $search.algolia.searchKey | dict "search" | merge $config -}}
     {{- end -}}
-    {{- $config = dict "search" $searchConfig | merge $config -}}
 {{- end -}}
 
 {{- /* lazysizes */ -}}
@@ -59,8 +59,7 @@
     {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
     {{- $source := $cdn.lightgalleryZoomJS | default "lib/lightgallery/lg-zoom.min.js" -}}
     {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
-    {{- $lightGalleryConfig := dict "selector" ".lightgallery" "speed" 400 "hideBarsDelay" 2000 "thumbnail" true "exThumbImage" "data-thumbnail" "thumbWidth" 80 "thumbContHeight" 80 "actualSize" false -}}
-    {{- $config = dict "lightGallery" $lightGalleryConfig | merge $config -}}
+    {{- $config = dict "selector" ".lightgallery" "speed" 400 "hideBarsDelay" 2000 "thumbnail" true "exThumbImage" "data-thumbnail" "thumbWidth" 80 "thumbContHeight" 80 "actualSize" false | dict "lightGallery" | merge $config -}}
     {{- $styleArr := (.Scratch.Get "this").styleArr | default slice -}}
     {{- $styleArr | append ".lg-toolbar .lg-icon::after { color: #999; }" | .Scratch.SetInMap "this" "styleArr" -}}
 {{- end -}}
@@ -83,24 +82,21 @@
 
 {{- /* TypeIt */ -}}
 {{- with (.Scratch.Get "this").typeitMap -}}
+    {{- $typeit := $.Site.Params.typeit -}}
     {{- $source := $cdn.typeitJS | default "lib/typeit/typeit.min.js" -}}
     {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
-    {{- $typeitConfig := slice -}}
-    {{- range $key, $val := . -}}
-        {{- $typeitConfig = $typeitConfig | append (slice $val) -}}
-    {{- end -}}
-    {{- $config = dict "typeit" $typeitConfig | merge $config -}}
+    {{- $config = dict "speed" $typeit.speed "cursorSpeed" $typeit.cursorSpeed "cursorChar" $typeit.cursorChar "duration" $typeit.duration "data" . | dict "typeit" | merge $config -}}
 {{- end -}}
 
 {{- /* KaTeX */ -}}
 {{- if $params.math.enable -}}
+    {{- $math := $params.math -}}
     {{- $source := $cdn.katexCSS | default "lib/katex/katex.min.css" -}}
     {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/stylesheet.html" -}}
     {{- $source := $cdn.katexJS | default "lib/katex/katex.min.js" -}}
     {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
     {{- $source := $cdn.katexAutoRenderJS | default "lib/katex/auto-render.min.js" -}}
     {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
-    {{- $math := $params.math -}}
     {{- if $math.copyTex -}}
         {{- $source := $cdn.katexCopyTexCSS | default "lib/katex/copy-tex.min.css" -}}
         {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/stylesheet.html" -}}
@@ -111,7 +107,6 @@
         {{- $source := $cdn.katexMhchemJS | default "lib/katex/mhchem.min.js" -}}
         {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}}
     {{- end -}}
-    {{- $mathConfig := dict "strict" false -}}
     {{- $delimiters := slice (dict "left" "$$" "right" "$$" "display" true) (dict "left" "\\[" "right" "\\]" "display" true) -}}
     {{- if and $math.blockLeftDelimiter $math.blockRightDelimiter -}}
         {{- $delimiters = $delimiters | append (dict "left" $math.blockLeftDelimiter "right" $math.blockRightDelimiter "display" true) -}}
@@ -120,8 +115,7 @@
     {{- if and $math.inlineLeftDelimiter $math.inlineRightDelimiter -}}
         {{- $delimiters = $delimiters | append (dict "left" $math.inlineRightDelimiter "right" $math.inlineRightDelimiter "display" false) -}}
     {{- end -}}
-    {{- $mathConfig = dict "delimiters" $delimiters | merge $mathConfig -}}
-    {{- $config = dict "math" $mathConfig | merge $config -}}
+    {{- $config = dict "strict" false "delimiters" $delimiters | dict "math" | merge $config -}}
 {{- end -}}
 
 {{- /* mermaid */ -}}
@@ -182,7 +176,7 @@
 </script>
 
 {{- /* Polyfill.io */ -}}
-{{- dict "source" "https://polyfill.io/v3/polyfill.min.js?features=Element.prototype.closest%2CrequestAnimationFrame%2CCustomEvent%2CPromise%2CObject.entries%2CObject.assign%2CObject.values%2Cfetch%2CElement.prototype.after%2CArray.prototype.fill%2CIntersectionObserver%2CArray.from%2CArray.prototype.find%2CMath.sign" | partial "plugin/script.html" -}}
+{{- dict "source" "https://polyfill.io/v3/polyfill.min.js?features=html5shiv%2CElement.prototype.closest%2CrequestAnimationFrame%2CCustomEvent%2CPromise%2CObject.entries%2CObject.assign%2CObject.values%2Cfetch%2CElement.prototype.after%2CArray.prototype.fill%2CIntersectionObserver%2CArray.from%2CArray.prototype.find%2CMath.sign" | partial "plugin/script.html" -}}
 
 {{- range (.Scratch.Get "this").script -}}
     {{- partial "plugin/script.html" . -}}
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 51a97c6c..09a920a4 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -15,7 +15,7 @@
                         <span id="{{ $id }}" class="typeit"></span>
                         {{- dict $id (slice $id) | dict "typeitMap" | merge ($.Scratch.Get "this") | $.Scratch.Set "this" -}}
                     {{- else -}}
-                    {{- .name -}}
+                        {{- .name -}}
                     {{- end -}}
                     {{- with .post -}}
                         <span class="header-title-post">{{ . | safeHTML }}</span>
@@ -99,7 +99,7 @@
                             <span id="{{ $id }}" class="typeit"></span>
                             {{- dict $id (slice $id) | dict "typeitMap" | merge ($.Scratch.Get "this") | $.Scratch.Set "this" -}}
                         {{- else -}}
-                        {{- .name -}}
+                            {{- .name -}}
                         {{- end -}}
                         {{- with .post -}}
                             <span class="header-title-post">{{ . | safeHTML }}</span>
diff --git a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
index 0cf574b8..8b9c4822 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.fr.min.css.map */
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
index 18fac34e..08344bcf 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.en.min.css.map */
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
index b010afd7..a9436997 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.zh-cn.min.css.map */
\ No newline at end of file
diff --git a/src/js/theme.js b/src/js/theme.js
index 8459a05d..b0ef2dbd 100644
--- a/src/js/theme.js
+++ b/src/js/theme.js
@@ -97,9 +97,9 @@ class Theme {
         const isMobile = this.util.isMobile();
         if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;
 
-        if (!searchConfig.maxResultLength) searchConfig.maxResultLength = 10;
-        if (!searchConfig.snippetLength) searchConfig.snippetLength = 50;
-        if (!searchConfig.highlightTag) searchConfig.highlightTag = 'em';
+        const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;
+        const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;
+        const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';
 
         const suffix = isMobile ? 'mobile' : 'desktop';
         const $header = document.getElementById(`header-${suffix}`);
@@ -190,16 +190,16 @@ class Theme {
                                         if (matchPosition < position || position === 0) position = matchPosition;
                                     }
                                 });
-                                position -= searchConfig.snippetLength / 5;
+                                position -= snippetLength / 5;
                                 if (position > 0) {
                                     position += context.substr(position, 20).lastIndexOf(' ') + 1;
-                                    context = '...' + context.substr(position, searchConfig.snippetLength);
+                                    context = '...' + context.substr(position, snippetLength);
                                 } else {
-                                    context = context.substr(0, searchConfig.snippetLength);
+                                    context = context.substr(0, snippetLength);
                                 }
                                 Object.keys(metadata).forEach(key => {
-                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);
-                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${searchConfig.highlightTag}>$1</${searchConfig.highlightTag}>`);
+                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);
+                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);
                                 });
                                 results[uri] = {
                                     'uri': uri,
@@ -208,7 +208,7 @@ class Theme {
                                     'context' : context,
                                 };
                             });
-                            return Object.values(results).slice(0, searchConfig.maxResultLength);
+                            return Object.values(results).slice(0, maxResultLength);
                         }
                         if (!this._index) {
                             fetch(searchConfig.lunrIndexURL)
@@ -240,11 +240,11 @@ class Theme {
                         this._algoliaIndex
                             .search(query, {
                                 offset: 0,
-                                length: searchConfig.maxResultLength * 8,
+                                length: maxResultLength * 8,
                                 attributesToHighlight: ['title'],
-                                attributesToSnippet: [`content:${searchConfig.snippetLength}`],
-                                highlightPreTag: `<${searchConfig.highlightTag}>`,
-                                highlightPostTag: `</${searchConfig.highlightTag}>`,
+                                attributesToSnippet: [`content:${snippetLength}`],
+                                highlightPreTag: `<${highlightTag}>`,
+                                highlightPostTag: `</${highlightTag}>`,
                             })
                             .then(({ hits }) => {
                                 const results = {};
@@ -257,7 +257,7 @@ class Theme {
                                         context: content.value,
                                     };
                                 });
-                                finish(Object.values(results).slice(0, searchConfig.maxResultLength));
+                                finish(Object.values(results).slice(0, maxResultLength));
                             })
                             .catch(err => {
                                 console.error(err);
@@ -281,7 +281,7 @@ class Theme {
                         return `<div class="search-footer">Search by <a href="${href}" rel="noopener noreffer" target="_blank">${icon} ${searchType}</a></div>`;},
                 },
             });
-            autosearch.on('autocomplete:selected', (event, suggestion, dataset, context) => {
+            autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {
                 window.location.assign(suggestion.uri);
             });
             if (isMobile) this._searchMobile = autosearch;
@@ -366,7 +366,7 @@ class Theme {
                     $copy.setAttribute('data-clipboard-text', code);
                     $copy.title = this.config.code.copyTitle;
                     const clipboard = new ClipboardJS($copy);
-                    clipboard.on('success', e => {
+                    clipboard.on('success', _e => {
                         this.util.animateCSS($code, 'flash');
                     });
                     $header.appendChild($copy);
@@ -558,18 +558,27 @@ class Theme {
 
     initTypeit() {
         if (this.config.typeit) {
-            this.config.typeit.forEach(group => {
+            const typeitConfig = this.config.typeit;
+            const speed = typeitConfig.speed ? typeitConfig.speed : 100;
+            const cursorSpeed = typeitConfig.cursorSpeed ? typeitConfig.cursorSpeed : 1000;
+            const cursorChar = typeitConfig.cursorChar ? typeitConfig.cursorChar : '|';
+            Object.values(typeitConfig.data).forEach(group => {
                 const typeone = (i) => {
                     const id = group[i];
-                    if (i === group.length - 1) {
-                        new TypeIt(`#${id}`, {
-                            strings: this.data[id],
-                        }).go();
-                        return;
-                    }
-                    let instance = new TypeIt(`#${id}`, {
+                    const instance = new TypeIt(`#${id}`, {
                         strings: this.data[id],
+                        speed: speed,
+                        lifeLike: true,
+                        cursorSpeed: cursorSpeed,
+                        cursorChar: cursorChar,
+                        waitUntilVisible: true,
                         afterComplete: () => {
+                            if (i === group.length - 1) {
+                                if (typeitConfig.duration >= 0) window.setTimeout(() => {
+                                    instance.destroy();
+                                }, typeitConfig.duration);
+                                return;
+                            }
                             instance.destroy();
                             typeone(i + 1);
                         },

From 4190c794915084508ee96d4c661882ebb372225f Mon Sep 17 00:00:00 2001
From: Dillon <dillonzq@outlook.com>
Date: Mon, 4 May 2020 15:19:18 +0800
Subject: [PATCH 04/11] fix(hugo): compatibility for Hugo basic version (#315)

---
 .gitignore                                    |   1 -
 .../posts/theme-documentation-basics.en.md    |   6 +++---
 .../posts/theme-documentation-basics.fr.md    |   6 +++---
 .../posts/theme-documentation-basics.zh-cn.md |   6 +++++-
 ...me-documentation-extended-shortcodes.en.md |   4 ++++
 ...me-documentation-extended-shortcodes.fr.md |   4 ++++
 ...documentation-extended-shortcodes.zh-cn.md |   4 ++++
 images/tn.png                                 | Bin 126584 -> 44050 bytes
 layouts/partials/function/id.html             |  10 ++++------
 layouts/shortcodes/style.html                 |   6 +++---
 ...s_ff2a8d7d59c25f259218399bceecc7ea.content |   2 ++
 ...scss_ff2a8d7d59c25f259218399bceecc7ea.json |   1 +
 12 files changed, 33 insertions(+), 17 deletions(-)
 create mode 100644 resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.content
 create mode 100644 resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.json

diff --git a/.gitignore b/.gitignore
index 3b172dc8..51ffa861 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,6 @@
 # Hugo default output directory
 public/
 /exampleSite/resources/
-/resources/_gen/assets/scss/temp
 
 node_modules/
 build/
diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md
index 32db5b6f..94df5f0a 100644
--- a/exampleSite/content/posts/theme-documentation-basics.en.md
+++ b/exampleSite/content/posts/theme-documentation-basics.en.md
@@ -26,14 +26,14 @@ Discover what the Hugo - **LoveIt** theme is all about and the core-concepts beh
 
 Thanks to the simplicity of Hugo, [Hugo](https://gohugo.io/) is the only dependency of this theme.
 
-Just install latest version of [:(far fa-file-archive fa-fw): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**).
+Just install latest version of [:(far fa-file-archive fa-fw): Hugo (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**).
 
 {{< admonition note "Why not support earlier versions of Hugo?" >}}
 Since [Markdown Render Hooks](https://gohugo.io/getting-started/configuration-markup#markdown-render-hooks) was introduced in the [Hugo Christmas Edition](https://gohugo.io/news/0.62.0-relnotes/), this theme only supports Hugo versions above **0.62.0**.
 {{< /admonition >}}
 
-{{< admonition note "Why need the Hugo extended version?" >}}
-Since the theme processes SCSS to CSS, Hugo needs to be the **extended** version.
+{{< admonition tip "Hugo extended version is recommended" >}}
+Since some features of this theme need to processes :(fab fa-sass fa-fw): SCSS to :(fab fa-css3 fa-fw): CSS, it is recommended to use Hugo **extended** version for better experience.
 {{< /admonition >}}
 
 ## 2 Installation
diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md
index a1667988..517c07d1 100644
--- a/exampleSite/content/posts/theme-documentation-basics.fr.md
+++ b/exampleSite/content/posts/theme-documentation-basics.fr.md
@@ -31,14 +31,14 @@ Welcome to take the time to propose a translation by [:(fas fa-code-branch fa-fw
 
 Thanks to the simplicity of Hugo, [Hugo](https://gohugo.io/) is the only dependency of this theme.
 
-Just install latest version of [:(far fa-file-archive fa-fw): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**).
+Just install latest version of [:(far fa-file-archive fa-fw): Hugo (> 0.62.0)](https://gohugo.io/getting-started/installing/) for your OS (**Windows**, **Linux**, **macOS**).
 
 {{< admonition note "Why not support earlier versions of Hugo?" >}}
 Since [Markdown Render Hooks](https://gohugo.io/getting-started/configuration-markup#markdown-render-hooks) was introduced in the [Hugo Christmas Edition](https://gohugo.io/news/0.62.0-relnotes/), this theme only supports Hugo versions above **0.62.0**.
 {{< /admonition >}}
 
-{{< admonition note "Why need the Hugo extended version?" >}}
-Since the theme processes SCSS to CSS, Hugo needs to be the **extended** version.
+{{< admonition tip "Hugo extended version is recommended" >}}
+Since some features of this theme need to processes :(fab fa-sass fa-fw): SCSS to :(fab fa-css3 fa-fw): CSS, it is recommended to use Hugo **extended** version for better experience.
 {{< /admonition >}}
 
 ## 2 Installation
diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
index 60e7f5d5..d2afa2c1 100644
--- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
+++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
@@ -26,7 +26,7 @@ toc:
 
 由于 Hugo 提供的便利性, [Hugo](https://gohugo.io/) 本身是这个主题唯一的依赖.
 
-直接安装满足你操作系统 (**Windows**, **Linux**, **macOS**) 的最新版本 [:(far fa-file-archive fa-fw): Hugo extended (> 0.62.0)](https://gohugo.io/getting-started/installing/).
+直接安装满足你操作系统 (**Windows**, **Linux**, **macOS**) 的最新版本 [:(far fa-file-archive fa-fw): Hugo (> 0.62.0)](https://gohugo.io/getting-started/installing/).
 
 {{< admonition note "为什么不支持早期版本的 Hugo?" >}}
 由于 [Markdown 渲染钩子函数](https://gohugo.io/getting-started/configuration-markup#markdown-render-hooks) 在 [Hugo 圣诞节版本](https://gohugo.io/news/0.62.0-relnotes/) 中被引入, 本主题只支持高于 **0.62.0** 的 Hugo 版本.
@@ -36,6 +36,10 @@ toc:
 由于本主题需要转换 SCSS 文件为 CSS 文件, Hugo **extended** 版本是必要的.
 {{< /admonition >}}
 
+{{< admonition tip "推荐使用 Hugo extended 版本" >}}
+由于这个主题的一些特性需要将 :(fab fa-sass fa-fw): SCSS 转换为 :(fab fa-css3 fa-fw): CSS, 推荐使用 Hugo **extended** 版本来获得更好的使用体验.
+{{< /admonition >}}
+
 ## 2 安装
 
 以下步骤可帮助你初始化新网站. 如果你根本不了解 Hugo, 我们强烈建议你按照此 [快速入门文档](https://gohugo.io/getting-started/quick-start/) 进一步了解它.
diff --git a/exampleSite/content/posts/theme-documentation-extended-shortcodes.en.md b/exampleSite/content/posts/theme-documentation-extended-shortcodes.en.md
index a6260cf7..61244b60 100644
--- a/exampleSite/content/posts/theme-documentation-extended-shortcodes.en.md
+++ b/exampleSite/content/posts/theme-documentation-extended-shortcodes.en.md
@@ -24,6 +24,10 @@ lightgallery: true
 
 {{< version 0.2.0 changed >}}
 
+{{< admonition >}}
+Hugo **extended** version is necessary for `style` shortcode.
+{{< /admonition >}}
+
 `style` is a shortcode to insert custom style in your post.
 
 The `style` shortcode has two positional parameters.
diff --git a/exampleSite/content/posts/theme-documentation-extended-shortcodes.fr.md b/exampleSite/content/posts/theme-documentation-extended-shortcodes.fr.md
index 9d58cfbd..11706b20 100644
--- a/exampleSite/content/posts/theme-documentation-extended-shortcodes.fr.md
+++ b/exampleSite/content/posts/theme-documentation-extended-shortcodes.fr.md
@@ -29,6 +29,10 @@ Welcome to take the time to propose a translation by [:(fas fa-code-branch fa-fw
 
 {{< version 0.2.0 changed >}}
 
+{{< admonition >}}
+Hugo **extended** version is necessary for `style` shortcode.
+{{< /admonition >}}
+
 `style` is a shortcode to insert custom style in your post.
 
 The `style` shortcode has two positional parameters.
diff --git a/exampleSite/content/posts/theme-documentation-extended-shortcodes.zh-cn.md b/exampleSite/content/posts/theme-documentation-extended-shortcodes.zh-cn.md
index f0ffe0a9..b0e852ec 100644
--- a/exampleSite/content/posts/theme-documentation-extended-shortcodes.zh-cn.md
+++ b/exampleSite/content/posts/theme-documentation-extended-shortcodes.zh-cn.md
@@ -27,6 +27,10 @@ mapbox:
 
 {{< version 0.2.0 changed >}}
 
+{{< admonition >}}
+Hugo **extended** 版本对于 `style` shortcode 是必需的.
+{{< /admonition >}}
+
 `style` shortcode 用来在你的文章中插入自定义样式.
 
 `style` shortcode 有两个位置参数.
diff --git a/images/tn.png b/images/tn.png
index 29be28941105996a9511c8d31582caddc4215e94..491873005e11cb703bee2c0bd3027c0e9cf114aa 100644
GIT binary patch
literal 44050
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
J<zSPb{{y)NrHudp

literal 126584
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

diff --git a/layouts/partials/function/id.html b/layouts/partials/function/id.html
index 4adeb70b..cff12fcc 100644
--- a/layouts/partials/function/id.html
+++ b/layouts/partials/function/id.html
@@ -1,8 +1,6 @@
 {{- /* ID */ -}}
-{{- /* Content -> unique ID */ -}}
-{{- /* shuffle md5 as id */ -}}
-{{- $id := delimit (split (md5 now.Unix) "" | shuffle | first 6) "" | printf "id-%s" -}}
-{{- with .scratch -}}
-    {{- dict $id $.content | dict "data" | dict "config" | merge (.Get "this") | .Set "this" -}}
-{{- end -}}
+{{- $count := (.scratch.Get "this").count | default 1 -}}
+{{- $id := printf "id-%d" $count -}}
+{{- $count | add 1 | .scratch.SetInMap "this" "count" -}}
+{{- dict $id .content | dict "data" | dict "config" | merge (.scratch.Get "this") | .scratch.Set "this" -}}
 {{- return $id -}}
diff --git a/layouts/shortcodes/style.html b/layouts/shortcodes/style.html
index f73d46c9..3e1e999e 100644
--- a/layouts/shortcodes/style.html
+++ b/layouts/shortcodes/style.html
@@ -1,10 +1,10 @@
 {{- $content := .Inner | .Page.RenderString -}}
-{{- $id := dict "content" $content | partial "function/id.html" -}}
+{{- $id := dict "content" $content "scratch" .Page.Scratch | partial "function/id.html" -}}
 {{- $tag := .Get 1 | default "div" -}}
 {{- printf `<%s id="%s">%s</%s>` $tag $id $content $tag | safeHTML -}}
 
 {{- $style := .Get 0 | printf "#%s{%s}" $id -}}
-{{- $res := resources.FromString (printf "temp/%s.scss" $id) $style -}}
-{{- $res = $res | toCSS (dict "targetPath" (printf "temp/%s.css" $id)) -}}
+{{- $res := resources.FromString (printf "stype/%s.scss" $id) $style -}}
+{{- $res = $res | toCSS (dict "targetPath" (printf "stype/%s.css" $id)) -}}
 {{- $styleArr := (.Page.Scratch.Get "this").styleArr | default slice -}}
 {{- $styleArr | append $res.Content | .Page.Scratch.SetInMap "this" "styleArr" -}}
diff --git a/resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.content b/resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.content
new file mode 100644
index 00000000..4705b8a7
--- /dev/null
+++ b/resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.content
@@ -0,0 +1,2 @@
+#id-1 img {
+  height: 1.25rem; }
diff --git a/resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.json b/resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.json
new file mode 100644
index 00000000..57e277fb
--- /dev/null
+++ b/resources/_gen/assets/scss/stype/id-1.scss_ff2a8d7d59c25f259218399bceecc7ea.json
@@ -0,0 +1 @@
+{"Target":"stype/id-1.css","MediaType":"text/css","Data":{}}
\ No newline at end of file

From 417851b1cd11c40c5e7b398a4b844fd4e415a56b Mon Sep 17 00:00:00 2001
From: Dave A-W <DaveA-W@users.noreply.github.com>
Date: Mon, 4 May 2020 15:24:40 +0800
Subject: [PATCH 05/11] fix(menu): hide divider when no menus (#307)

---
 assets/css/_page/_home.scss        |  3 +++
 layouts/partials/header.html       |  4 +++-
 layouts/partials/home/profile.html | 18 ++++++++++++++----
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/assets/css/_page/_home.scss b/assets/css/_page/_home.scss
index 742b4a60..fe7a9d72 100644
--- a/assets/css/_page/_home.scss
+++ b/assets/css/_page/_home.scss
@@ -17,6 +17,9 @@
             @include border-radius(100%);
             @include box-shadow(0 0 0 .3618em rgba(0, 0, 0, .05));
             @include transition(all 0.4s ease);
+          }
+
+          a img {
             cursor: pointer;
 
             &:hover {
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 09a920a4..7a3bfe62 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -38,7 +38,9 @@
                         {{- .Pre | safeHTML }} {{ .Name }} {{ .Post | safeHTML -}}
                     </a>
                 {{- end -}}
-                <span class="menu-item delimiter"></span>
+                {{- if .Site.Menus.main -}}
+                    <span class="menu-item delimiter"></span>
+                {{- end -}}
                 {{- if .Site.IsMultiLingual -}}
                     <a href="javascript:void(0);" class="menu-item language" title="{{ T "selectLanguage" }}">
                         {{- .Language.LanguageName -}}
diff --git a/layouts/partials/home/profile.html b/layouts/partials/home/profile.html
index 18ce94dc..717420a3 100644
--- a/layouts/partials/home/profile.html
+++ b/layouts/partials/home/profile.html
@@ -3,11 +3,21 @@
     {{- with .Site.Params.home.profile.gravatarEmail -}}
         {{- $avatar = md5 . | printf "https://www.gravatar.com/avatar/%s?s=240&d=mp" -}}
     {{- end -}}
-    {{- with $avatar -}}
+    {{- if $avatar -}}
         <div class="home-avatar">
-            <a href="/posts" title="{{ T `home` }}">
-                {{- dict "src" . "alt" (T "home") | partial "plugin/image.html" -}}
-            </a>
+            {{- $firstMenu := "" -}}
+            {{- if .Site.Menus.main -}}
+                {{- range first 1 $.Site.Menus.main -}}
+                    {{- $firstMenu = . -}}
+                {{- end -}}
+            {{- end -}}
+            {{- with $firstMenu -}}
+                <a href="{{- .URL -}}" title="{{- .Name -}}">
+                    {{- dict "src" $avatar "alt" .Name | partial "plugin/image.html" -}}
+                </a>
+            {{- else -}}
+                {{- dict "src" $avatar "alt" " " | partial "plugin/image.html" -}}
+            {{- end -}}
         </div>
     {{- end -}}
 

From 67617b82dcd4b6b42df543882b733f4d1bea87f6 Mon Sep 17 00:00:00 2001
From: Dave A-W <DaveA-W@users.noreply.github.com>
Date: Mon, 4 May 2020 16:43:47 +0800
Subject: [PATCH 06/11] feat(profile): Add optional title above subtitle (#308)

---
 assets/css/_page/_home.scss                   | 12 ++++---
 exampleSite/config.toml                       |  6 ++++
 .../posts/theme-documentation-basics.en.md    |  2 ++
 .../posts/theme-documentation-basics.fr.md    |  2 ++
 .../posts/theme-documentation-basics.zh-cn.md |  2 ++
 layouts/partials/header.html                  |  8 ++---
 layouts/partials/home/profile.html            | 34 +++++++++++--------
 ...s_788c4a23da05f3aa3e03b28055a2e5f9.content |  2 +-
 ...s_84a735b886b24531b6e80c5fb2060510.content |  2 +-
 ...s_d40178ffcb058d725849178b0a7a43cc.content |  2 +-
 10 files changed, 44 insertions(+), 28 deletions(-)

diff --git a/assets/css/_page/_home.scss b/assets/css/_page/_home.scss
index fe7a9d72..f77e7c71 100644
--- a/assets/css/_page/_home.scss
+++ b/assets/css/_page/_home.scss
@@ -17,19 +17,21 @@
             @include border-radius(100%);
             @include box-shadow(0 0 0 .3618em rgba(0, 0, 0, .05));
             @include transition(all 0.4s ease);
-          }
-
-          a img {
-            cursor: pointer;
 
             &:hover {
               position: relative;
               @include transform(translateY(-.75rem));
-              cursor: pointer;
             }
           }
         }
 
+        .home-title {
+          font-size: 1.2rem;
+          font-weight: bold;
+          margin: 0;
+          padding: .4rem;
+        }
+
         .home-subtitle {
           font-size: 1rem;
           font-weight: normal;
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 3ecc6306..2541f697 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -142,6 +142,8 @@ enableEmoji = true
           gravatarEmail = ""
           # URL of avatar shown in home page
           avatarURL = "/images/avatar.png"
+          # title shown in home page
+          title = ""
           # subtitle shown in home page
           subtitle = "A Clean, Elegant but Advanced Hugo Theme"
           # whether to use typeit animation for subtitle
@@ -340,6 +342,8 @@ enableEmoji = true
           gravatarEmail = ""
           # 主页显示头像的 URL
           avatarURL = "/images/avatar.png"
+          # 主页显示的网站标题
+          title = ""
           # 主页显示的网站副标题
           subtitle = "一个简洁、优雅且高效的 Hugo 主题"
           # 是否为副标题显示打字机动画
@@ -534,6 +538,8 @@ enableEmoji = true
           gravatarEmail = ""
           # URL of avatar shown in home page
           avatarURL = "/images/avatar.png"
+          # title shown in home page
+          title = ""
           # subtitle shown in home page
           subtitle = "Un thème Hugo simple, élégant et efficace"
           # whether to use typeit animation for subtitle
diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md
index 94df5f0a..c1a52e2a 100644
--- a/exampleSite/content/posts/theme-documentation-basics.en.md
+++ b/exampleSite/content/posts/theme-documentation-basics.en.md
@@ -304,6 +304,8 @@ Please open the code block below to view the complete sample configuration :(far
       gravatarEmail = ""
       # URL of avatar shown in home page
       avatarURL = "/images/avatar.png"
+      # {{< version 0.2.5 >}} title shown in home page
+      title = ""
       # subtitle shown in home page
       subtitle = "This is My New Hugo Site"
       # whether to use typeit animation for subtitle
diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md
index 517c07d1..20c504fd 100644
--- a/exampleSite/content/posts/theme-documentation-basics.fr.md
+++ b/exampleSite/content/posts/theme-documentation-basics.fr.md
@@ -309,6 +309,8 @@ Please open the code block below to view the complete sample configuration :(far
       gravatarEmail = ""
       # URL of avatar shown in home page
       avatarURL = "/images/avatar.png"
+      # {{< version 0.2.5 >}} title shown in home page
+      title = ""
       # subtitle shown in home page
       subtitle = "This is My New Hugo Site"
       # whether to use typeit animation for subtitle
diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
index d2afa2c1..6924f418 100644
--- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
+++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
@@ -311,6 +311,8 @@ hugo
       gravatarEmail = ""
       # 主页显示头像的 URL
       avatarURL = "/images/avatar.png"
+      # {{< version 0.2.5 >}} 主页显示的网站标题
+      title = ""
       # 主页显示的网站副标题
       subtitle = "这是我的全新 Hugo 网站"
       # 是否为副标题显示打字机动画
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 7a3bfe62..55dd4893 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -28,11 +28,9 @@
         <div class="menu">
             <div class="menu-inner">
                 {{- range .Site.Menus.main -}}
-                    {{- $url := "" -}}
+                    {{- $url := .URL | relLangURL -}}
                     {{- with .Page -}}
                         {{- $url = .RelPermalink -}}
-                    {{- else -}}
-                        {{- $url = .URL | relLangURL -}}
                     {{- end -}}
                     <a class="menu-item{{ if $.IsMenuCurrent `main` . | or ($.HasMenuCurrent `main` .) | or (eq $.RelPermalink $url) }} active{{ end }}" href="{{ $url }}"{{ with .Title }} title="{{ . }}"{{ end }}{{ if (urls.Parse $url).Host }} rel="noopener noreffer" target="_blank"{{ end }}>
                         {{- .Pre | safeHTML }} {{ .Name }} {{ .Post | safeHTML -}}
@@ -137,11 +135,9 @@
             {{- end -}}
             {{- $currentPage := . -}}
             {{- range .Site.Menus.main -}}
-                {{- $url := "" -}}
+                {{- $url := .URL | relLangURL -}}
                 {{- with .Page -}}
                     {{- $url = .RelPermalink -}}
-                {{- else -}}
-                    {{- $url = .URL | relLangURL -}}
                 {{- end -}}
                 <a class="menu-item" href="{{ $url }}" title="{{ .Title }}"{{ if (urls.Parse $url).Host }} rel="noopener noreffer" target="_blank"{{ end }}>
                     {{- .Pre | safeHTML }}{{ .Name }}{{ .Post | safeHTML -}}
diff --git a/layouts/partials/home/profile.html b/layouts/partials/home/profile.html
index 717420a3..427ba8c2 100644
--- a/layouts/partials/home/profile.html
+++ b/layouts/partials/home/profile.html
@@ -1,29 +1,35 @@
+{{- $profile := .Site.Params.home.profile -}}
 <div class="home-profile">
-    {{- $avatar := .Site.Params.home.profile.avatarURL -}}
-    {{- with .Site.Params.home.profile.gravatarEmail -}}
+    {{- $avatar := $profile.avatarURL -}}
+    {{- with $profile.gravatarEmail -}}
         {{- $avatar = md5 . | printf "https://www.gravatar.com/avatar/%s?s=240&d=mp" -}}
     {{- end -}}
     {{- if $avatar -}}
         <div class="home-avatar">
-            {{- $firstMenu := "" -}}
-            {{- if .Site.Menus.main -}}
-                {{- range first 1 $.Site.Menus.main -}}
-                    {{- $firstMenu = . -}}
+            {{- $menus := $.Site.Menus.main | default slice -}}
+            {{- with index $menus 0 -}}
+                {{- $url := .URL | relLangURL -}}
+                {{- with .Page -}}
+                    {{- $url = .RelPermalink -}}
                 {{- end -}}
-            {{- end -}}
-            {{- with $firstMenu -}}
-                <a href="{{- .URL -}}" title="{{- .Name -}}">
+                <a href="{{ $url }}"{{ with .Title | default .Name }} title="{{ . }}"{{ end }}{{ if (urls.Parse $url).Host }} rel="noopener noreffer" target="_blank"{{ end }}>
                     {{- dict "src" $avatar "alt" .Name | partial "plugin/image.html" -}}
                 </a>
             {{- else -}}
-                {{- dict "src" $avatar "alt" " " | partial "plugin/image.html" -}}
+                {{- dict "src" $avatar | partial "plugin/image.html" -}}
             {{- end -}}
         </div>
     {{- end -}}
 
-    {{- with .Site.Params.home.profile.subtitle -}}
+    {{- with $profile.title -}}
+        <h1 class="home-title">
+            {{- . -}}
+        </h1>
+    {{- end -}}
+
+    {{- with $profile.subtitle -}}
         <h2 class="home-subtitle">
-            {{- if $.Site.Params.home.profile.typeit -}}
+            {{- if $profile.typeit -}}
                 {{- $id := dict "content" . "scratch" $.Scratch | partial "function/id.html" -}}
                 <div id="{{ $id }}" class="typeit"></div>
                 {{- dict $id (slice $id) | dict "typeitMap" | merge ($.Scratch.Get "this") | $.Scratch.Set "this" -}}
@@ -33,7 +39,7 @@
         </h2>
     {{- end -}}
 
-    {{- if .Site.Params.home.profile.social -}}
+    {{- if $profile.social -}}
         <div class="social-links">
             {{- $socialMap := resources.Get "data/social.yaml" | transform.Unmarshal -}}
             {{- $socialArr := slice -}}
@@ -58,7 +64,7 @@
         </div>
     {{- end -}}
 
-    {{- with .Site.Params.home.profile.disclaimer -}}
+    {{- with $profile.disclaimer -}}
         <h3 class="home-disclaimer">
             {{- . | safeHTML -}}
         </h3>
diff --git a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
index 8b9c4822..01bef4e3 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.fr.min.css.map */
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
index 08344bcf..18bd5f23 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.en.min.css.map */
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
index a9436997..9e0b3888 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.zh-cn.min.css.map */
\ No newline at end of file

From 44955320ba182ac92bc7d6412c9254e833e7c2f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rodolfo=20Mart=C3=ADnez=20Vega?= <rodomar@outlook.com>
Date: Mon, 4 May 2020 06:12:28 -0500
Subject: [PATCH 07/11] Add Spanish translation (#309)

---
 README.md                                     |   1 +
 README.zh-cn.md                               |   1 +
 .../posts/theme-documentation-basics.en.md    |   1 +
 .../posts/theme-documentation-basics.fr.md    |   1 +
 .../posts/theme-documentation-basics.zh-cn.md |   1 +
 i18n/es.toml                                  | 194 ++++++++++++++++++
 6 files changed, 199 insertions(+)
 create mode 100644 i18n/es.toml

diff --git a/README.md b/README.md
index 97207188..eb14005f 100644
--- a/README.md
+++ b/README.md
@@ -131,6 +131,7 @@ LoveIt supports the following languages:
 * Polish
 * Brazilian Portuguese
 * Italian
+* Spanish
 * [Contribute with a new language](https://github.com/dillonzq/LoveIt/pulls)
 
 [Languages Compatibility](https://hugoloveit.com/theme-documentation-basics/#language-compatibility)
diff --git a/README.zh-cn.md b/README.zh-cn.md
index 0c798ef3..c2b74258 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -126,6 +126,7 @@ LoveIt 支持下列语言:
 * 波兰语
 * 巴西葡萄牙语
 * 意大利语
+* 西班牙语
 * [贡献一种新的语言](https://github.com/dillonzq/LoveIt/pulls)
 
 [语言兼容性](https://hugoloveit.com/zh-cn/theme-documentation-basics/#language-compatibility)
diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md
index c1a52e2a..39e4832e 100644
--- a/exampleSite/content/posts/theme-documentation-basics.en.md
+++ b/exampleSite/content/posts/theme-documentation-basics.en.md
@@ -839,6 +839,7 @@ In `config/css/_custom.scss`, you can add some css style code to customize the s
 | Polish               | `pl`      | `pl`                  | :(far fa-square fa-fw):       | :(far fa-square fa-fw):       |
 | Brazilian Portuguese | `pt-br`   | `pt-BR`               | :(far fa-square fa-fw):       | :(far fa-check-square fa-fw): |
 | Italian              | `it`      | `it`                  | :(far fa-square fa-fw):       | :(far fa-check-square fa-fw): |
+| Spanish              | `es`      | `es`                  | :(far fa-square fa-fw):       | :(far fa-check-square fa-fw): |
 
 ### 4.2 Basic Configuration
 
diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md
index 20c504fd..6b59bb4f 100644
--- a/exampleSite/content/posts/theme-documentation-basics.fr.md
+++ b/exampleSite/content/posts/theme-documentation-basics.fr.md
@@ -844,6 +844,7 @@ In `config/css/_custom.scss`, you can add some css style code to customize the s
 | Polish               | `pl`      | `pl`                  | :(far fa-square fa-fw):       | :(far fa-square fa-fw):       |
 | Brazilian Portuguese | `pt-br`   | `pt-BR`               | :(far fa-square fa-fw):       | :(far fa-check-square fa-fw): |
 | Italian              | `it`      | `it`                  | :(far fa-square fa-fw):       | :(far fa-check-square fa-fw): |
+| Spanish              | `es`      | `es`                  | :(far fa-square fa-fw):       | :(far fa-check-square fa-fw): |
 
 ### 4.2 Basic Configuration
 
diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
index 6924f418..11bca24b 100644
--- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
+++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
@@ -847,6 +847,7 @@ $code-font-family: Fira Mono, Source Code Pro, Menlo, Consolas, Monaco, monospac
 | 波兰语 | `pl` | `pl` | :(far fa-square fa-fw): | :(far fa-square fa-fw): |
 | 巴西葡萄牙语 | `pt-br` | `pt-BR` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
 | 意大利语 | `it` | `it` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
+| 西班牙语 | `es` | `es` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
 
 ### 4.2 基本配置
 
diff --git a/i18n/es.toml b/i18n/es.toml
new file mode 100644
index 00000000..f40889cb
--- /dev/null
+++ b/i18n/es.toml
@@ -0,0 +1,194 @@
+# Translations for Spanish
+# Traducciones para español
+# https://gohugo.io/content-management/multilingual/#translation-of-strings
+
+# === baseof ==
+[backToTop]
+other = "Volver arriba"
+
+[viewComments]
+other = "Ver comentarios"
+# === baseof ==
+
+# === Post ===
+[posts]
+other = "Artículos"
+# === Post ===
+
+# === Taxonomy ===
+[allSome]
+other = "Todo %s"
+
+[tag]
+other = "Etiqueta"
+
+[tags]
+other = "Etiquetas"
+
+[category]
+other = "Categoría"
+
+[categories]
+other = "Categorías"
+# === Taxonomy ===
+
+# === Pagination ===
+[more]
+other = "Más"
+# === Pagination ===
+
+# === partials/header.html ===
+[selectLanguage]
+other = "Selecciona el lenguage"
+
+[switchTheme]
+other = "Cambia el tema"
+# === partials/header.html ===
+
+# === partials/footer.html ===
+[poweredBySome]
+other = "Provisto por %s"
+
+[theme]
+other = "Tema"
+# === partials/footer.html ===
+
+# === partials/comment.html ===
+[valineLang]
+other = "en"
+
+[valinePlaceholder]
+other = "Tu comentario ..."
+
+[facebookLanguageCode]
+other = "es_MX"
+# === partials/comment.html ===
+
+# === partials/assets.html ===
+[search]
+other = "Buscar"
+
+[searchPlaceholder]
+other = "Busca títulos o contenido..."
+
+[clear]
+other = "Limpiar"
+
+[cancel]
+other = "Cancelar"
+
+[noResultsFound]
+other = "No se encontraron resultados"
+
+[lunrLanguageLib]
+other = "lib/lunr/lunr.es.js"
+
+[lunrLanguageCode]
+other = "es"
+
+[copyToClipboard]
+other = "Copiar al portapapeles"
+# === partials/assets.html ===
+
+# === partials/plugin/share.html ===
+[shareOn]
+other = "Compartir en"
+# === partials/plugin/share.html ===
+
+# === posts/single.html ===
+[contents]
+other = "Contenido"
+
+[publish]
+other = "publicado el"
+
+[included]
+other = "incluido en"
+
+[wordCount]
+other = "unas {{ .Count }} palabras"
+
+[readingTime]
+other = "{{ .Count }} min"
+
+[views]
+other = "vistas"
+
+[author]
+other = "Autor"
+
+[lastMod]
+other = "El artículo fue actualizado el %s"
+
+[license]
+other = "Publicado bajo la licencia %s"
+
+[seeMarkdown]
+other = "Leer Markdown"
+
+[back]
+other = "Regresar"
+
+[home]
+other = "Inicio"
+
+[readMore]
+other = "Leer más"
+# === posts/single.html ===
+
+# === 404.html ===
+[pageNotFound]
+other = "Página no encontrada"
+
+[pageNotFoundText]
+other = "La página que estás buscando no existe. Lo siento."
+# === 404.html ===
+
+# === shortcodes/admonition.html ===
+[note]
+other = "Nota"
+
+[abstract]
+other = "Resumen"
+
+[info]
+other = "Información"
+
+[tip]
+other = "Consejo"
+
+[success]
+other = "Éxito"
+
+[question]
+other = "Pregunta"
+
+[warning]
+other = "Advertencia"
+
+[failure]
+other = "Fallo"
+
+[danger]
+other = "Peligro"
+
+[bug]
+other = "Error"
+
+[example]
+other = "Ejemplo"
+
+[quote]
+other = "Cita"
+# === shortcodes/admonition.html ===
+
+# === shortcodes/version.html ===
+[new]
+other = "NUEVO"
+
+[changed]
+other = "MODIFICADO"
+
+[deleted]
+other = "ELIMINADO"
+# === shortcodes/version.html ===

From 7dfa964d3fd54b6490316c234e0694e7db74a004 Mon Sep 17 00:00:00 2001
From: Dillon <dillonzq@outlook.com>
Date: Mon, 4 May 2020 20:28:27 +0800
Subject: [PATCH 08/11] feat(comment): add Utterances comment system (#317)

---
 README.md                                     |  3 +-
 README.zh-cn.md                               |  1 +
 assets/css/_partial/_single/_comment.scss     |  2 +-
 assets/css/_variables.scss                    |  2 +-
 assets/js/theme.min.js                        |  2 +-
 assets/js/theme.min.js.map                    |  2 +-
 exampleSite/config.toml                       | 14 ++++++--
 exampleSite/content/about.en.md               |  3 +-
 exampleSite/content/about.fr.md               |  3 +-
 exampleSite/content/about.zh-cn.md            |  1 +
 .../posts/theme-documentation-basics.en.md    |  9 +++++
 .../posts/theme-documentation-basics.fr.md    |  9 +++++
 .../posts/theme-documentation-basics.zh-cn.md |  9 +++++
 layouts/partials/comment.html                 | 16 ++++++++-
 package.json                                  |  1 +
 ...s_788c4a23da05f3aa3e03b28055a2e5f9.content |  2 +-
 ...s_84a735b886b24531b6e80c5fb2060510.content |  2 +-
 ...s_d40178ffcb058d725849178b0a7a43cc.content |  2 +-
 src/js/theme.js                               | 34 ++++++++++++++++---
 19 files changed, 99 insertions(+), 18 deletions(-)

diff --git a/README.md b/README.md
index eb14005f..d027eb3e 100644
--- a/README.md
+++ b/README.md
@@ -89,7 +89,8 @@ I hope you will LoveIt ❤️!
 * **Valine** comment system supported by [Valine](https://valine.js.org/)
 * **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/)
 * **Telegram comments** system supported by [Telegram Comments](https://comments.app/)
-* **Commento** comments system supported by [Commento](https://commento.io/)
+* **Commento** comment system supported by [Commento](https://commento.io/)
+* **Utterances** comment system supported by [Utterances](https://utteranc.es/)
 
 ### Extended Features
 
diff --git a/README.zh-cn.md b/README.zh-cn.md
index c2b74258..60b4f02a 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -85,6 +85,7 @@
 * 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统
 * 支持 **[Telegram comments](https://comments.app/) 评论**系统
 * 支持 **[Commento](https://commento.io/)** 评论系统
+* 支持 **[Utterances](https://utteranc.es/)** 评论系统
 
 ### 扩展功能
 
diff --git a/assets/css/_partial/_single/_comment.scss b/assets/css/_partial/_single/_comment.scss
index 21dbd9dd..302e9309 100644
--- a/assets/css/_partial/_single/_comment.scss
+++ b/assets/css/_partial/_single/_comment.scss
@@ -1,3 +1,3 @@
-.comment {
+#comments {
   padding: 4rem 0;
 }
diff --git a/assets/css/_variables.scss b/assets/css/_variables.scss
index 396621ed..d673f158 100644
--- a/assets/css/_variables.scss
+++ b/assets/css/_variables.scss
@@ -371,4 +371,4 @@ $admonition-background-color-map: (
 ) !default;
 // ========== Admonition ========== //
 
-$MAX_LENGTH: 9999px;
+$MAX_LENGTH: 12000px;
diff --git a/assets/js/theme.min.js b/assets/js/theme.min.js
index dd88714e..9921b613 100644
--- a/assets/js/theme.min.js
+++ b/assets/js/theme.min.js
@@ -1,3 +1,3 @@
-"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search,c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){var d=b.maxResultLength?b.maxResultLength:10,e=b.snippetLength?b.snippetLength:50,f=b.highlightTag?b.highlightTag:"em",g=c?"mobile":"desktop",h=document.getElementById("header-".concat(g)),i=document.getElementById("search-input-".concat(g)),j=document.getElementById("search-toggle-".concat(g)),k=document.getElementById("search-loading-".concat(g)),l=document.getElementById("search-clear-".concat(g));c?(this._searchMobileOnce=!0,i.addEventListener("focus",function(){document.body.classList.add("blur"),h.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){h.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),l.addEventListener("click",function(){l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,j.addEventListener("click",function(){document.body.classList.add("blur"),h.classList.add("open"),i.focus()},!1),l.addEventListener("click",function(){l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),i.addEventListener("input",function(){l.style.display=""===i.value?"none":"inline"},!1);var m=function(){var h=autocomplete("#search-input-".concat(g),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(g),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,g){k.style.display="inline",l.style.display="none";var h=function(a){k.style.display="none",l.style.display="inline",g(a)};if("lunr"===b.type){var i=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var b={};return a._index.search(c).forEach(function(c){var d=c.ref,g=c.matchData.metadata,h=a._indexData[d],i=h.uri,j=h.title,k=h.content;if(!b[i]){var l=0;Object.values(g).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<l||0===l)&&(l=c)}}),l-=e/5,0<l?(l+=k.substr(l,20).lastIndexOf(" ")+1,k="..."+k.substr(l,e)):k=k.substr(0,e),Object.keys(g).forEach(function(a){j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">")),k=k.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">"))}),b[i]={uri:i,title:j,date:h.date,context:k}}}),Object.values(b).slice(0,d)};a._index?h(i()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,h(i())}).catch(function(a){console.error(a),h([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*d,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(e)],highlightPreTag:"<".concat(f,">"),highlightPostTag:"</".concat(f,">")}).then(function(a){var b=a.hits,c={};b.forEach(function(a){var b=a.uri,d=a.date,e=a._highlightResult.title,f=a._snippetResult.content;c[b]&&c[b].context.length>f.value||(c[b]={uri:b,title:e.value,date:d,context:f.value})}),h(Object.values(c).slice(0,d))}).catch(function(a){console.error(a),h([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});h.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=h:a._searchDesktop=h};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var n=document.createElement("script");n.id="lunr-segmentit",n.type="text/javascript",n.src=b.lunrSegmentitURL,n.async=!0,n.readyState?n.onreadystatechange=function(){("loaded"==n.readyState||"complete"==n.readyState)&&(n.onreadystatechange=null,m())}:n.onload=function(){m()},document.body.appendChild(n)}else m()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin","<i class=\"arrow fas fa-chevron-right fa-fw\"></i>"),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin","<i class=\"fas fa-ellipsis-h fa-fw\"></i>"),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin","<i class=\"far fa-copy fa-fw\"></i>"),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length<a.config.code.maxShownLines+2)&&b.classList.add("open"),a.config.code.copyTitle){h.setAttribute("data-clipboard-text",i),h.title=a.config.code.copyTitle;var j=new ClipboardJS(h);j.on("success",function(){a.util.animateCSS(d,"flash")}),e.appendChild(h)}b.insertBefore(e,b.firstChild)}})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin","<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initTypeit",value:function initTypeit(){var a=this;if(this.config.typeit){var b=this.config.typeit,c=b.speed?b.speed:100,d=b.cursorSpeed?b.cursorSpeed:1e3,e=b.cursorChar?b.cursorChar:"|";Object.values(b.data).forEach(function(f){var g=function(h){var i=f[h],j=new TypeIt("#".concat(i),{strings:a.data[i],speed:c,lifeLike:!0,cursorSpeed:d,cursorChar:e,waitUntilVisible:!0,afterComplete:function afterComplete(){return h===f.length-1?void(0<=b.duration&&window.setTimeout(function(){j.destroy()},b.duration)):void(j.destroy(),g(h+1))}}).go()};g(0)})}}},{key:"initComment",value:function initComment(){if(this.config.comment&&this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var a=new Gitalk(this.config.comment.gitalk.body);a.render("gitalk")}this.config.comment&&this.config.comment.valine&&new Valine(this.config.comment.valine)}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===this.config.headerMode.desktop&&b.push(document.getElementById("header-desktop")),"auto"===this.config.headerMode.mobile&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
+"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search,c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){var d=b.maxResultLength?b.maxResultLength:10,e=b.snippetLength?b.snippetLength:50,f=b.highlightTag?b.highlightTag:"em",g=c?"mobile":"desktop",h=document.getElementById("header-".concat(g)),i=document.getElementById("search-input-".concat(g)),j=document.getElementById("search-toggle-".concat(g)),k=document.getElementById("search-loading-".concat(g)),l=document.getElementById("search-clear-".concat(g));c?(this._searchMobileOnce=!0,i.addEventListener("focus",function(){document.body.classList.add("blur"),h.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){h.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),l.addEventListener("click",function(){l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,j.addEventListener("click",function(){document.body.classList.add("blur"),h.classList.add("open"),i.focus()},!1),l.addEventListener("click",function(){l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),i.addEventListener("input",function(){l.style.display=""===i.value?"none":"inline"},!1);var m=function(){var h=autocomplete("#search-input-".concat(g),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(g),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,g){k.style.display="inline",l.style.display="none";var h=function(a){k.style.display="none",l.style.display="inline",g(a)};if("lunr"===b.type){var i=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var b={};return a._index.search(c).forEach(function(c){var d=c.ref,g=c.matchData.metadata,h=a._indexData[d],i=h.uri,j=h.title,k=h.content;if(!b[i]){var l=0;Object.values(g).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<l||0===l)&&(l=c)}}),l-=e/5,0<l?(l+=k.substr(l,20).lastIndexOf(" ")+1,k="..."+k.substr(l,e)):k=k.substr(0,e),Object.keys(g).forEach(function(a){j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">")),k=k.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">"))}),b[i]={uri:i,title:j,date:h.date,context:k}}}),Object.values(b).slice(0,d)};a._index?h(i()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,h(i())}).catch(function(a){console.error(a),h([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*d,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(e)],highlightPreTag:"<".concat(f,">"),highlightPostTag:"</".concat(f,">")}).then(function(a){var b=a.hits,c={};b.forEach(function(a){var b=a.uri,d=a.date,e=a._highlightResult.title,f=a._snippetResult.content;c[b]&&c[b].context.length>f.value||(c[b]={uri:b,title:e.value,date:d,context:f.value})}),h(Object.values(c).slice(0,d))}).catch(function(a){console.error(a),h([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});h.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=h:a._searchDesktop=h};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var n=document.createElement("script");n.id="lunr-segmentit",n.type="text/javascript",n.src=b.lunrSegmentitURL,n.async=!0,n.readyState?n.onreadystatechange=function(){("loaded"==n.readyState||"complete"==n.readyState)&&(n.onreadystatechange=null,m())}:n.onload=function(){m()},document.body.appendChild(n)}else m()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin","<i class=\"arrow fas fa-chevron-right fa-fw\"></i>"),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin","<i class=\"fas fa-ellipsis-h fa-fw\"></i>"),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin","<i class=\"far fa-copy fa-fw\"></i>"),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length<a.config.code.maxShownLines+2)&&b.classList.add("open"),a.config.code.copyTitle){h.setAttribute("data-clipboard-text",i),h.title=a.config.code.copyTitle;var j=new ClipboardJS(h);j.on("success",function(){a.util.animateCSS(d,"flash")}),e.appendChild(h)}b.insertBefore(e,b.firstChild)}})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin","<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initTypeit",value:function initTypeit(){var a=this;if(this.config.typeit){var b=this.config.typeit,c=b.speed?b.speed:100,d=b.cursorSpeed?b.cursorSpeed:1e3,e=b.cursorChar?b.cursorChar:"|";Object.values(b.data).forEach(function(f){var g=function(h){var i=f[h],j=new TypeIt("#".concat(i),{strings:a.data[i],speed:c,lifeLike:!0,cursorSpeed:d,cursorChar:e,waitUntilVisible:!0,afterComplete:function afterComplete(){return h===f.length-1?void(0<=b.duration&&window.setTimeout(function(){j.destroy()},b.duration)):void(j.destroy(),g(h+1))}}).go()};g(0)})}}},{key:"initComment",value:function initComment(){var a=this;if(this.config.comment){if(this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var d=new Gitalk(this.config.comment.gitalk.body);d.render("gitalk")}if(this.config.comment.valine&&new Valine(this.config.comment.valine),this.config.comment.utterances){var b=this.config.comment.utterances,c=document.createElement("script");c.src="https://utteranc.es/client.js",c.type="text/javascript",c.setAttribute("repo",b.repo),c.setAttribute("issue-term",b.issueTerm),b.label&&c.setAttribute("label",b.label),c.setAttribute("theme",this.isDark?b.darkTheme:b.lightTheme),c.crossOrigin="anonymous",c.async=!0,document.getElementById("utterances").appendChild(c),this._utterancesOnSwitchTheme=this._utterancesOnSwitchTheme||function(){var c={type:"set-theme",theme:a.isDark?b.darkTheme:b.lightTheme},d=document.querySelector(".utterances-frame");d.contentWindow.postMessage(c,"https://utteranc.es")},this.switchThemeEventSet.add(this._utterancesOnSwitchTheme)}}}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===this.config.headerMode.desktop&&b.push(document.getElementById("header-desktop")),"auto"===this.config.headerMode.mobile&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
 
 //# sourceMappingURL=theme.min.js.map
\ No newline at end of file
diff --git a/assets/js/theme.min.js.map b/assets/js/theme.min.js.map
index 72865060..4e553b38 100644
--- a/assets/js/theme.min.js.map
+++ b/assets/js/theme.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n    forEach(elements, handler) {\n        elements = elements || [];\n        for (let i = 0; i < elements.length; i++) handler(elements[i]);\n    }\n\n    getScrollTop() {\n        return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n    }\n\n    isMobile() {\n        return window.matchMedia('only screen and (max-width: 680px)').matches;\n    }\n\n    isTocStatic() {\n        return window.matchMedia('only screen and (max-width: 960px)').matches;\n    }\n\n    animateCSS(element, animation, reserved, callback) {\n        if (!Array.isArray(animation)) animation = [animation];\n        element.classList.add('animated', ...animation);\n        const handler = () => {\n            element.classList.remove('animated', ...animation);\n            element.removeEventListener('animationend', handler);\n            if (typeof callback === 'function') callback();\n        };\n        if (!reserved) element.addEventListener('animationend', handler, false);\n    }\n}\n\nclass Theme {\n    constructor() {\n        this.config = window.config;\n        this.data = this.config.data;\n        this.isDark = document.body.getAttribute('theme') === 'dark';\n        this.util = new Util();\n        this.newScrollTop = this.util.getScrollTop();\n        this.oldScrollTop = this.newScrollTop;\n        this.scrollEventSet = new Set();\n        this.resizeEventSet = new Set();\n        this.switchThemeEventSet = new Set();\n        this.clickMaskEventSet = new Set();\n        if (objectFitImages) objectFitImages();\n    }\n\n    initSVGIcon() {\n        this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n            fetch($icon.getAttribute('data-svg-src'))\n                .then(response => response.text())\n                .then(svg => {\n                    const $temp = document.createElement('div');\n                    $temp.insertAdjacentHTML('afterbegin', svg);\n                    const $svg = $temp.firstChild;\n                    $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n                    $svg.classList.add('icon');\n                    const $titleElements = $svg.getElementsByTagName('title');\n                    if ($titleElements.length) $svg.removeChild($titleElements[0]);\n                    $icon.parentElement.replaceChild($svg, $icon);\n                })\n                .catch(err => { console.error(err); });\n        });\n    }\n\n    initTwemoji() {\n        if (this.config.twemoji) twemoji.parse(document.body);\n    }\n\n    initMenuMobile() {\n        const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n        const $menuMobile = document.getElementById('menu-mobile');\n        $menuToggleMobile.addEventListener('click', () => {\n            document.body.classList.toggle('blur');\n            $menuToggleMobile.classList.toggle('active');\n            $menuMobile.classList.toggle('active');\n        }, false);\n        this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n            $menuToggleMobile.classList.remove('active');\n            $menuMobile.classList.remove('active');\n        });\n        this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n    }\n\n    initSwitchTheme() {\n        this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n            $themeSwitch.addEventListener('click', () => {\n                if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n                else document.body.setAttribute('theme', 'dark');\n                this.isDark = !this.isDark;\n                window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n                for (let event of this.switchThemeEventSet) event();\n            }, false);\n        });\n    }\n\n    initSearch() {\n        const searchConfig = this.config.search;\n        const isMobile = this.util.isMobile();\n        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n        const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;\n        const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;\n        const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';\n\n        const suffix = isMobile ? 'mobile' : 'desktop';\n        const $header = document.getElementById(`header-${suffix}`);\n        const $searchInput = document.getElementById(`search-input-${suffix}`);\n        const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n        const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n        const $searchClear = document.getElementById(`search-clear-${suffix}`);\n        if (isMobile) {\n            this._searchMobileOnce = true;\n            $searchInput.addEventListener('focus', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n            }, false);\n            document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n                $header.classList.remove('open');\n                document.body.classList.remove('blur');\n                document.getElementById('menu-toggle-mobile').classList.remove('active');\n                document.getElementById('menu-mobile').classList.remove('active');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n        } else {\n            this._searchDesktopOnce = true;\n            $searchToggle.addEventListener('click', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n                $searchInput.focus();\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            }, false);\n            this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n        }\n        $searchInput.addEventListener('input', () => {\n            if ($searchInput.value === '') $searchClear.style.display = 'none';\n            else $searchClear.style.display = 'inline';\n        }, false);\n\n        const initAutosearch = () => {\n            const autosearch = autocomplete(`#search-input-${suffix}`, {\n                hint: false,\n                autoselect: true,\n                dropdownMenuContainer: `#search-dropdown-${suffix}`,\n                clearOnSelected: true,\n                cssClasses: { noPrefix: true },\n                debug: true,\n            }, {\n                name: 'search',\n                source: (query, callback) => {\n                    $searchLoading.style.display = 'inline';\n                    $searchClear.style.display = 'none';\n                    const finish = (results) => {\n                        $searchLoading.style.display = 'none';\n                        $searchClear.style.display = 'inline';\n                        callback(results);\n                    };\n                    if (searchConfig.type === 'lunr') {\n                        const search = () => {\n                            if (lunr.queryHandler) query = lunr.queryHandler(query);\n                            const results = {};\n                            this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n                                const matchData = this._indexData[ref];\n                                let { uri, title, content: context } = matchData;\n                                if (results[uri]) return;\n                                let position = 0;\n                                Object.values(metadata).forEach(({ content }) => {\n                                    if (content) {\n                                        const matchPosition = content.position[0][0];\n                                        if (matchPosition < position || position === 0) position = matchPosition;\n                                    }\n                                });\n                                position -= snippetLength / 5;\n                                if (position > 0) {\n                                    position += context.substr(position, 20).lastIndexOf(' ') + 1;\n                                    context = '...' + context.substr(position, snippetLength);\n                                } else {\n                                    context = context.substr(0, snippetLength);\n                                }\n                                Object.keys(metadata).forEach(key => {\n                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n                                });\n                                results[uri] = {\n                                    'uri': uri,\n                                    'title' : title,\n                                    'date' : matchData.date,\n                                    'context' : context,\n                                };\n                            });\n                            return Object.values(results).slice(0, maxResultLength);\n                        }\n                        if (!this._index) {\n                            fetch(searchConfig.lunrIndexURL)\n                                .then(response => response.json())\n                                .then(data => {\n                                    const indexData = {};\n                                    this._index = lunr(function () {\n                                        if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n                                        this.ref('objectID');\n                                        this.field('title', { boost: 50 });\n                                        this.field('tags', { boost: 20 });\n                                        this.field('categories', { boost: 20 });\n                                        this.field('content', { boost: 10 });\n                                        this.metadataWhitelist = ['position'];\n                                        data.forEach((record) => {\n                                            indexData[record.objectID] = record;\n                                            this.add(record);\n                                        });\n                                    });\n                                    this._indexData = indexData;\n                                    finish(search());\n                                }).catch(err => {\n                                    console.error(err);\n                                    finish([]);\n                                });\n                        } else finish(search());\n                    } else if (searchConfig.type === 'algolia') {\n                        this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n                        this._algoliaIndex\n                            .search(query, {\n                                offset: 0,\n                                length: maxResultLength * 8,\n                                attributesToHighlight: ['title'],\n                                attributesToSnippet: [`content:${snippetLength}`],\n                                highlightPreTag: `<${highlightTag}>`,\n                                highlightPostTag: `</${highlightTag}>`,\n                            })\n                            .then(({ hits }) => {\n                                const results = {};\n                                hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n                                    if (results[uri] && results[uri].context.length > content.value) return;\n                                    results[uri] = {\n                                        uri: uri,\n                                        title: title.value,\n                                        date: date,\n                                        context: content.value,\n                                    };\n                                });\n                                finish(Object.values(results).slice(0, maxResultLength));\n                            })\n                            .catch(err => {\n                                console.error(err);\n                                finish([]);\n                            });\n                    }\n                },\n                templates: {\n                    suggestion: ({ title, date, context }) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n                    empty: ({ query }) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n                    footer: ({}) => {\n                        const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n                            searchType: 'algolia',\n                            icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n                            href: 'https://www.algolia.com/',\n                        } : {\n                            searchType: 'Lunr.js',\n                            icon: '',\n                            href: 'https://lunrjs.com/',\n                        };\n                        return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;},\n                },\n            });\n            autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {\n                window.location.assign(suggestion.uri);\n            });\n            if (isMobile) this._searchMobile = autosearch;\n            else this._searchDesktop = autosearch;\n        };\n        if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n            const script = document.createElement('script');\n            script.id = 'lunr-segmentit';\n            script.type = 'text/javascript';\n            script.src = searchConfig.lunrSegmentitURL;\n            script.async = true;\n            if (script.readyState) {\n                script.onreadystatechange = () => {\n                    if (script.readyState == 'loaded' || script.readyState == 'complete'){\n                        script.onreadystatechange = null;\n                        initAutosearch();\n                    }\n                };\n            } else {\n                script.onload = () => {\n                    initAutosearch();\n                };\n            }\n            document.body.appendChild(script);\n        } else initAutosearch();\n    }\n\n    initDetails() {\n        this.util.forEach(document.getElementsByClassName('details'), $details => {\n            const $summary = $details.getElementsByClassName('details-summary')[0];\n            $summary.addEventListener('click', () => {\n                $details.classList.toggle('open');\n            }, false);\n        });\n    }\n\n    initLightGallery() {\n        if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n    }\n\n    initHighlight() {\n        this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n            const $chroma = document.createElement('div');\n            $chroma.className = $preChroma.className;\n            const $table = document.createElement('table');\n            $chroma.appendChild($table);\n            const $tbody = document.createElement('tbody');\n            $table.appendChild($tbody);\n            const $tr = document.createElement('tr');\n            $tbody.appendChild($tr);\n            const $td = document.createElement('td');\n            $tr.appendChild($td);\n            $preChroma.parentElement.replaceChild($chroma, $preChroma);\n            $td.appendChild($preChroma);\n        });\n        this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n            const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n            if ($codeElements.length) {\n                const $code = $codeElements[$codeElements.length - 1];\n                const $header = document.createElement('div');\n                $header.className = 'code-header ' + $code.className.toLowerCase();\n                const $title = document.createElement('span');\n                $title.classList.add('code-title');\n                $title.insertAdjacentHTML('afterbegin', '<i class=\"arrow fas fa-chevron-right fa-fw\"></i>');\n                $title.addEventListener('click', () => {\n                    $chroma.classList.toggle('open');\n                }, false);\n                $header.appendChild($title);\n                const $ellipses = document.createElement('span');\n                $ellipses.insertAdjacentHTML('afterbegin', '<i class=\"fas fa-ellipsis-h fa-fw\"></i>');\n                $ellipses.classList.add('ellipses');\n                $ellipses.addEventListener('click', () => {\n                    $chroma.classList.add('open');\n                }, false);\n                $header.appendChild($ellipses);\n                const $copy = document.createElement('span');\n                $copy.insertAdjacentHTML('afterbegin', '<i class=\"far fa-copy fa-fw\"></i>');\n                $copy.classList.add('copy');\n                const code = $code.innerText;\n                if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n                if (this.config.code.copyTitle) {\n                    $copy.setAttribute('data-clipboard-text', code);\n                    $copy.title = this.config.code.copyTitle;\n                    const clipboard = new ClipboardJS($copy);\n                    clipboard.on('success', _e => {\n                        this.util.animateCSS($code, 'flash');\n                    });\n                    $header.appendChild($copy);\n                }\n                $chroma.insertBefore($header, $chroma.firstChild);\n            }\n        });\n    }\n\n    initTable() {\n        this.util.forEach(document.querySelectorAll('.content table'), $table => {\n            const $wrapper = document.createElement('div');\n            $wrapper.className = 'table-wrapper';\n            $table.parentElement.replaceChild($wrapper, $table);\n            $wrapper.appendChild($table);\n        });\n    }\n\n    initHeaderLink() {\n        for (let num = 1; num <= 6; num++) {\n            this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n                $header.classList.add('headerLink');\n                $header.insertAdjacentHTML('afterbegin', `<a href=\"#${$header.id}\" class=\"header-mark\"></a>`);\n            });\n        }\n    }\n\n    initToc() {\n        const $tocCore = document.getElementById('TableOfContents');\n        if ($tocCore === null) return;\n        if (this.util.isTocStatic()) {\n            const $tocContentStatic = document.getElementById('toc-content-static');\n            if ($tocCore.parentElement !== $tocContentStatic) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentStatic.appendChild($tocCore);\n            }\n            if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n        } else {\n            const $tocContentAuto = document.getElementById('toc-content-auto');\n            if ($tocCore.parentElement !== $tocContentAuto) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentAuto.appendChild($tocCore);\n            }\n            const $toc = document.getElementById('toc-auto');\n            const $page = document.getElementsByClassName('page')[0];\n            const rect = $page.getBoundingClientRect();\n            $toc.style.left = `${rect.left + rect.width + 20}px`;\n            $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n            $toc.style.visibility = 'visible';\n            const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n            const $tocLiElements = $tocCore.getElementsByTagName('li');\n            const $headerLinkElements = document.getElementsByClassName('headerLink');\n            const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n            const headerHeight = document.getElementById('header-desktop').offsetHeight;\n            const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n            const minTocTop = $toc.offsetTop;\n            const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n            this._tocOnScroll = this._tocOnScroll || (() => {\n                const footerTop = document.getElementById('post-footer').offsetTop;\n                const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n                const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n                if (this.newScrollTop < minScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${minTocTop}px`;\n                } else if (this.newScrollTop > maxScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${maxTocTop}px`;\n                } else {\n                    $toc.style.position = 'fixed';\n                    $toc.style.top = `${TOP_SPACING}px`;\n                }\n\n                this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n                this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n                const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n                let activeTocIndex = $headerLinkElements.length - 1;\n                for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n                    const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n                    const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n                    if ((i == 0 && thisTop > INDEX_SPACING)\n                     || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n                        activeTocIndex = i;\n                        break;\n                    }\n                }\n                if (activeTocIndex !== -1) {\n                    $tocLinkElements[activeTocIndex].classList.add('active');\n                    let $parent = $tocLinkElements[activeTocIndex].parentElement;\n                    while ($parent !== $tocCore) {\n                        $parent.classList.add('has-active');\n                        $parent = $parent.parentElement.parentElement;\n                    }\n                }\n            });\n            this._tocOnScroll();\n            this.scrollEventSet.add(this._tocOnScroll);\n        }\n    }\n\n    initMath() {\n        if (this.config.math) renderMathInElement(document.body, this.config.math);\n    }\n\n    initMermaid() {\n        const $mermaidElements = document.getElementsByClassName('mermaid');\n        if ($mermaidElements.length) {\n            mermaid.initialize({startOnLoad: false, theme: 'null'});\n            this.util.forEach($mermaidElements, $mermaid => {\n                mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n                    $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n                }, $mermaid);\n            });\n        }\n    }\n\n    initEcharts() {\n        this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n            this._echartsArr = this._echartsArr || [];\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].dispose();\n            }\n            this._echartsArr = [];\n            this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n                const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n                chart.setOption(JSON.parse(this.data[$echarts.id]));\n                this._echartsArr.push(chart);\n            });\n        });\n        this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n        this._echartsOnSwitchTheme();\n        this._echartsOnResize = this._echartsOnResize || (() => {\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].resize();\n            }\n        });\n        this.resizeEventSet.add(this._echartsOnResize);\n    }\n\n    initMapbox() {\n        if (this.config.mapbox) {\n            mapboxgl.accessToken = this.config.mapbox.accessToken;\n            mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n            this._mapboxArr = this._mapboxArr || [];\n            this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n                const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n                const mapbox = new mapboxgl.Map({\n                    container: $mapbox,\n                    center: [lng, lat],\n                    zoom: zoom,\n                    minZoom: .2,\n                    style: this.isDark ? darkStyle : lightStyle,\n                    attributionControl: false,\n                });\n                if (marked) {\n                    new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n                }\n                if (navigation) {\n                    mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n                }\n                if (geolocate) {\n                    mapbox.addControl(new mapboxgl.GeolocateControl({\n                        positionOptions: {\n                            enableHighAccuracy: true,\n                        },\n                        showUserLocation: true,\n                        trackUserLocation: true,\n                    }), 'bottom-right');\n                }\n                if (scale) {\n                    mapbox.addControl(new mapboxgl.ScaleControl());\n                }\n                if (fullscreen) {\n                    mapbox.addControl(new mapboxgl.FullscreenControl());\n                }\n                mapbox.addControl(new MapboxLanguage());\n                this._mapboxArr.push(mapbox);\n            });\n            this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n                this.util.forEach(this._mapboxArr, mapbox => {\n                    const $mapbox = mapbox.getContainer();\n                    const { lightStyle, darkStyle } = this.data[$mapbox.id];\n                    mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n                    mapbox.addControl(new MapboxLanguage());\n                });\n            });\n            this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n        }\n    }\n\n    initTypeit() {\n        if (this.config.typeit) {\n            const typeitConfig = this.config.typeit;\n            const speed = typeitConfig.speed ? typeitConfig.speed : 100;\n            const cursorSpeed = typeitConfig.cursorSpeed ? typeitConfig.cursorSpeed : 1000;\n            const cursorChar = typeitConfig.cursorChar ? typeitConfig.cursorChar : '|';\n            Object.values(typeitConfig.data).forEach(group => {\n                const typeone = (i) => {\n                    const id = group[i];\n                    const instance = new TypeIt(`#${id}`, {\n                        strings: this.data[id],\n                        speed: speed,\n                        lifeLike: true,\n                        cursorSpeed: cursorSpeed,\n                        cursorChar: cursorChar,\n                        waitUntilVisible: true,\n                        afterComplete: () => {\n                            if (i === group.length - 1) {\n                                if (typeitConfig.duration >= 0) window.setTimeout(() => {\n                                    instance.destroy();\n                                }, typeitConfig.duration);\n                                return;\n                            }\n                            instance.destroy();\n                            typeone(i + 1);\n                        },\n                    }).go();\n                };\n                typeone(0);\n            });\n        }\n    }\n\n    initComment() {\n        if (this.config.comment && this.config.comment.gitalk) {\n            this.config.comment.gitalk.body = decodeURI(window.location.href);\n            const gitalk = new Gitalk(this.config.comment.gitalk.body);\n            gitalk.render('gitalk');\n        }\n        if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);\n    }\n\n    initSmoothScroll() {\n        if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n    }\n\n    onScroll() {\n        const $headers = [];\n        if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n        if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n        if (document.getElementById('comments')) {\n            const $viewComments = document.getElementById('view-comments');\n            $viewComments.href = `#comments`;\n            $viewComments.style.display = 'block';\n        }\n        const $fixedButtons = document.getElementById('fixed-buttons');\n        const MIN_SCROLL = 20;\n        window.addEventListener('scroll', () => {\n            this.newScrollTop = this.util.getScrollTop();\n            const scroll = this.newScrollTop - this.oldScrollTop;\n            this.util.forEach($headers, $header => {\n                if (scroll > MIN_SCROLL) {\n                    $header.classList.remove('fadeInDown');\n                    this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $header.classList.remove('fadeOutUp');\n                    this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n                }\n            });\n            if (this.newScrollTop > MIN_SCROLL) {\n                if (scroll > MIN_SCROLL) {\n                    $fixedButtons.classList.remove('fadeIn');\n                    this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $fixedButtons.style.display = 'block';\n                    $fixedButtons.classList.remove('fadeOut');\n                    this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n                }\n            } else {\n                $fixedButtons.style.display = 'none';\n            }\n            for (let event of this.scrollEventSet) event();\n            this.oldScrollTop = this.newScrollTop;\n        }, false);\n    }\n\n    onResize() {\n        window.addEventListener('resize', () => {\n            if (!this._resizeTimeout) {\n                this._resizeTimeout = window.setTimeout(() => {\n                    this._resizeTimeout = null;\n                    for (let event of this.resizeEventSet) event();\n                    this.initToc();\n                    this.initMermaid();\n                    this.initSearch();\n                }, 100);\n            }\n        }, false);\n    }\n\n    onClickMask() {\n        document.getElementById('mask').addEventListener('click', () => {\n            for (let event of this.clickMaskEventSet) event();\n            document.body.classList.remove('blur');\n        }, false);\n    }\n\n    init() {\n        this.initSVGIcon();\n        this.initTwemoji();\n        this.initMenuMobile();\n        this.initSwitchTheme();\n        this.initSearch();\n        this.initDetails();\n        this.initLightGallery();\n        this.initHighlight();\n        this.initTable();\n        this.initHeaderLink();\n        this.initToc();\n        this.initComment();\n        this.initSmoothScroll();\n        this.initMath();\n        this.initMermaid();\n        this.initEcharts();\n        this.initTypeit();\n        this.initMapbox();\n\n        this.onScroll();\n        this.onResize();\n        this.onClickMask();\n    }\n}\n\nconst themeInit = () => {\n    const theme = new Theme();\n    theme.init();\n};\n\nif (document.readyState !== 'loading') {\n    themeInit();\n} else {\n    document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n    forEach(elements, handler) {\n        elements = elements || [];\n        for (let i = 0; i < elements.length; i++) handler(elements[i]);\n    }\n\n    getScrollTop() {\n        return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n    }\n\n    isMobile() {\n        return window.matchMedia('only screen and (max-width: 680px)').matches;\n    }\n\n    isTocStatic() {\n        return window.matchMedia('only screen and (max-width: 960px)').matches;\n    }\n\n    animateCSS(element, animation, reserved, callback) {\n        if (!Array.isArray(animation)) animation = [animation];\n        element.classList.add('animated', ...animation);\n        const handler = () => {\n            element.classList.remove('animated', ...animation);\n            element.removeEventListener('animationend', handler);\n            if (typeof callback === 'function') callback();\n        };\n        if (!reserved) element.addEventListener('animationend', handler, false);\n    }\n}\n\nclass Theme {\n    constructor() {\n        this.config = window.config;\n        this.data = this.config.data;\n        this.isDark = document.body.getAttribute('theme') === 'dark';\n        this.util = new Util();\n        this.newScrollTop = this.util.getScrollTop();\n        this.oldScrollTop = this.newScrollTop;\n        this.scrollEventSet = new Set();\n        this.resizeEventSet = new Set();\n        this.switchThemeEventSet = new Set();\n        this.clickMaskEventSet = new Set();\n        if (objectFitImages) objectFitImages();\n    }\n\n    initSVGIcon() {\n        this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n            fetch($icon.getAttribute('data-svg-src'))\n                .then(response => response.text())\n                .then(svg => {\n                    const $temp = document.createElement('div');\n                    $temp.insertAdjacentHTML('afterbegin', svg);\n                    const $svg = $temp.firstChild;\n                    $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n                    $svg.classList.add('icon');\n                    const $titleElements = $svg.getElementsByTagName('title');\n                    if ($titleElements.length) $svg.removeChild($titleElements[0]);\n                    $icon.parentElement.replaceChild($svg, $icon);\n                })\n                .catch(err => { console.error(err); });\n        });\n    }\n\n    initTwemoji() {\n        if (this.config.twemoji) twemoji.parse(document.body);\n    }\n\n    initMenuMobile() {\n        const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n        const $menuMobile = document.getElementById('menu-mobile');\n        $menuToggleMobile.addEventListener('click', () => {\n            document.body.classList.toggle('blur');\n            $menuToggleMobile.classList.toggle('active');\n            $menuMobile.classList.toggle('active');\n        }, false);\n        this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n            $menuToggleMobile.classList.remove('active');\n            $menuMobile.classList.remove('active');\n        });\n        this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n    }\n\n    initSwitchTheme() {\n        this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n            $themeSwitch.addEventListener('click', () => {\n                if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n                else document.body.setAttribute('theme', 'dark');\n                this.isDark = !this.isDark;\n                window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n                for (let event of this.switchThemeEventSet) event();\n            }, false);\n        });\n    }\n\n    initSearch() {\n        const searchConfig = this.config.search;\n        const isMobile = this.util.isMobile();\n        if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n        const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;\n        const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;\n        const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';\n\n        const suffix = isMobile ? 'mobile' : 'desktop';\n        const $header = document.getElementById(`header-${suffix}`);\n        const $searchInput = document.getElementById(`search-input-${suffix}`);\n        const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n        const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n        const $searchClear = document.getElementById(`search-clear-${suffix}`);\n        if (isMobile) {\n            this._searchMobileOnce = true;\n            $searchInput.addEventListener('focus', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n            }, false);\n            document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n                $header.classList.remove('open');\n                document.body.classList.remove('blur');\n                document.getElementById('menu-toggle-mobile').classList.remove('active');\n                document.getElementById('menu-mobile').classList.remove('active');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            }, false);\n            this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchMobile && this._searchMobile.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n        } else {\n            this._searchDesktopOnce = true;\n            $searchToggle.addEventListener('click', () => {\n                document.body.classList.add('blur');\n                $header.classList.add('open');\n                $searchInput.focus();\n            }, false);\n            $searchClear.addEventListener('click', () => {\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            }, false);\n            this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n                $header.classList.remove('open');\n                $searchLoading.style.display = 'none';\n                $searchClear.style.display = 'none';\n                this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n            });\n            this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n        }\n        $searchInput.addEventListener('input', () => {\n            if ($searchInput.value === '') $searchClear.style.display = 'none';\n            else $searchClear.style.display = 'inline';\n        }, false);\n\n        const initAutosearch = () => {\n            const autosearch = autocomplete(`#search-input-${suffix}`, {\n                hint: false,\n                autoselect: true,\n                dropdownMenuContainer: `#search-dropdown-${suffix}`,\n                clearOnSelected: true,\n                cssClasses: { noPrefix: true },\n                debug: true,\n            }, {\n                name: 'search',\n                source: (query, callback) => {\n                    $searchLoading.style.display = 'inline';\n                    $searchClear.style.display = 'none';\n                    const finish = (results) => {\n                        $searchLoading.style.display = 'none';\n                        $searchClear.style.display = 'inline';\n                        callback(results);\n                    };\n                    if (searchConfig.type === 'lunr') {\n                        const search = () => {\n                            if (lunr.queryHandler) query = lunr.queryHandler(query);\n                            const results = {};\n                            this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n                                const matchData = this._indexData[ref];\n                                let { uri, title, content: context } = matchData;\n                                if (results[uri]) return;\n                                let position = 0;\n                                Object.values(metadata).forEach(({ content }) => {\n                                    if (content) {\n                                        const matchPosition = content.position[0][0];\n                                        if (matchPosition < position || position === 0) position = matchPosition;\n                                    }\n                                });\n                                position -= snippetLength / 5;\n                                if (position > 0) {\n                                    position += context.substr(position, 20).lastIndexOf(' ') + 1;\n                                    context = '...' + context.substr(position, snippetLength);\n                                } else {\n                                    context = context.substr(0, snippetLength);\n                                }\n                                Object.keys(metadata).forEach(key => {\n                                    title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n                                    context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n                                });\n                                results[uri] = {\n                                    'uri': uri,\n                                    'title' : title,\n                                    'date' : matchData.date,\n                                    'context' : context,\n                                };\n                            });\n                            return Object.values(results).slice(0, maxResultLength);\n                        }\n                        if (!this._index) {\n                            fetch(searchConfig.lunrIndexURL)\n                                .then(response => response.json())\n                                .then(data => {\n                                    const indexData = {};\n                                    this._index = lunr(function () {\n                                        if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n                                        this.ref('objectID');\n                                        this.field('title', { boost: 50 });\n                                        this.field('tags', { boost: 20 });\n                                        this.field('categories', { boost: 20 });\n                                        this.field('content', { boost: 10 });\n                                        this.metadataWhitelist = ['position'];\n                                        data.forEach((record) => {\n                                            indexData[record.objectID] = record;\n                                            this.add(record);\n                                        });\n                                    });\n                                    this._indexData = indexData;\n                                    finish(search());\n                                }).catch(err => {\n                                    console.error(err);\n                                    finish([]);\n                                });\n                        } else finish(search());\n                    } else if (searchConfig.type === 'algolia') {\n                        this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n                        this._algoliaIndex\n                            .search(query, {\n                                offset: 0,\n                                length: maxResultLength * 8,\n                                attributesToHighlight: ['title'],\n                                attributesToSnippet: [`content:${snippetLength}`],\n                                highlightPreTag: `<${highlightTag}>`,\n                                highlightPostTag: `</${highlightTag}>`,\n                            })\n                            .then(({ hits }) => {\n                                const results = {};\n                                hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n                                    if (results[uri] && results[uri].context.length > content.value) return;\n                                    results[uri] = {\n                                        uri: uri,\n                                        title: title.value,\n                                        date: date,\n                                        context: content.value,\n                                    };\n                                });\n                                finish(Object.values(results).slice(0, maxResultLength));\n                            })\n                            .catch(err => {\n                                console.error(err);\n                                finish([]);\n                            });\n                    }\n                },\n                templates: {\n                    suggestion: ({ title, date, context }) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n                    empty: ({ query }) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n                    footer: ({}) => {\n                        const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n                            searchType: 'algolia',\n                            icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n                            href: 'https://www.algolia.com/',\n                        } : {\n                            searchType: 'Lunr.js',\n                            icon: '',\n                            href: 'https://lunrjs.com/',\n                        };\n                        return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;},\n                },\n            });\n            autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {\n                window.location.assign(suggestion.uri);\n            });\n            if (isMobile) this._searchMobile = autosearch;\n            else this._searchDesktop = autosearch;\n        };\n        if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n            const script = document.createElement('script');\n            script.id = 'lunr-segmentit';\n            script.type = 'text/javascript';\n            script.src = searchConfig.lunrSegmentitURL;\n            script.async = true;\n            if (script.readyState) {\n                script.onreadystatechange = () => {\n                    if (script.readyState == 'loaded' || script.readyState == 'complete'){\n                        script.onreadystatechange = null;\n                        initAutosearch();\n                    }\n                };\n            } else {\n                script.onload = () => {\n                    initAutosearch();\n                };\n            }\n            document.body.appendChild(script);\n        } else initAutosearch();\n    }\n\n    initDetails() {\n        this.util.forEach(document.getElementsByClassName('details'), $details => {\n            const $summary = $details.getElementsByClassName('details-summary')[0];\n            $summary.addEventListener('click', () => {\n                $details.classList.toggle('open');\n            }, false);\n        });\n    }\n\n    initLightGallery() {\n        if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n    }\n\n    initHighlight() {\n        this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n            const $chroma = document.createElement('div');\n            $chroma.className = $preChroma.className;\n            const $table = document.createElement('table');\n            $chroma.appendChild($table);\n            const $tbody = document.createElement('tbody');\n            $table.appendChild($tbody);\n            const $tr = document.createElement('tr');\n            $tbody.appendChild($tr);\n            const $td = document.createElement('td');\n            $tr.appendChild($td);\n            $preChroma.parentElement.replaceChild($chroma, $preChroma);\n            $td.appendChild($preChroma);\n        });\n        this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n            const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n            if ($codeElements.length) {\n                const $code = $codeElements[$codeElements.length - 1];\n                const $header = document.createElement('div');\n                $header.className = 'code-header ' + $code.className.toLowerCase();\n                const $title = document.createElement('span');\n                $title.classList.add('code-title');\n                $title.insertAdjacentHTML('afterbegin', '<i class=\"arrow fas fa-chevron-right fa-fw\"></i>');\n                $title.addEventListener('click', () => {\n                    $chroma.classList.toggle('open');\n                }, false);\n                $header.appendChild($title);\n                const $ellipses = document.createElement('span');\n                $ellipses.insertAdjacentHTML('afterbegin', '<i class=\"fas fa-ellipsis-h fa-fw\"></i>');\n                $ellipses.classList.add('ellipses');\n                $ellipses.addEventListener('click', () => {\n                    $chroma.classList.add('open');\n                }, false);\n                $header.appendChild($ellipses);\n                const $copy = document.createElement('span');\n                $copy.insertAdjacentHTML('afterbegin', '<i class=\"far fa-copy fa-fw\"></i>');\n                $copy.classList.add('copy');\n                const code = $code.innerText;\n                if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n                if (this.config.code.copyTitle) {\n                    $copy.setAttribute('data-clipboard-text', code);\n                    $copy.title = this.config.code.copyTitle;\n                    const clipboard = new ClipboardJS($copy);\n                    clipboard.on('success', _e => {\n                        this.util.animateCSS($code, 'flash');\n                    });\n                    $header.appendChild($copy);\n                }\n                $chroma.insertBefore($header, $chroma.firstChild);\n            }\n        });\n    }\n\n    initTable() {\n        this.util.forEach(document.querySelectorAll('.content table'), $table => {\n            const $wrapper = document.createElement('div');\n            $wrapper.className = 'table-wrapper';\n            $table.parentElement.replaceChild($wrapper, $table);\n            $wrapper.appendChild($table);\n        });\n    }\n\n    initHeaderLink() {\n        for (let num = 1; num <= 6; num++) {\n            this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n                $header.classList.add('headerLink');\n                $header.insertAdjacentHTML('afterbegin', `<a href=\"#${$header.id}\" class=\"header-mark\"></a>`);\n            });\n        }\n    }\n\n    initToc() {\n        const $tocCore = document.getElementById('TableOfContents');\n        if ($tocCore === null) return;\n        if (this.util.isTocStatic()) {\n            const $tocContentStatic = document.getElementById('toc-content-static');\n            if ($tocCore.parentElement !== $tocContentStatic) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentStatic.appendChild($tocCore);\n            }\n            if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n        } else {\n            const $tocContentAuto = document.getElementById('toc-content-auto');\n            if ($tocCore.parentElement !== $tocContentAuto) {\n                $tocCore.parentElement.removeChild($tocCore);\n                $tocContentAuto.appendChild($tocCore);\n            }\n            const $toc = document.getElementById('toc-auto');\n            const $page = document.getElementsByClassName('page')[0];\n            const rect = $page.getBoundingClientRect();\n            $toc.style.left = `${rect.left + rect.width + 20}px`;\n            $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n            $toc.style.visibility = 'visible';\n            const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n            const $tocLiElements = $tocCore.getElementsByTagName('li');\n            const $headerLinkElements = document.getElementsByClassName('headerLink');\n            const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n            const headerHeight = document.getElementById('header-desktop').offsetHeight;\n            const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n            const minTocTop = $toc.offsetTop;\n            const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n            this._tocOnScroll = this._tocOnScroll || (() => {\n                const footerTop = document.getElementById('post-footer').offsetTop;\n                const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n                const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n                if (this.newScrollTop < minScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${minTocTop}px`;\n                } else if (this.newScrollTop > maxScrollTop) {\n                    $toc.style.position = 'absolute';\n                    $toc.style.top = `${maxTocTop}px`;\n                } else {\n                    $toc.style.position = 'fixed';\n                    $toc.style.top = `${TOP_SPACING}px`;\n                }\n\n                this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n                this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n                const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n                let activeTocIndex = $headerLinkElements.length - 1;\n                for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n                    const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n                    const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n                    if ((i == 0 && thisTop > INDEX_SPACING)\n                     || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n                        activeTocIndex = i;\n                        break;\n                    }\n                }\n                if (activeTocIndex !== -1) {\n                    $tocLinkElements[activeTocIndex].classList.add('active');\n                    let $parent = $tocLinkElements[activeTocIndex].parentElement;\n                    while ($parent !== $tocCore) {\n                        $parent.classList.add('has-active');\n                        $parent = $parent.parentElement.parentElement;\n                    }\n                }\n            });\n            this._tocOnScroll();\n            this.scrollEventSet.add(this._tocOnScroll);\n        }\n    }\n\n    initMath() {\n        if (this.config.math) renderMathInElement(document.body, this.config.math);\n    }\n\n    initMermaid() {\n        const $mermaidElements = document.getElementsByClassName('mermaid');\n        if ($mermaidElements.length) {\n            mermaid.initialize({startOnLoad: false, theme: 'null'});\n            this.util.forEach($mermaidElements, $mermaid => {\n                mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n                    $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n                }, $mermaid);\n            });\n        }\n    }\n\n    initEcharts() {\n        this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n            this._echartsArr = this._echartsArr || [];\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].dispose();\n            }\n            this._echartsArr = [];\n            this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n                const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n                chart.setOption(JSON.parse(this.data[$echarts.id]));\n                this._echartsArr.push(chart);\n            });\n        });\n        this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n        this._echartsOnSwitchTheme();\n        this._echartsOnResize = this._echartsOnResize || (() => {\n            for (let i = 0; i < this._echartsArr.length; i++) {\n                this._echartsArr[i].resize();\n            }\n        });\n        this.resizeEventSet.add(this._echartsOnResize);\n    }\n\n    initMapbox() {\n        if (this.config.mapbox) {\n            mapboxgl.accessToken = this.config.mapbox.accessToken;\n            mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n            this._mapboxArr = this._mapboxArr || [];\n            this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n                const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n                const mapbox = new mapboxgl.Map({\n                    container: $mapbox,\n                    center: [lng, lat],\n                    zoom: zoom,\n                    minZoom: .2,\n                    style: this.isDark ? darkStyle : lightStyle,\n                    attributionControl: false,\n                });\n                if (marked) {\n                    new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n                }\n                if (navigation) {\n                    mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n                }\n                if (geolocate) {\n                    mapbox.addControl(new mapboxgl.GeolocateControl({\n                        positionOptions: {\n                            enableHighAccuracy: true,\n                        },\n                        showUserLocation: true,\n                        trackUserLocation: true,\n                    }), 'bottom-right');\n                }\n                if (scale) {\n                    mapbox.addControl(new mapboxgl.ScaleControl());\n                }\n                if (fullscreen) {\n                    mapbox.addControl(new mapboxgl.FullscreenControl());\n                }\n                mapbox.addControl(new MapboxLanguage());\n                this._mapboxArr.push(mapbox);\n            });\n            this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n                this.util.forEach(this._mapboxArr, mapbox => {\n                    const $mapbox = mapbox.getContainer();\n                    const { lightStyle, darkStyle } = this.data[$mapbox.id];\n                    mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n                    mapbox.addControl(new MapboxLanguage());\n                });\n            });\n            this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n        }\n    }\n\n    initTypeit() {\n        if (this.config.typeit) {\n            const typeitConfig = this.config.typeit;\n            const speed = typeitConfig.speed ? typeitConfig.speed : 100;\n            const cursorSpeed = typeitConfig.cursorSpeed ? typeitConfig.cursorSpeed : 1000;\n            const cursorChar = typeitConfig.cursorChar ? typeitConfig.cursorChar : '|';\n            Object.values(typeitConfig.data).forEach(group => {\n                const typeone = (i) => {\n                    const id = group[i];\n                    const instance = new TypeIt(`#${id}`, {\n                        strings: this.data[id],\n                        speed: speed,\n                        lifeLike: true,\n                        cursorSpeed: cursorSpeed,\n                        cursorChar: cursorChar,\n                        waitUntilVisible: true,\n                        afterComplete: () => {\n                            if (i === group.length - 1) {\n                                if (typeitConfig.duration >= 0) window.setTimeout(() => {\n                                    instance.destroy();\n                                }, typeitConfig.duration);\n                                return;\n                            }\n                            instance.destroy();\n                            typeone(i + 1);\n                        },\n                    }).go();\n                };\n                typeone(0);\n            });\n        }\n    }\n\n    initComment() {\n        if (this.config.comment) {\n            if (this.config.comment.gitalk) {\n                this.config.comment.gitalk.body = decodeURI(window.location.href);\n                const gitalk = new Gitalk(this.config.comment.gitalk.body);\n                gitalk.render('gitalk');\n            }\n            if (this.config.comment.valine) new Valine(this.config.comment.valine);\n            if (this.config.comment.utterances) {\n                const utterancesConfig = this.config.comment.utterances;\n                const script = document.createElement('script');\n                script.src = 'https://utteranc.es/client.js';\n                script.type = 'text/javascript';\n                script.setAttribute('repo', utterancesConfig.repo);\n                script.setAttribute('issue-term', utterancesConfig.issueTerm);\n                if (utterancesConfig.label) script.setAttribute('label', utterancesConfig.label);\n                script.setAttribute('theme', this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme);\n                script.crossOrigin = 'anonymous';\n                script.async = true;\n                document.getElementById('utterances').appendChild(script);\n                this._utterancesOnSwitchTheme = this._utterancesOnSwitchTheme || (() => {\n                    const message = {\n                        type: 'set-theme',\n                        theme: this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme,\n                    };\n                    const iframe = document.querySelector('.utterances-frame');\n                    iframe.contentWindow.postMessage(message, 'https://utteranc.es');\n                });\n                this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);\n            }\n        }\n    }\n\n    initSmoothScroll() {\n        if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n    }\n\n    onScroll() {\n        const $headers = [];\n        if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n        if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n        if (document.getElementById('comments')) {\n            const $viewComments = document.getElementById('view-comments');\n            $viewComments.href = `#comments`;\n            $viewComments.style.display = 'block';\n        }\n        const $fixedButtons = document.getElementById('fixed-buttons');\n        const MIN_SCROLL = 20;\n        window.addEventListener('scroll', () => {\n            this.newScrollTop = this.util.getScrollTop();\n            const scroll = this.newScrollTop - this.oldScrollTop;\n            this.util.forEach($headers, $header => {\n                if (scroll > MIN_SCROLL) {\n                    $header.classList.remove('fadeInDown');\n                    this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $header.classList.remove('fadeOutUp');\n                    this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n                }\n            });\n            if (this.newScrollTop > MIN_SCROLL) {\n                if (scroll > MIN_SCROLL) {\n                    $fixedButtons.classList.remove('fadeIn');\n                    this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n                } else if (scroll < - MIN_SCROLL) {\n                    $fixedButtons.style.display = 'block';\n                    $fixedButtons.classList.remove('fadeOut');\n                    this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n                }\n            } else {\n                $fixedButtons.style.display = 'none';\n            }\n            for (let event of this.scrollEventSet) event();\n            this.oldScrollTop = this.newScrollTop;\n        }, false);\n    }\n\n    onResize() {\n        window.addEventListener('resize', () => {\n            if (!this._resizeTimeout) {\n                this._resizeTimeout = window.setTimeout(() => {\n                    this._resizeTimeout = null;\n                    for (let event of this.resizeEventSet) event();\n                    this.initToc();\n                    this.initMermaid();\n                    this.initSearch();\n                }, 100);\n            }\n        }, false);\n    }\n\n    onClickMask() {\n        document.getElementById('mask').addEventListener('click', () => {\n            for (let event of this.clickMaskEventSet) event();\n            document.body.classList.remove('blur');\n        }, false);\n    }\n\n    init() {\n        this.initSVGIcon();\n        this.initTwemoji();\n        this.initMenuMobile();\n        this.initSwitchTheme();\n        this.initSearch();\n        this.initDetails();\n        this.initLightGallery();\n        this.initHighlight();\n        this.initTable();\n        this.initHeaderLink();\n        this.initToc();\n        this.initComment();\n        this.initSmoothScroll();\n        this.initMath();\n        this.initMermaid();\n        this.initEcharts();\n        this.initTypeit();\n        this.initMapbox();\n\n        this.onScroll();\n        this.onResize();\n        this.onClickMask();\n    }\n}\n\nconst themeInit = () => {\n    const theme = new Theme();\n    theme.init();\n};\n\nif (document.readyState !== 'loading') {\n    themeInit();\n} else {\n    document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]}
\ No newline at end of file
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 2541f697..480d05f2 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -892,10 +892,20 @@ enableEmoji = true
         colorful = true
         dislikes = false
         outlined = false
-      # Commento comments config (https://commento.io/)
-      # Commento comments 评论系统设置 (https://commento.io/)
+      # Commento comment config (https://commento.io/)
+      # Commento comment 评论系统设置 (https://commento.io/)
       [params.page.comment.commento]
         enable = false
+      # Utterances comment config (https://utteranc.es/)
+      # Utterances comment 评论系统设置 (https://utteranc.es/)
+      [params.page.comment.utterances]
+        enable = false
+        # owner/repo
+        repo = ""
+        issueTerm = "pathname"
+        label = ""
+        lightTheme = "github-light"
+        darkTheme = "github-dark"
     # SEO config
     # SEO 配置
     [params.page.seo]
diff --git a/exampleSite/content/about.en.md b/exampleSite/content/about.en.md
index 851b97aa..10a68de3 100644
--- a/exampleSite/content/about.en.md
+++ b/exampleSite/content/about.en.md
@@ -56,7 +56,8 @@ math:
 * :(far fa-comment-alt fa-fw): **Valine** comment system supported by [Valine](https://valine.js.org/)
 * :(far fa-comments fa-fw): **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/)
 * :(fas fa-comment fa-fw): **Telegram comments** system supported by [Comments](https://comments.app/)
-* :(fas fa-comment-dots fa-fw): **Commento** comments system supported by [Commento](https://commento.io/)
+* :(fas fa-comment-dots fa-fw): **Commento** comment system supported by [Commento](https://commento.io/)
+* :(fas fa-comment-alt fa-fw): **Utterances** comment system supported by [Utterances](https://utteranc.es/)
 
 #### Extended Features
 
diff --git a/exampleSite/content/about.fr.md b/exampleSite/content/about.fr.md
index df8d0718..551e5dc5 100644
--- a/exampleSite/content/about.fr.md
+++ b/exampleSite/content/about.fr.md
@@ -61,7 +61,8 @@ Welcome to take the time to propose a translation by [:(fas fa-code-branch fa-fw
 * :(far fa-comment-alt fa-fw): **Valine** comment system supported by [Valine](https://valine.js.org/)
 * :(far fa-comments fa-fw): **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/)
 * :(fas fa-comment fa-fw): **Telegram comments** system supported by [Comments](https://comments.app/)
-* :(fas fa-comment-dots fa-fw): **Commento** comments system supported by [Commento](https://commento.io/)
+* :(fas fa-comment-dots fa-fw): **Commento** comment system supported by [Commento](https://commento.io/)
+* :(fas fa-comment-alt fa-fw): **Utterances** comment system supported by [Utterances](https://utteranc.es/)
 
 #### Extended Features
 
diff --git a/exampleSite/content/about.zh-cn.md b/exampleSite/content/about.zh-cn.md
index 5b1d772a..c12b720e 100644
--- a/exampleSite/content/about.zh-cn.md
+++ b/exampleSite/content/about.zh-cn.md
@@ -57,6 +57,7 @@ math:
 * :(far fa-comments fa-fw): 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统
 * :(fas fa-comment fa-fw): 支持 **[Telegram comments](https://comments.app/) 评论**系统
 * :(fas fa-comment-dots fa-fw): 支持 **[Commento](https://commento.io/)** 评论系统
+* :(far fa-comment-alt fa-fw): 支持 **[Utterances](https://utteranc.es/)** 评论系统
 
 #### 扩展功能
 
diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md
index 39e4832e..eeaf8fc7 100644
--- a/exampleSite/content/posts/theme-documentation-basics.en.md
+++ b/exampleSite/content/posts/theme-documentation-basics.en.md
@@ -533,6 +533,15 @@ Please open the code block below to view the complete sample configuration :(far
       # {{< version 0.2.0 >}} {{< link "https://commento.io/" "Commento" >}} comment config
       [params.page.comment.commento]
         enable = false
+      # {{< version 0.2.5 >}} {{< link "https://utteranc.es/" "Utterances" >}} comment config
+      [params.page.comment.utterances]
+        enable = false
+        # owner/repo
+        repo = ""
+        issueTerm = "pathname"
+        label = ""
+        lightTheme = "github-light"
+        darkTheme = "github-dark"
     # {{< version 0.2.0 >}} SEO config
     [params.page.seo]
       # Publisher info
diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md
index 6b59bb4f..255b2e60 100644
--- a/exampleSite/content/posts/theme-documentation-basics.fr.md
+++ b/exampleSite/content/posts/theme-documentation-basics.fr.md
@@ -538,6 +538,15 @@ Please open the code block below to view the complete sample configuration :(far
       # {{< version 0.2.0 >}} {{< link "https://commento.io/" "Commento" >}} comment config
       [params.page.comment.commento]
         enable = false
+      # {{< version 0.2.5 >}} {{< link "https://utteranc.es/" "Utterances" >}} comment config
+      [params.page.comment.utterances]
+        enable = false
+        # owner/repo
+        repo = ""
+        issueTerm = "pathname"
+        label = ""
+        lightTheme = "github-light"
+        darkTheme = "github-dark"
     # {{< version 0.2.0 >}} SEO config
     [params.page.seo]
       # Publisher info
diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
index 11bca24b..41ad1f3e 100644
--- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
+++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md
@@ -540,6 +540,15 @@ hugo
       # {{< version 0.2.0 >}} {{< link "https://commento.io/" "Commento" >}} 评论系统设置
       [params.page.comment.commento]
         enable = false
+      # {{< version 0.2.5 >}} {{< link "https://utteranc.es/" "Utterances" >}} 评论系统设置
+      [params.page.comment.utterances]
+        enable = false
+        # owner/repo
+        repo = ""
+        issueTerm = "pathname"
+        label = ""
+        lightTheme = "github-light"
+        darkTheme = "github-dark"
     # {{< version 0.2.0 >}} SEO config
     [params.page.seo]
       # 出版者信息
diff --git a/layouts/partials/comment.html b/layouts/partials/comment.html
index 29b5a4ae..fac888e5 100644
--- a/layouts/partials/comment.html
+++ b/layouts/partials/comment.html
@@ -1,6 +1,6 @@
 {{- $cdn := .Scratch.Get "cdn" | default dict -}}
 {{- $fingerprint := .Scratch.Get "fingerprint" -}}
-{{- $comment := .Scratch.Get "comment" | default (dict "disqus" dict "gitalk" dict "valine" dict "facebook" dict "telegram" dict "commento" dict) -}}
+{{- $comment := .Scratch.Get "comment" | default (dict "disqus" dict "gitalk" dict "valine" dict "facebook" dict "telegram" dict "commento" dict "utterances" dict) -}}
 {{- $commentConfig := dict -}}
 
 {{- if $comment.enable -}}
@@ -107,6 +107,20 @@
                 Please enable JavaScript to view the comments powered by <a href="https://commento.io/">Commento</a>.
             </noscript>
         {{- end -}}
+
+        {{- /* Utterances Comment System */ -}}
+        {{- if $comment.utterances.enable -}}
+            <div id="utterances"></div>
+            {{- $utterances := $comment.utterances -}}
+            {{- $commentConfig = dict "repo" $utterances.repo | dict "utterances" | merge $commentConfig -}}
+            {{- $commentConfig = $utterances.issueTerm | default "pathname" | dict "issueTerm" | dict "utterances" | merge $commentConfig -}}
+            {{- $commentConfig = dict "label" $utterances.label | dict "utterances" | merge $commentConfig -}}
+            {{- $commentConfig = $utterances.lightTheme | default "github-light" | dict "lightTheme" | dict "utterances" | merge $commentConfig -}}
+            {{- $commentConfig = $utterances.darkTheme | default "github-dark" | dict "darkTheme" | dict "utterances" | merge $commentConfig -}}
+            <noscript>
+                Please enable JavaScript to view the comments powered by <a href="https://utteranc.es/">Utterances</a>.
+            </noscript>
+        {{- end -}}
     </div>
 {{- end -}}
 
diff --git a/package.json b/package.json
index b16c40c5..b0814b0e 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
     "build": "npm run babel && hugo -v --source=exampleSite --themesDir ../.. --gc",
     "build-lunr-segmentit": "browserify src/lib/lunr.segmentit.js -o assets/lib/lunr/lunr.segmentit.js -t babelify --presets @babel/preset-env --presets minify",
     "start": "npm run babel && hugo server --source=exampleSite --themesDir ../.. -D --disableFastRender",
+    "start-production": "npm run babel && hugo server --source=exampleSite --themesDir ../.. -D --disableFastRender -e production",
     "check": "htmlproofer exampleSite/public --check-html --allow-hash-href --empty-alt-ignore --disable-external",
     "copy": "rm -rf resources && cp -rf exampleSite/resources resources"
   },
diff --git a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
index 01bef4e3..8a0c9fcd 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:12000px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single #comments{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.fr.min.css.map */
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
index 18bd5f23..7895cbdb 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:12000px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single #comments{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.en.min.css.map */
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
index 9e0b3888..7b8063a0 100644
--- a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
+++ b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content
@@ -1,3 +1,3 @@
-@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:12000px;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single #comments{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.2rem;font-weight:bold;margin:0;padding:.4rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2{font-size:1.125rem}.home .summary .content a,.home .summary .content a::before,.home .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .content a,[theme=dark] .home .summary .content a::before,[theme=dark] .home .summary .content a::after{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#ef3982}[theme=dark] .home .summary .content a:active,[theme=dark] .home .summary .content a:hover{color:#fff}.home .summary .content b,.home .summary .content strong{color:#a9a9b3}[theme=dark] .home .summary .content b,[theme=dark] .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a,.home .summary .post-footer a::before,.home .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home .summary .post-footer a,[theme=dark] .home .summary .post-footer a::before,[theme=dark] .home .summary .post-footer a::after{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home .summary .post-footer a:active,[theme=dark] .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a,.home .summary .post-footer .post-tags a::before,.home .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home .summary .post-footer .post-tags a,[theme=dark] .home .summary .post-footer .post-tags a::before,[theme=dark] .home .summary .post-footer .post-tags a::after{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home .summary .post-footer .post-tags a:active,[theme=dark] .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
 
 /*# sourceMappingURL=style.zh-cn.min.css.map */
\ No newline at end of file
diff --git a/src/js/theme.js b/src/js/theme.js
index b0ef2dbd..7658e91f 100644
--- a/src/js/theme.js
+++ b/src/js/theme.js
@@ -590,12 +590,36 @@ class Theme {
     }
 
     initComment() {
-        if (this.config.comment && this.config.comment.gitalk) {
-            this.config.comment.gitalk.body = decodeURI(window.location.href);
-            const gitalk = new Gitalk(this.config.comment.gitalk.body);
-            gitalk.render('gitalk');
+        if (this.config.comment) {
+            if (this.config.comment.gitalk) {
+                this.config.comment.gitalk.body = decodeURI(window.location.href);
+                const gitalk = new Gitalk(this.config.comment.gitalk.body);
+                gitalk.render('gitalk');
+            }
+            if (this.config.comment.valine) new Valine(this.config.comment.valine);
+            if (this.config.comment.utterances) {
+                const utterancesConfig = this.config.comment.utterances;
+                const script = document.createElement('script');
+                script.src = 'https://utteranc.es/client.js';
+                script.type = 'text/javascript';
+                script.setAttribute('repo', utterancesConfig.repo);
+                script.setAttribute('issue-term', utterancesConfig.issueTerm);
+                if (utterancesConfig.label) script.setAttribute('label', utterancesConfig.label);
+                script.setAttribute('theme', this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme);
+                script.crossOrigin = 'anonymous';
+                script.async = true;
+                document.getElementById('utterances').appendChild(script);
+                this._utterancesOnSwitchTheme = this._utterancesOnSwitchTheme || (() => {
+                    const message = {
+                        type: 'set-theme',
+                        theme: this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme,
+                    };
+                    const iframe = document.querySelector('.utterances-frame');
+                    iframe.contentWindow.postMessage(message, 'https://utteranc.es');
+                });
+                this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);
+            }
         }
-        if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);
     }
 
     initSmoothScroll() {

From c7dc889de2fbb27ce24714d49731d4394affb35f Mon Sep 17 00:00:00 2001
From: edte <zzzzip6@gmail.com>
Date: Mon, 4 May 2020 12:42:53 -0500
Subject: [PATCH 09/11] fix(README.md): fix link errors (#319)

---
 README.zh-cn.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.zh-cn.md b/README.zh-cn.md
index 60b4f02a..21851734 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -9,7 +9,7 @@
 
 > [LoveIt](https://github.com/dillonzq/LoveIt) 是一个**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。
 
-它的原型基于 [LeaveIt 主题](https://github.com/liuzc/LeaveIt) 和 [KeepIt 主题](https://github.com/liuzc/LeaveIt)。
+它的原型基于 [LeaveIt 主题](https://github.com/liuzc/LeaveIt) 和 [KeepIt 主题](https://github.com/Fastbyte01/KeepIt)。
 
 由于三个主题外观的相似性,如果你对于它们的不同之处有疑问,请阅读 [为什么选择 LoveIt](#为什么选择-LoveIt),以便你能选择最适合你的一个。
 

From d2adeabe5adf8b19188bbe046ce53a6371a2526a Mon Sep 17 00:00:00 2001
From: edte <zzzzip6@gmail.com>
Date: Mon, 4 May 2020 12:43:08 -0500
Subject: [PATCH 10/11] fix(README.md): fix link errors (#320)

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index d027eb3e..8d0b3945 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ English README | [简体中文说明](https://github.com/dillonzq/LoveIt/blob/ma
 
 > **LoveIt** is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/).
 
-It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/liuzc/LeaveIt).
+It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/Fastbyte01/KeepIt).
 
 Since the three themes have a similar look, if you have questions about their differences,
 read [Why choose LoveIt](#why-choose-loveit) so that you can choose the one that works best for you.

From 87312d5de2534c6f338d40b21662e7763dea4657 Mon Sep 17 00:00:00 2001
From: Dillon <dillonzq@outlook.com>
Date: Tue, 5 May 2020 01:45:05 +0800
Subject: [PATCH 11/11] fix(docs): link errors

---
 exampleSite/content/about.en.md    | 2 +-
 exampleSite/content/about.fr.md    | 2 +-
 exampleSite/content/about.zh-cn.md | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/exampleSite/content/about.en.md b/exampleSite/content/about.en.md
index 10a68de3..1e38e245 100644
--- a/exampleSite/content/about.en.md
+++ b/exampleSite/content/about.en.md
@@ -19,7 +19,7 @@ math:
 
 > [:(far fa-kiss-wink-heart fa-fw): LoveIt](https://github.com/dillonzq/LoveIt) is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/) developed by [Dillon](https://dillonzq.com).
 >
-> It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/liuzc/LeaveIt).
+> It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/Fastbyte01/KeepIt).
 
 ![Hugo Theme LoveIt](/images/Apple-Devices-Preview.png "Hugo Theme LoveIt")
 
diff --git a/exampleSite/content/about.fr.md b/exampleSite/content/about.fr.md
index 551e5dc5..9ec0e219 100644
--- a/exampleSite/content/about.fr.md
+++ b/exampleSite/content/about.fr.md
@@ -24,7 +24,7 @@ Welcome to take the time to propose a translation by [:(fas fa-code-branch fa-fw
 
 > [:(far fa-kiss-wink-heart fa-fw): LoveIt](https://github.com/dillonzq/LoveIt) is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/) developed by [Dillon](https://dillonzq.com).
 >
-> It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/liuzc/LeaveIt).
+> It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/Fastbyte01/KeepIt).
 
 ![Hugo Theme LoveIt](/images/Apple-Devices-Preview.png "Hugo Theme LoveIt")
 
diff --git a/exampleSite/content/about.zh-cn.md b/exampleSite/content/about.zh-cn.md
index c12b720e..8b4f6401 100644
--- a/exampleSite/content/about.zh-cn.md
+++ b/exampleSite/content/about.zh-cn.md
@@ -19,7 +19,7 @@ math:
 
 > [:(far fa-kiss-wink-heart fa-fw): LoveIt](https://github.com/dillonzq/LoveIt) 是一个由 [Dillon](https://dillonzq.com) 开发的**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。
 >
-> 它的原型基于 [LeaveIt 主题](https://github.com/liuzc/LeaveIt) 和 [KeepIt 主题](https://github.com/liuzc/LeaveIt)。
+> 它的原型基于 [LeaveIt 主题](https://github.com/liuzc/LeaveIt) 和 [KeepIt 主题](https://github.com/Fastbyte01/KeepIt)。
 
 ![Hugo 主题 LoveIt](/images/Apple-Devices-Preview.png "Hugo 主题 LoveIt")