提交 7f228d61 编写于 作者: D Dillon

fix(typeit): fix a TypeIt header link style bug

上级 426e2459
......@@ -66,7 +66,7 @@
font-weight: bolder;
}
& > a:first-child::before {
& > .header-mark::before {
content: "|";
margin-right: .3125rem;
color: $single-link-color;
......@@ -77,7 +77,7 @@
}
}
h2 > a:first-child::before {
h2 > .header-mark::before {
content: "#";
}
......
"use strict";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}(function(){'use strict';var a=/*#__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: 560px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}}]),a}(),b=/*#__PURE__*/function(){function b(){_classCallCheck(this,b),this.util=new a,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set}return _createClass(b,[{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");this._menuMobileOnScroll=this._menuMobileOnScroll||function(){a.classList.remove("active"),b.classList.remove("active")},this.util.isMobile()?(a.onclick=function(){a.classList.toggle("active"),b.classList.toggle("active")},this.scrollEventSet.add(this._menuMobileOnScroll)):this.scrollEventSet.delete(this._menuMobileOnScroll)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.onclick=function(){document.body.classList.toggle("dark-theme"),window.isDark=!window.isDark,window.localStorage&&window.localStorage.setItem("theme",window.isDark?"dark":"light"),a.initEcharts()}})}},{key:"initHighlight",value:function initHighlight(){this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(a){var b=a.querySelectorAll("pre.chroma > code"),c=b[b.length-1],d=c?c.className.toLowerCase():"";a.className+=" "+d}),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)})}},{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(".page.single .content > h"+a),function(a){a.classList.add("headerLink"),a.innerHTML="<a href=\"#".concat(a.id,"\"></a>").concat(a.innerHTML)})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var k=document.getElementById("toc-content-static");b.parentElement!==k&&(b.parentElement.removeChild(b),k.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var l=document.getElementById("toc-content-auto");b.parentElement!==l&&(b.parentElement.removeChild(b),l.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0];c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),this._tocLinks=this._tocLinks||b.getElementsByTagName("a"),this._tocLis=this._tocLis||b.getElementsByTagName("li"),this._headerLinks=this._headerLinks||document.getElementsByClassName("headerLink")||[];var e="normal"!==window.desktopHeaderMode,f=document.getElementById("header-desktop").offsetHeight,g=20+(e?f:0),h=c.offsetTop,j=h-g+(e?0:f);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,k=d-c.getBoundingClientRect().height,l=k-g+(e?0:f);a.newScrollTop<j?(c.style.position="absolute",c.style.top="".concat(h,"px")):a.newScrollTop>l?(c.style.position="absolute",c.style.top="".concat(k,"px")):(c.style.position="fixed",c.style.top="".concat(g,"px")),a.util.forEach(a._tocLinks,function(a){a.classList.remove("active")}),a.util.forEach(a._tocLis,function(a){a.classList.remove("has-active")});for(var m=20+(e?f:0),n=a._headerLinks.length-1,o=0;o<a._headerLinks.length-1;o++){var p=a._headerLinks[o].getBoundingClientRect().top,q=a._headerLinks[o+1].getBoundingClientRect().top;if(0==o&&p>m||p<=m&&q>m){n=o;break}}if(-1!==n){a._tocLinks[n].classList.add("active");for(var r=a._tocLinks[n].parentElement;r!==b;)r.classList.add("has-active"),r=r.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMermaid",value:function initMermaid(){window.mermaidArr&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(window.mermaidArr,function(a){var b=document.getElementById(a);mermaid.mermaidAPI.render("svg-"+a,window.contentMap[a],function(a){b.innerHTML=a},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;if(window.echartsArr){this._echartsArr=this._echartsArr||[];for(var b=0;b<this._echartsArr.length;b++)this._echartsArr[b].dispose();this._echartsArr=[],this.util.forEach(window.echartsArr,function(b){var c=echarts.init(document.getElementById(b),window.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(window.contentMap[b])),a._echartsArr.push(c)}),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}}},{key:"initTypeit",value:function initTypeit(){if(window.typeitArr)for(var a=function(a){var b=window.typeitArr[a];(function a(c){var d=b[c];if(c===b.length-1)return void new TypeIt("#".concat(d),{strings:window.contentMap[d]}).go();var e=new TypeIt("#".concat(d),{strings:window.contentMap[d],afterComplete:function afterComplete(){e.destroy(),a(c+1)}}).go()})(0)},b=0;b<window.typeitArr.length;b++)a(b)}},{key:"initSmoothScroll",value:function initSmoothScroll(){!this.util.isMobile()&&"normal"===window.desktopHeaderMode||this.util.isMobile()&&"normal"===window.mobileHeaderMode?new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0}):new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];"auto"===window.desktopHeaderMode&&b.push(document.getElementById("header-desktop")),"auto"===window.mobileHeaderMode&&b.push(document.getElementById("header-mobile")),this.util.forEach(b,function(a){a.classList.add("animated"),a.classList.add("faster")});var c=document.getElementById("dynamic-to-top"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(a){e>d?(a.classList.remove("fadeInDown"),a.classList.add("fadeOutUp")):e<-d&&(a.classList.remove("fadeOutUp"),a.classList.add("fadeInDown"))}),400<a.newScrollTop?e>d?(c.classList.remove("fadeIn"),c.classList.add("fadeOut")):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),c.classList.add("fadeIn")):c.style.display="none",a._scrollTimeout||(a._scrollTimeout=window.setTimeout(function(){a._scrollTimeout=null;var b=!0,c=!1,d=void 0;try{for(var e,f,g=a.scrollEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}},10)),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=!0,c=!1,d=void 0;try{for(var e,f,g=a.resizeEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}a.initMenuMobile(),a.initToc(),a.initSmoothScroll(),a.initMermaid()},100))},!1)}},{key:"init",value:function init(){this.initMenuMobile(),this.initSwitchTheme(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initToc(),this.initSmoothScroll(),this.onScroll(),this.onResize()}}]),b}(),c=function(){var a=new b;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c,!1):c()})();
"use strict";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}(function(){'use strict';var a=/*#__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: 560px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}}]),a}(),b=/*#__PURE__*/function(){function b(){_classCallCheck(this,b),this.util=new a,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set}return _createClass(b,[{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");this._menuMobileOnScroll=this._menuMobileOnScroll||function(){a.classList.remove("active"),b.classList.remove("active")},this.util.isMobile()?(a.onclick=function(){a.classList.toggle("active"),b.classList.toggle("active")},this.scrollEventSet.add(this._menuMobileOnScroll)):this.scrollEventSet.delete(this._menuMobileOnScroll)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.onclick=function(){document.body.classList.toggle("dark-theme"),window.isDark=!window.isDark,window.localStorage&&window.localStorage.setItem("theme",window.isDark?"dark":"light"),a.initEcharts()}})}},{key:"initHighlight",value:function initHighlight(){this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(a){var b=a.querySelectorAll("pre.chroma > code"),c=b[b.length-1],d=c?c.className.toLowerCase():"";a.className+=" "+d}),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)})}},{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(".page.single .content > h"+a),function(a){a.classList.add("headerLink"),a.innerHTML="<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>").concat(a.innerHTML)})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var k=document.getElementById("toc-content-static");b.parentElement!==k&&(b.parentElement.removeChild(b),k.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var l=document.getElementById("toc-content-auto");b.parentElement!==l&&(b.parentElement.removeChild(b),l.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0];c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),this._tocLinks=this._tocLinks||b.getElementsByTagName("a"),this._tocLis=this._tocLis||b.getElementsByTagName("li"),this._headerLinks=this._headerLinks||document.getElementsByClassName("headerLink")||[];var e="normal"!==window.desktopHeaderMode,f=document.getElementById("header-desktop").offsetHeight,g=20+(e?f:0),h=c.offsetTop,j=h-g+(e?0:f);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,k=d-c.getBoundingClientRect().height,l=k-g+(e?0:f);a.newScrollTop<j?(c.style.position="absolute",c.style.top="".concat(h,"px")):a.newScrollTop>l?(c.style.position="absolute",c.style.top="".concat(k,"px")):(c.style.position="fixed",c.style.top="".concat(g,"px")),a.util.forEach(a._tocLinks,function(a){a.classList.remove("active")}),a.util.forEach(a._tocLis,function(a){a.classList.remove("has-active")});for(var m=20+(e?f:0),n=a._headerLinks.length-1,o=0;o<a._headerLinks.length-1;o++){var p=a._headerLinks[o].getBoundingClientRect().top,q=a._headerLinks[o+1].getBoundingClientRect().top;if(0==o&&p>m||p<=m&&q>m){n=o;break}}if(-1!==n){a._tocLinks[n].classList.add("active");for(var r=a._tocLinks[n].parentElement;r!==b;)r.classList.add("has-active"),r=r.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMermaid",value:function initMermaid(){window.mermaidArr&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(window.mermaidArr,function(a){var b=document.getElementById(a);mermaid.mermaidAPI.render("svg-"+a,window.contentMap[a],function(a){b.innerHTML=a},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;if(window.echartsArr){this._echartsArr=this._echartsArr||[];for(var b=0;b<this._echartsArr.length;b++)this._echartsArr[b].dispose();this._echartsArr=[],this.util.forEach(window.echartsArr,function(b){var c=echarts.init(document.getElementById(b),window.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(window.contentMap[b])),a._echartsArr.push(c)}),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}}},{key:"initTypeit",value:function initTypeit(){if(window.typeitArr)for(var a=function(a){var b=window.typeitArr[a];(function a(c){var d=b[c];if(c===b.length-1)return void new TypeIt("#".concat(d),{strings:window.contentMap[d]}).go();var e=new TypeIt("#".concat(d),{strings:window.contentMap[d],afterComplete:function afterComplete(){e.destroy(),a(c+1)}}).go()})(0)},b=0;b<window.typeitArr.length;b++)a(b)}},{key:"initSmoothScroll",value:function initSmoothScroll(){!this.util.isMobile()&&"normal"===window.desktopHeaderMode||this.util.isMobile()&&"normal"===window.mobileHeaderMode?new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0}):new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];"auto"===window.desktopHeaderMode&&b.push(document.getElementById("header-desktop")),"auto"===window.mobileHeaderMode&&b.push(document.getElementById("header-mobile")),this.util.forEach(b,function(a){a.classList.add("animated"),a.classList.add("faster")});var c=document.getElementById("dynamic-to-top"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(a){e>d?(a.classList.remove("fadeInDown"),a.classList.add("fadeOutUp")):e<-d&&(a.classList.remove("fadeOutUp"),a.classList.add("fadeInDown"))}),400<a.newScrollTop?e>d?(c.classList.remove("fadeIn"),c.classList.add("fadeOut")):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),c.classList.add("fadeIn")):c.style.display="none",a._scrollTimeout||(a._scrollTimeout=window.setTimeout(function(){a._scrollTimeout=null;var b=!0,c=!1,d=void 0;try{for(var e,f,g=a.scrollEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}},10)),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=!0,c=!1,d=void 0;try{for(var e,f,g=a.resizeEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}a.initMenuMobile(),a.initToc(),a.initSmoothScroll(),a.initMermaid()},100))},!1)}},{key:"init",value:function init(){this.initMenuMobile(),this.initSwitchTheme(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initToc(),this.initSmoothScroll(),this.onScroll(),this.onResize()}}]),b}(),c=function(){var a=new b;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c,!1):c()})();
//# sourceMappingURL=theme.min.js.map
\ No newline at end of file
{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"+YAAA,CAAC,UAAM,CACH,aADG,GAGG,CAAA,CAHH,2HAIS,CAJT,CAImB,CAJnB,CAI4B,CACvB,CAAQ,CAAG,CAAQ,EAAI,EADA,CAEvB,IAAK,GAAI,CAAA,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,CAAQ,CAAC,MAA7B,CAAqC,CAAC,EAAtC,CACI,CAAO,CAAC,CAAQ,CAAC,CAAD,CAAT,CAEd,CATF,mDAWgB,CACX,MAAQ,CAAA,QAAQ,CAAC,eAAT,EAA4B,QAAQ,CAAC,eAAT,CAAyB,SAAtD,EAAoE,QAAQ,CAAC,IAAT,CAAc,SAC5F,CAbF,2CAeY,CACP,MAAO,CAAA,MAAM,CAAC,UAAP,CAAkB,oCAAlB,EAAwD,OAClE,CAjBF,iDAmBe,CACV,MAAO,CAAA,MAAM,CAAC,UAAP,CAAkB,oCAAlB,EAAwD,OAClE,CArBF,SAwBG,CAxBH,yBAyBC,YAAc,yBACV,KAAK,IAAL,CAAY,GAAI,CAAA,CADN,CAEV,KAAK,YAAL,CAAoB,KAAK,IAAL,CAAU,YAAV,EAFV,CAGV,KAAK,YAAL,CAAoB,KAAK,YAHf,CAIV,KAAK,cAAL,CAAsB,GAAI,CAAA,GAJhB,CAKV,KAAK,cAAL,CAAsB,GAAI,CAAA,GAC7B,CA/BF,4EAiCkB,IACP,CAAA,CAAgB,CAAG,QAAQ,CAAC,cAAT,CAAwB,oBAAxB,CADZ,CAEP,CAAU,CAAG,QAAQ,CAAC,cAAT,CAAwB,aAAxB,CAFN,CAGb,KAAK,mBAAL,CAA2B,KAAK,mBAAL,EAA6B,UAAM,CAC1D,CAAgB,CAAC,SAAjB,CAA2B,MAA3B,CAAkC,QAAlC,CAD0D,CAE1D,CAAU,CAAC,SAAX,CAAqB,MAArB,CAA4B,QAA5B,CACH,CANY,CAOT,KAAK,IAAL,CAAU,QAAV,EAPS,EAQT,CAAgB,CAAC,OAAjB,CAA2B,UAAM,CAC7B,CAAgB,CAAC,SAAjB,CAA2B,MAA3B,CAAkC,QAAlC,CAD6B,CAE7B,CAAU,CAAC,SAAX,CAAqB,MAArB,CAA4B,QAA5B,CACH,CAXQ,CAYT,KAAK,cAAL,CAAoB,GAApB,CAAwB,KAAK,mBAA7B,CAZS,EAcT,KAAK,cAAL,CAAoB,MAApB,CAA2B,KAAK,mBAAhC,CAEP,CAjDF,yDAmDmB,YACd,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,sBAAT,CAAgC,cAAhC,CAAlB,CAAmE,SAAC,CAAD,CAAY,CAC3E,CAAM,CAAC,OAAP,CAAiB,UAAM,CACnB,QAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,YAA/B,CADmB,CAEnB,MAAM,CAAC,MAAP,CAAgB,CAAC,MAAM,CAAC,MAFL,CAGnB,MAAM,CAAC,YAAP,EAAuB,MAAM,CAAC,YAAP,CAAoB,OAApB,CAA4B,OAA5B,CAAqC,MAAM,CAAC,MAAP,CAAgB,MAAhB,CAAyB,OAA9D,CAHJ,CAInB,CAAI,CAAC,WAAL,EACH,CACJ,CAPD,CAQH,CA5DF,qDA8DiB,CACZ,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,sBAA1B,CAAlB,CAAqE,SAAC,CAAD,CAAW,IACtE,CAAA,CAAK,CAAG,CAAK,CAAC,gBAAN,CAAuB,mBAAvB,CAD8D,CAEtE,CAAI,CAAG,CAAK,CAAC,CAAK,CAAC,MAAN,CAAe,CAAhB,CAF0D,CAGtE,CAAI,CAAG,CAAI,CAAG,CAAI,CAAC,SAAL,CAAe,WAAf,EAAH,CAAkC,EAHyB,CAI5E,CAAK,CAAC,SAAN,EAAmB,IAAM,CAC5B,CALD,CADY,CAOZ,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,yBAA1B,CAAlB,CAAwE,SAAC,CAAD,CAAW,CAC/E,GAAM,CAAA,CAAM,CAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAf,CACA,CAAM,CAAC,SAAP,CAAmB,CAAK,CAAC,SAFsD,CAG/E,GAAM,CAAA,CAAK,CAAG,QAAQ,CAAC,aAAT,CAAuB,OAAvB,CAAd,CACA,CAAM,CAAC,WAAP,CAAmB,CAAnB,CAJ+E,CAK/E,GAAM,CAAA,CAAK,CAAG,QAAQ,CAAC,aAAT,CAAuB,OAAvB,CAAd,CACA,CAAK,CAAC,WAAN,CAAkB,CAAlB,CAN+E,CAO/E,GAAM,CAAA,CAAE,CAAG,QAAQ,CAAC,aAAT,CAAuB,IAAvB,CAAX,CACA,CAAK,CAAC,WAAN,CAAkB,CAAlB,CAR+E,CAS/E,GAAM,CAAA,CAAE,CAAG,QAAQ,CAAC,aAAT,CAAuB,IAAvB,CAAX,CACA,CAAE,CAAC,WAAH,CAAe,CAAf,CAV+E,CAW/E,CAAK,CAAC,aAAN,CAAoB,YAApB,CAAiC,CAAjC,CAAyC,CAAzC,CAX+E,CAY/E,CAAE,CAAC,WAAH,CAAe,CAAf,CACH,CAbD,CAcH,CAnFF,6CAqFa,CACR,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,gBAA1B,CAAlB,CAA+D,SAAC,CAAD,CAAW,CACtE,GAAM,CAAA,CAAO,CAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAhB,CACA,CAAO,CAAC,SAAR,CAAoB,eAFkD,CAGtE,CAAK,CAAC,aAAN,CAAoB,YAApB,CAAiC,CAAjC,CAA0C,CAA1C,CAHsE,CAItE,CAAO,CAAC,WAAR,CAAoB,CAApB,CACH,CALD,CAMH,CA5FF,uDA8FkB,CACb,IAAK,GAAI,CAAA,CAAG,CAAG,CAAf,CAAyB,CAAP,EAAA,CAAlB,CAA4B,CAAG,EAA/B,CACI,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,4BAA8B,CAAxD,CAAlB,CAAgF,SAAC,CAAD,CAAY,CACxF,CAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,YAArB,CADwF,CAExF,CAAM,CAAC,SAAP,sBAAgC,CAAM,CAAC,EAAvC,mBAAkD,CAAM,CAAC,SAAzD,CACH,CAHD,CAKP,CArGF,yCAuGW,YACA,CAAO,CAAG,QAAQ,CAAC,cAAT,CAAwB,iBAAxB,CADV,CAEN,GAAgB,IAAZ,GAAA,CAAJ,CACA,GAAI,KAAK,IAAL,CAAU,WAAV,EAAJ,CAA6B,CACzB,GAAM,CAAA,CAAgB,CAAG,QAAQ,CAAC,cAAT,CAAwB,oBAAxB,CAAzB,CACI,CAAO,CAAC,aAAR,GAA0B,CAFL,GAGrB,CAAO,CAAC,aAAR,CAAsB,WAAtB,CAAkC,CAAlC,CAHqB,CAIrB,CAAgB,CAAC,WAAjB,CAA6B,CAA7B,CAJqB,EAMrB,KAAK,YANgB,EAMF,KAAK,cAAL,CAAoB,MAApB,CAA2B,KAAK,YAAhC,CAC1B,CAPD,IAOO,CACH,GAAM,CAAA,CAAc,CAAG,QAAQ,CAAC,cAAT,CAAwB,kBAAxB,CAAvB,CACI,CAAO,CAAC,aAAR,GAA0B,CAF3B,GAGC,CAAO,CAAC,aAAR,CAAsB,WAAtB,CAAkC,CAAlC,CAHD,CAIC,CAAc,CAAC,WAAf,CAA2B,CAA3B,CAJD,KAMG,CAAA,CAAG,CAAG,QAAQ,CAAC,cAAT,CAAwB,UAAxB,CANT,CAOG,CAAI,CAAG,QAAQ,CAAC,sBAAT,CAAgC,MAAhC,EAAwC,CAAxC,CAPV,CAQH,CAAG,CAAC,KAAJ,CAAU,QAAV,WAAwB,CAAI,CAAC,qBAAL,GAA6B,IAA7B,CAAoC,EAA5D,MARG,CASH,KAAK,SAAL,CAAiB,KAAK,SAAL,EAAkB,CAAO,CAAC,oBAAR,CAA6B,GAA7B,CAThC,CAUH,KAAK,OAAL,CAAe,KAAK,OAAL,EAAgB,CAAO,CAAC,oBAAR,CAA6B,IAA7B,CAV5B,CAWH,KAAK,YAAL,CAAoB,KAAK,YAAL,EAAqB,QAAQ,CAAC,sBAAT,CAAgC,YAAhC,CAArB,EAAsE,EAXvF,IAYG,CAAA,CAAa,CAAgC,QAA7B,GAAA,MAAM,CAAC,iBAZ1B,CAaG,CAAY,CAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,EAA0C,YAb5D,CAcG,CAAW,CAAG,IAAM,CAAa,CAAG,CAAH,CAAkB,CAArC,CAdjB,CAeG,CAAS,CAAG,CAAG,CAAC,SAfnB,CAgBG,CAAY,CAAG,CAAS,CAAG,CAAZ,EAA2B,CAAa,CAAG,CAAH,CAAO,CAA/C,CAhBlB,CAiBH,KAAK,YAAL,CAAoB,KAAK,YAAL,EAAsB,UAAM,IACtC,CAAA,CAAS,CAAG,QAAQ,CAAC,cAAT,CAAwB,aAAxB,EAAuC,SADb,CAEtC,CAAS,CAAG,CAAS,CAAG,CAAG,CAAC,qBAAJ,GAA4B,MAFd,CAGtC,CAAY,CAAG,CAAS,CAAG,CAAZ,EAA2B,CAAa,CAAG,CAAH,CAAO,CAA/C,CAHuB,CAIxC,CAAI,CAAC,YAAL,CAAoB,CAJoB,EAKxC,CAAG,CAAC,KAAJ,CAAU,QAAV,CAAqB,UALmB,CAMxC,CAAG,CAAC,KAAJ,CAAU,GAAV,WAAmB,CAAnB,MANwC,EAOjC,CAAI,CAAC,YAAL,CAAoB,CAPa,EAQxC,CAAG,CAAC,KAAJ,CAAU,QAAV,CAAqB,UARmB,CASxC,CAAG,CAAC,KAAJ,CAAU,GAAV,WAAmB,CAAnB,MATwC,GAWxC,CAAG,CAAC,KAAJ,CAAU,QAAV,CAAqB,OAXmB,CAYxC,CAAG,CAAC,KAAJ,CAAU,GAAV,WAAmB,CAAnB,MAZwC,EAe5C,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,CAAI,CAAC,SAAvB,CAAkC,SAAC,CAAD,CAAU,CAAE,CAAI,CAAC,SAAL,CAAe,MAAf,CAAsB,QAAtB,CAAkC,CAAhF,CAf4C,CAgB5C,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,CAAI,CAAC,OAAvB,CAAgC,SAAC,CAAD,CAAU,CAAE,CAAI,CAAC,SAAL,CAAe,MAAf,CAAsB,YAAtB,CAAsC,CAAlF,CAhB4C,CAmB5C,OAFM,CAAA,CAAa,CAAG,IAAM,CAAa,CAAG,CAAH,CAAkB,CAArC,CAEtB,CADI,CAAc,CAAG,CAAI,CAAC,YAAL,CAAkB,MAAlB,CAA2B,CAChD,CAAS,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,CAAI,CAAC,YAAL,CAAkB,MAAlB,CAA2B,CAA/C,CAAkD,CAAC,EAAnD,CAAuD,IAC7C,CAAA,CAAO,CAAG,CAAI,CAAC,YAAL,CAAkB,CAAlB,EAAqB,qBAArB,GAA6C,GADV,CAE7C,CAAO,CAAG,CAAI,CAAC,YAAL,CAAkB,CAAC,CAAG,CAAtB,EAAyB,qBAAzB,GAAiD,GAFd,CAGnD,GAAU,CAAL,EAAA,CAAC,EAAS,CAAO,CAAG,CAArB,EACC,CAAO,EAAI,CAAX,EAA4B,CAAO,CAAG,CAD3C,CAC2D,CACvD,CAAc,CAAG,CADsC,CAEvD,KACH,CACJ,CACD,GAAuB,CAAC,CAApB,GAAA,CAAJ,CAA2B,CACvB,CAAI,CAAC,SAAL,CAAe,CAAf,EAA+B,SAA/B,CAAyC,GAAzC,CAA6C,QAA7C,CADuB,KAEvB,GAAI,CAAA,CAAM,CAAG,CAAI,CAAC,SAAL,CAAe,CAAf,EAA+B,aAFrB,CAGhB,CAAM,GAAK,CAHK,EAInB,CAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,YAArB,CAJmB,CAKnB,CAAM,CAAG,CAAM,CAAC,aAAP,CAAqB,aAErC,CACJ,CArDE,CAsDH,KAAK,YAAL,EAtDG,CAuDH,KAAK,cAAL,CAAoB,GAApB,CAAwB,KAAK,YAA7B,CACH,CACJ,CA1KF,iDA4Ke,CACN,MAAM,CAAC,UADD,GAEN,OAAO,CAAC,UAAR,CAAmB,CAAC,WAAW,GAAZ,CAAqB,KAAK,CAAE,MAA5B,CAAnB,CAFM,CAGN,KAAK,IAAL,CAAU,OAAV,CAAkB,MAAM,CAAC,UAAzB,CAAqC,SAAC,CAAD,CAAQ,CACzC,GAAM,CAAA,CAAO,CAAG,QAAQ,CAAC,cAAT,CAAwB,CAAxB,CAAhB,CACA,OAAO,CAAC,UAAR,CAAmB,MAAnB,CAA0B,OAAS,CAAnC,CAAuC,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAvC,CAA8D,SAAC,CAAD,CAAa,CACvE,CAAO,CAAC,SAAR,CAAoB,CACvB,CAFD,CAEG,CAFH,CAGH,CALD,CAHM,CAUb,CAtLF,iDAwLe,YACV,GAAI,MAAM,CAAC,UAAX,CAAuB,CACnB,KAAK,WAAL,CAAmB,KAAK,WAAL,EAAoB,EADpB,CAEnB,IAAK,GAAI,CAAA,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,KAAK,WAAL,CAAiB,MAArC,CAA6C,CAAC,EAA9C,CACI,KAAK,WAAL,CAAiB,CAAjB,EAAoB,OAApB,GAEJ,KAAK,WAAL,CAAmB,EALA,CAMnB,KAAK,IAAL,CAAU,OAAV,CAAkB,MAAM,CAAC,UAAzB,CAAqC,SAAC,CAAD,CAAQ,CACzC,GAAM,CAAA,CAAK,CAAG,OAAO,CAAC,IAAR,CAAa,QAAQ,CAAC,cAAT,CAAwB,CAAxB,CAAb,CAA0C,MAAM,CAAC,MAAP,CAAgB,MAAhB,CAAyB,UAAnE,CAA+E,CAAC,QAAQ,CAAE,KAAX,CAA/E,CAAd,CACA,CAAK,CAAC,SAAN,CAAgB,IAAI,CAAC,KAAL,CAAW,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAX,CAAhB,CAFyC,CAGzC,CAAI,CAAC,WAAL,CAAiB,IAAjB,CAAsB,CAAtB,CACH,CAJD,CANmB,CAWnB,KAAK,gBAAL,CAAwB,KAAK,gBAAL,EAA0B,UAAM,CACpD,IAAK,GAAI,CAAA,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,CAAI,CAAC,WAAL,CAAiB,MAArC,CAA6C,CAAC,EAA9C,CACI,CAAI,CAAC,WAAL,CAAiB,CAAjB,EAAoB,MAApB,EAEP,CAfkB,CAgBnB,KAAK,cAAL,CAAoB,GAApB,CAAwB,KAAK,gBAA7B,CACH,CACJ,CA3MF,+CA6Mc,CACT,GAAI,MAAM,CAAC,SAAX,CACI,mBAAS,CAAT,EACI,GAAM,CAAA,CAAK,CAAG,MAAM,CAAC,SAAP,CAAiB,CAAjB,CAAd,CACA,CAAC,QAAS,CAAA,CAAT,CAAiB,CAAjB,CAAoB,CACjB,GAAM,CAAA,CAAE,CAAG,CAAK,CAAC,CAAD,CAAhB,CACA,GAAI,CAAC,GAAK,CAAK,CAAC,MAAN,CAAe,CAAzB,CAII,WAHA,IAAI,CAAA,MAAJ,YAAe,CAAf,EAAqB,CACjB,OAAO,CAAE,MAAM,CAAC,UAAP,CAAkB,CAAlB,CADQ,CAArB,EAEG,EAFH,EAGA,CAEJ,GAAI,CAAA,CAAQ,CAAG,GAAI,CAAA,MAAJ,YAAe,CAAf,EAAqB,CAChC,OAAO,CAAE,MAAM,CAAC,UAAP,CAAkB,CAAlB,CADuB,CAEhC,aAAa,CAAE,wBAAM,CACjB,CAAQ,CAAC,OAAT,EADiB,CAEjB,CAAO,CAAC,CAAC,CAAG,CAAL,CACV,CAL+B,CAArB,EAMZ,EANY,EAOlB,CAfD,EAeG,CAfH,CAFJ,EAAS,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,MAAM,CAAC,SAAP,CAAiB,MAArC,CAA6C,CAAC,EAA9C,GAAS,CAAT,CAoBP,CAnOF,2DAqOoB,CACV,CAAC,KAAK,IAAL,CAAU,QAAV,EAAD,EAAsD,QAA7B,GAAA,MAAM,CAAC,iBAAjC,EACE,KAAK,IAAL,CAAU,QAAV,IAAoD,QAA5B,GAAA,MAAM,CAAC,gBAFtB,CAGX,GAAI,CAAA,YAAJ,CAAiB,eAAjB,CAAgC,CAAC,KAAK,CAAE,GAAR,CAAa,eAAe,GAA5B,CAAhC,CAHW,CAKX,GAAI,CAAA,YAAJ,CAAiB,eAAjB,CAAgC,CAAC,KAAK,CAAE,GAAR,CAAa,eAAe,GAA5B,CAAoC,MAAM,CAAE,iBAA5C,CAAhC,CAEP,CA5OF,2CA8OY,YACD,CAAO,CAAG,EADT,CAE0B,MAA7B,GAAA,MAAM,CAAC,iBAFJ,EAEkC,CAAO,CAAC,IAAR,CAAa,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,CAAb,CAFlC,CAGyB,MAA5B,GAAA,MAAM,CAAC,gBAHJ,EAGiC,CAAO,CAAC,IAAR,CAAa,QAAQ,CAAC,cAAT,CAAwB,eAAxB,CAAb,CAHjC,CAIP,KAAK,IAAL,CAAU,OAAV,CAAkB,CAAlB,CAA2B,SAAC,CAAD,CAAY,CACnC,CAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,UAArB,CADmC,CAEnC,CAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,QAArB,CACH,CAHD,CAJO,IAQD,CAAA,CAAW,CAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,CARb,CASD,CAAU,CAAG,EATZ,CAUP,MAAM,CAAC,gBAAP,CAAwB,QAAxB,CAAkC,UAAM,CACpC,CAAI,CAAC,YAAL,CAAoB,CAAI,CAAC,IAAL,CAAU,YAAV,EADgB,CAEpC,GAAM,CAAA,CAAM,CAAG,CAAI,CAAC,YAAL,CAAoB,CAAI,CAAC,YAAxC,CACA,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,CAAlB,CAA2B,SAAC,CAAD,CAAY,CAC/B,CAAM,CAAG,CADsB,EAE/B,CAAM,CAAC,SAAP,CAAiB,MAAjB,CAAwB,YAAxB,CAF+B,CAG/B,CAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,WAArB,CAH+B,EAIxB,CAAM,CAAG,CAAE,CAJa,GAK/B,CAAM,CAAC,SAAP,CAAiB,MAAjB,CAAwB,WAAxB,CAL+B,CAM/B,CAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,YAArB,CAN+B,CAQtC,CARD,CAHoC,CAYZ,GAApB,CAAA,CAAI,CAAC,YAZ2B,CAa5B,CAAM,CAAG,CAbmB,EAc5B,CAAW,CAAC,SAAZ,CAAsB,MAAtB,CAA6B,QAA7B,CAd4B,CAe5B,CAAW,CAAC,SAAZ,CAAsB,GAAtB,CAA0B,SAA1B,CAf4B,EAgBrB,CAAM,CAAG,CAAE,CAhBU,GAiB5B,CAAW,CAAC,KAAZ,CAAkB,OAAlB,CAA4B,OAjBA,CAkB5B,CAAW,CAAC,SAAZ,CAAsB,MAAtB,CAA6B,SAA7B,CAlB4B,CAmB5B,CAAW,CAAC,SAAZ,CAAsB,GAAtB,CAA0B,QAA1B,CAnB4B,EAsBhC,CAAW,CAAC,KAAZ,CAAkB,OAAlB,CAA4B,MAtBI,CAwB/B,CAAI,CAAC,cAxB0B,GAyBhC,CAAI,CAAC,cAAL,CAAsB,MAAM,CAAC,UAAP,CAAkB,UAAM,CAC1C,CAAI,CAAC,cAAL,CAAsB,IADoB,4BAE1C,UAAS,CAAT,GAAkB,CAAI,CAAC,cAAvB,gDAAS,CAAT,SAAuC,CAAK,EAFF,mFAG7C,CAHqB,CAGnB,EAHmB,CAzBU,EA8BpC,CAAI,CAAC,YAAL,CAAoB,CAAI,CAAC,YAC5B,CA/BD,IAgCH,CAxRF,2CA0RY,YACP,MAAM,CAAC,gBAAP,CAAwB,QAAxB,CAAkC,UAAM,CAC/B,CAAI,CAAC,cAD0B,GAEhC,CAAI,CAAC,cAAL,CAAsB,MAAM,CAAC,UAAP,CAAkB,UAAM,CAC1C,CAAI,CAAC,cAAL,CAAsB,IADoB,4BAE1C,UAAS,CAAT,GAAkB,CAAI,CAAC,cAAvB,gDAAS,CAAT,SAAuC,CAAK,EAFF,mFAG1C,CAAI,CAAC,cAAL,EAH0C,CAI1C,CAAI,CAAC,OAAL,EAJ0C,CAK1C,CAAI,CAAC,gBAAL,EAL0C,CAM1C,CAAI,CAAC,WAAL,EACH,CAPqB,CAOnB,GAPmB,CAFU,CAWvC,CAXD,IAYH,CAvSF,mCAySQ,CACH,KAAK,cAAL,EADG,CAEH,KAAK,eAAL,EAFG,CAGH,KAAK,aAAL,EAHG,CAIH,KAAK,SAAL,EAJG,CAKH,KAAK,cAAL,EALG,CAMH,KAAK,WAAL,EANG,CAOH,KAAK,WAAL,EAPG,CAQH,KAAK,UAAL,EARG,CASH,KAAK,OAAL,EATG,CAUH,KAAK,gBAAL,EAVG,CAYH,KAAK,QAAL,EAZG,CAaH,KAAK,QAAL,EACH,CAvTF,SA0TG,CAAS,CAAG,UAAM,CACpB,GAAM,CAAA,CAAK,CAAG,GAAI,CAAA,CAAlB,CACA,CAAK,CAAC,IAAN,EACH,CA7TE,CA+TyB,SAAxB,GAAA,QAAQ,CAAC,UA/TV,CAkUC,QAAQ,CAAC,gBAAT,CAA0B,kBAA1B,CAA8C,CAA9C,IAlUD,CAgUC,CAAS,EAIhB,CApUD,G","file":"theme.min.js","sourcesContent":["(() => {\n 'use strict';\n\n class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) {\n handler(elements[i]);\n }\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: 560px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n }\n\n class Theme {\n constructor() {\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 }\n\n initMenuMobile() {\n const menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const menuMobile = document.getElementById('menu-mobile');\n this._menuMobileOnScroll = this._menuMobileOnScroll || (() => {\n menuToggleMobile.classList.remove('active');\n menuMobile.classList.remove('active');\n });\n if (this.util.isMobile()) {\n menuToggleMobile.onclick = () => {\n menuToggleMobile.classList.toggle('active');\n menuMobile.classList.toggle('active');\n };\n this.scrollEventSet.add(this._menuMobileOnScroll);\n } else {\n this.scrollEventSet.delete(this._menuMobileOnScroll);\n }\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), (button) => {\n button.onclick = () => {\n document.body.classList.toggle('dark-theme');\n window.isDark = !window.isDark;\n window.localStorage && window.localStorage.setItem('theme', window.isDark ? 'dark' : 'light');\n this.initEcharts();\n };\n });\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), (block) => {\n const codes = block.querySelectorAll('pre.chroma > code');\n const code = codes[codes.length - 1];\n const lang = code ? code.className.toLowerCase() : '';\n block.className += ' ' + lang;\n });\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), (block) => {\n const chroma = document.createElement('div');\n chroma.className = block.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 block.parentElement.replaceChild(chroma, block);\n td.appendChild(block);\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('.page.single .content > h' + num), (header) => {\n header.classList.add('headerLink');\n header.innerHTML = `<a href=\"#${header.id}\"></a>${header.innerHTML}`;\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 toc.style.maxWidth = `${page.getBoundingClientRect().left - 20}px`;\n this._tocLinks = this._tocLinks || tocCore.getElementsByTagName('a');\n this._tocLis = this._tocLis || tocCore.getElementsByTagName('li');\n this._headerLinks = this._headerLinks || document.getElementsByClassName('headerLink') || [];\n const headerIsFixed = window.desktopHeaderMode !== '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(this._tocLinks, (link) => { link.classList.remove('active'); });\n this.util.forEach(this._tocLis, (link) => { link.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = this._headerLinks.length - 1;\n for (let i = 0; i < this._headerLinks.length - 1; i++) {\n const thisTop = this._headerLinks[i].getBoundingClientRect().top;\n const nextTop = this._headerLinks[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 this._tocLinks[activeTocIndex].classList.add('active');\n let parent = this._tocLinks[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 initMermaid() {\n if (window.mermaidArr) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach(window.mermaidArr, (id) => {\n const element = document.getElementById(id);\n mermaid.mermaidAPI.render('svg-' + id, window.contentMap[id], (svgCode) => {\n element.innerHTML = svgCode;\n }, element);\n });\n }\n }\n\n initEcharts() {\n if (window.echartsArr) {\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(window.echartsArr, (id) => {\n const chart = echarts.init(document.getElementById(id), window.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(window.contentMap[id]));\n this._echartsArr.push(chart);\n });\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\n initTypeit() {\n if (window.typeitArr) {\n for (let i = 0; i < window.typeitArr.length; i++) {\n const group = window.typeitArr[i];\n (function typeone(i) {\n const id = group[i];\n if (i === group.length - 1) {\n new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n }).go();\n return;\n }\n let instance = new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n afterComplete: () => {\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n })(0);\n }\n }\n }\n\n initSmoothScroll() {\n if ((!this.util.isMobile() && window.desktopHeaderMode === 'normal')\n || (this.util.isMobile() && window.mobileHeaderMode === 'normal')) {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true});\n } else {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true, header: '#header-desktop'});\n }\n }\n\n onScroll() {\n const headers = [];\n if (window.desktopHeaderMode === 'auto') headers.push(document.getElementById('header-desktop'));\n if (window.mobileHeaderMode === 'auto') headers.push(document.getElementById('header-mobile'));\n this.util.forEach(headers, (header) => {\n header.classList.add('animated');\n header.classList.add('faster');\n });\n const toTopButton = document.getElementById('dynamic-to-top');\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 header.classList.add('fadeOutUp');\n } else if (scroll < - MIN_SCROLL) {\n header.classList.remove('fadeOutUp');\n header.classList.add('fadeInDown');\n }\n });\n if (this.newScrollTop > 400) {\n if (scroll > MIN_SCROLL) {\n toTopButton.classList.remove('fadeIn');\n toTopButton.classList.add('fadeOut');\n } else if (scroll < - MIN_SCROLL) {\n toTopButton.style.display = 'block';\n toTopButton.classList.remove('fadeOut');\n toTopButton.classList.add('fadeIn');\n }\n } else {\n toTopButton.style.display = 'none';\n }\n if (!this._scrollTimeout) {\n this._scrollTimeout = window.setTimeout(() => {\n this._scrollTimeout = null;\n for (let event of this.scrollEventSet) event();\n }, 10);\n }\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.initMenuMobile();\n this.initToc();\n this.initSmoothScroll();\n this.initMermaid()\n }, 100);\n }\n }, false);\n }\n\n init() {\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initToc();\n this.initSmoothScroll();\n\n this.onScroll();\n this.onResize();\n }\n }\n\n const themeInit = () => {\n const theme = new Theme();\n theme.init();\n };\n\n if (document.readyState !== 'loading') {\n themeInit();\n } else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n }\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":["(() => {\n 'use strict';\n\n class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) {\n handler(elements[i]);\n }\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: 560px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n }\n\n class Theme {\n constructor() {\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 }\n\n initMenuMobile() {\n const menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const menuMobile = document.getElementById('menu-mobile');\n this._menuMobileOnScroll = this._menuMobileOnScroll || (() => {\n menuToggleMobile.classList.remove('active');\n menuMobile.classList.remove('active');\n });\n if (this.util.isMobile()) {\n menuToggleMobile.onclick = () => {\n menuToggleMobile.classList.toggle('active');\n menuMobile.classList.toggle('active');\n };\n this.scrollEventSet.add(this._menuMobileOnScroll);\n } else {\n this.scrollEventSet.delete(this._menuMobileOnScroll);\n }\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), (button) => {\n button.onclick = () => {\n document.body.classList.toggle('dark-theme');\n window.isDark = !window.isDark;\n window.localStorage && window.localStorage.setItem('theme', window.isDark ? 'dark' : 'light');\n this.initEcharts();\n };\n });\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), (block) => {\n const codes = block.querySelectorAll('pre.chroma > code');\n const code = codes[codes.length - 1];\n const lang = code ? code.className.toLowerCase() : '';\n block.className += ' ' + lang;\n });\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), (block) => {\n const chroma = document.createElement('div');\n chroma.className = block.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 block.parentElement.replaceChild(chroma, block);\n td.appendChild(block);\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('.page.single .content > h' + num), (header) => {\n header.classList.add('headerLink');\n header.innerHTML = `<a href=\"#${header.id}\" class=\"header-mark\"></a>${header.innerHTML}`;\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 toc.style.maxWidth = `${page.getBoundingClientRect().left - 20}px`;\n this._tocLinks = this._tocLinks || tocCore.getElementsByTagName('a');\n this._tocLis = this._tocLis || tocCore.getElementsByTagName('li');\n this._headerLinks = this._headerLinks || document.getElementsByClassName('headerLink') || [];\n const headerIsFixed = window.desktopHeaderMode !== '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(this._tocLinks, (link) => { link.classList.remove('active'); });\n this.util.forEach(this._tocLis, (link) => { link.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = this._headerLinks.length - 1;\n for (let i = 0; i < this._headerLinks.length - 1; i++) {\n const thisTop = this._headerLinks[i].getBoundingClientRect().top;\n const nextTop = this._headerLinks[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 this._tocLinks[activeTocIndex].classList.add('active');\n let parent = this._tocLinks[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 initMermaid() {\n if (window.mermaidArr) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach(window.mermaidArr, (id) => {\n const element = document.getElementById(id);\n mermaid.mermaidAPI.render('svg-' + id, window.contentMap[id], (svgCode) => {\n element.innerHTML = svgCode;\n }, element);\n });\n }\n }\n\n initEcharts() {\n if (window.echartsArr) {\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(window.echartsArr, (id) => {\n const chart = echarts.init(document.getElementById(id), window.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(window.contentMap[id]));\n this._echartsArr.push(chart);\n });\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\n initTypeit() {\n if (window.typeitArr) {\n for (let i = 0; i < window.typeitArr.length; i++) {\n const group = window.typeitArr[i];\n (function typeone(i) {\n const id = group[i];\n if (i === group.length - 1) {\n new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n }).go();\n return;\n }\n let instance = new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n afterComplete: () => {\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n })(0);\n }\n }\n }\n\n initSmoothScroll() {\n if ((!this.util.isMobile() && window.desktopHeaderMode === 'normal')\n || (this.util.isMobile() && window.mobileHeaderMode === 'normal')) {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true});\n } else {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true, header: '#header-desktop'});\n }\n }\n\n onScroll() {\n const headers = [];\n if (window.desktopHeaderMode === 'auto') headers.push(document.getElementById('header-desktop'));\n if (window.mobileHeaderMode === 'auto') headers.push(document.getElementById('header-mobile'));\n this.util.forEach(headers, (header) => {\n header.classList.add('animated');\n header.classList.add('faster');\n });\n const toTopButton = document.getElementById('dynamic-to-top');\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 header.classList.add('fadeOutUp');\n } else if (scroll < - MIN_SCROLL) {\n header.classList.remove('fadeOutUp');\n header.classList.add('fadeInDown');\n }\n });\n if (this.newScrollTop > 400) {\n if (scroll > MIN_SCROLL) {\n toTopButton.classList.remove('fadeIn');\n toTopButton.classList.add('fadeOut');\n } else if (scroll < - MIN_SCROLL) {\n toTopButton.style.display = 'block';\n toTopButton.classList.remove('fadeOut');\n toTopButton.classList.add('fadeIn');\n }\n } else {\n toTopButton.style.display = 'none';\n }\n if (!this._scrollTimeout) {\n this._scrollTimeout = window.setTimeout(() => {\n this._scrollTimeout = null;\n for (let event of this.scrollEventSet) event();\n }, 10);\n }\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.initMenuMobile();\n this.initToc();\n this.initSmoothScroll();\n this.initMermaid()\n }, 100);\n }\n }, false);\n }\n\n init() {\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initToc();\n this.initSmoothScroll();\n\n this.onScroll();\n this.onResize();\n }\n }\n\n const themeInit = () => {\n const theme = new Theme();\n theme.init();\n };\n\n if (document.readyState !== 'loading') {\n themeInit();\n } else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n }\n})();\n"]}
\ No newline at end of file
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-size:16px;font-weight:400;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(38,139,211,0.2)}.dark-theme ::selection{background:rgba(38,139,211,0.3)}body{background-color:#fff;color:#161209;overflow-wrap:break-word}body::before{content:"";background-repeat:no-repeat;background-position:center;opacity:0.05;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}body.dark-theme{color:#a9a9b3;background-color:#292a2d}b,strong{font-weight:bold}a{color:#161209;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}a:hover{color:#2d96bd}.dark-theme a{color:#a9a9b3}.dark-theme a:hover{color:#fff}b,strong{font-weight:bold}#dynamic-to-top{display:none;overflow:hidden;width:auto;z-index:90;position:fixed;bottom:2rem;right:2rem;top:auto;left:auto;font-family:sans-serif;font-size:1rem;color:#fff;text-decoration:none;font-weight:bold;padding:1rem 1rem;border:1px solid #dcdcdc;background:#222;outline:none}#dynamic-to-top:hover{background:#000;cursor:pointer}#dynamic-to-top:active{background:#000;outline:none}#dynamic-to-top:focus,#dynamic-to-top:hover{outline:none}#dynamic-to-top span{display:block;overflow:hidden;width:.875rem;height:.75rem;background:url("data:image/png;base64,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") no-repeat center center}.dark-theme #dynamic-to-top{border:1px solid #4a4b50}.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}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.page{position:relative;width:100%;max-width:980px;margin:0 auto;padding-top:6rem}.single .single-title{margin:0;font-size:1.8rem;line-height:3rem}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark-theme .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark-theme .single .post-meta a{color:#eee}.single .post-meta a:hover{color:#ef3982}.dark-theme .single .post-meta a:hover{color:#2d96bd}.single .post-meta .author{font-size:1.05rem}.single .featured-image{padding-top:.6rem}.single .featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.single #toc-auto{display:block;position:absolute;width:100%;margin-left:1000px;padding:0 .8rem;border-left:1px solid #dcdcdc;overflow-wrap:break-word;box-sizing:border-box;top:12rem}.dark-theme .single #toc-auto{border-left:1px solid #4a4b50}.single #toc-auto .toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}.single #toc-auto .toc-content.always-active ul{display:block}.single #toc-auto .toc-content>nav>ul{margin:.625rem 0}.single #toc-auto .toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}.single #toc-auto .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark-theme .single #toc-auto .toc-content ul a::before{color:#eee}.single #toc-auto .toc-content ul ul{padding-left:1.25rem;display:none}.single #toc-auto .toc-content ul .has-active>ul{display:block}.single #toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark-theme .single #toc-auto .toc-content a.active{color:#eee}.single #toc-auto .toc-content a.active::before{color:#ef3982}.dark-theme .single #toc-auto .toc-content a.active::before{color:#2d96bd}.single #toc-static{display:none;padding-top:.8rem}.single #toc-static details summary .toc-title{display:block;display:flex;justify-content:space-between;font-weight:bold;line-height:2em;padding:0 .625rem;background:#f5f5f5}.single #toc-static details summary .toc-title i.details{line-height:2em}.dark-theme .single #toc-static details summary .toc-title{background:#272C34}.single #toc-static details summary::-webkit-details-marker{display:none}.single #toc-static details[open] i.details{transform:rotate(180deg)}.single #toc-static .toc-content{border:2px solid #f5f5f5}.single #toc-static .toc-content>nav>ul{margin:.625rem 0}.single #toc-static .toc-content ul{padding-left:.625rem;list-style:none}.single #toc-static .toc-content ul ul{padding-left:1.25rem}.dark-theme .single #toc-static .toc-content{border:2px solid #272C34}.single .toc .toc-title{font-size:1.2rem}.single .toc .toc-content{font-size:.9rem}.single .toc ruby{background:#f5f5f5}.single .toc ruby rt{color:#a9a9b3}.dark-theme .single .toc ruby{background:#272C34}.dark-theme .single .toc ruby rt{color:#5d5d5f}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark-theme .single .content h2,.dark-theme .single .content h3,.dark-theme .single .content h4,.dark-theme .single .content h5,.dark-theme .single .content h6{font-weight:bolder}.single .content h2>a:first-child::before,.single .content h3>a:first-child::before,.single .content h4>a:first-child::before,.single .content h5>a:first-child::before,.single .content h6>a:first-child::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .single .content h2>a:first-child::before,.dark-theme .single .content h3>a:first-child::before,.dark-theme .single .content h4>a:first-child::before,.dark-theme .single .content h5>a:first-child::before,.dark-theme .single .content h6>a:first-child::before{color:#eee}.single .content h2>a:first-child::before{content:"#"}.single .content p{font-size:1rem;margin:.5rem 0}.single .content a{word-break:break-all;word-break:break-word;color:#2d96bd}.dark-theme .single .content a{color:#eee}.single .content a:hover{color:#ef3982}.dark-theme .single .content a:hover:hover{color:#2d96bd;font-weight:bold}.single .content ul{padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark-theme .single .content ruby{background:#272C34}.dark-theme .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark-theme .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}.dark-theme .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark-theme .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 double #dcdcdc}.dark-theme .single .content .table-wrapper>table th,.dark-theme .single .content .table-wrapper>table td{border:1px double #4a4b50}.single .content img{max-width:100%;min-height:1.2rem}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.625rem;margin:0 auto;border-bottom:1px solid #d9d9d9;font-size:.875rem;color:#969696;line-height:1.7}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em 0.5em 1.2em;margin:0 0 2em 0;position:relative}.single .content blockquote::before{content:'\201C';position:absolute;top:0em;left:50%;transform:translate(-50%, -50%);width:3rem;height:2rem;font:6em/1.08em 'PT Sans', sans-serif;color:#2d96bd;text-align:center}.dark-theme .single .content blockquote::before{color:#eee}.single .content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:0.875em;color:#2d96bd}.dark-theme .single .content blockquote::after{color:#eee}.dark-theme .single .content blockquote{border-color:#4a4b50}.single .content .footnotes{color:#a9a9b3}.dark-theme .single .content .footnotes{color:#5d5d5f}.single .content code{font-size:13px;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;padding:.2rem .4rem;color:#E74C3C}.dark-theme .single .content code{color:#E5BF78}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark-theme .single .content code,.dark-theme .single .content pre,.dark-theme .single .content .highlight table,.dark-theme .single .content .highlight tr,.dark-theme .single .content .highlight td{background:#272C34}.single .content .highlight>.chroma{margin:1rem 0}.single .content .highlight>.chroma code,.single .content .highlight>.chroma pre{margin:0;padding:0}.single .content .highlight>.chroma::before{display:block;padding:.4rem;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .single .content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.single .content .highlight>.chroma.language-bash::before{content:"Bash"}.single .content .highlight>.chroma.language-c::before{content:"C"}.single .content .highlight>.chroma.language-cs::before{content:"C#"}.single .content .highlight>.chroma.language-cpp::before{content:"C++"}.single .content .highlight>.chroma.language-clojure::before{content:"Clojure"}.single .content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.single .content .highlight>.chroma.language-css::before{content:"CSS"}.single .content .highlight>.chroma.language-dart::before{content:"Dart"}.single .content .highlight>.chroma.language-diff::before{content:"Diff"}.single .content .highlight>.chroma.language-erlang::before{content:"Erlang"}.single .content .highlight>.chroma.language-go::before{content:"Go"}.single .content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.single .content .highlight>.chroma.language-groovy::before{content:"Groovy"}.single .content .highlight>.chroma.language-haskell::before{content:"Haskell"}.single .content .highlight>.chroma.language-html::before{content:"HTML"}.single .content .highlight>.chroma.language-http::before{content:"HTTP"}.single .content .highlight>.chroma.language-xml::before{content:"XML"}.single .content .highlight>.chroma.language-java::before{content:"Java"}.single .content .highlight>.chroma.language-js::before{content:"JavaScript"}.single .content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.single .content .highlight>.chroma.language-json::before{content:"JSON"}.single .content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.single .content .highlight>.chroma.language-latex::before{content:"LaTeX"}.single .content .highlight>.chroma.language-less::before{content:"Less"}.single .content .highlight>.chroma.language-lisp::before{content:"Lisp"}.single .content .highlight>.chroma.language-lua::before{content:"Lua"}.single .content .highlight>.chroma.language-makefile::before{content:"Makefile"}.single .content .highlight>.chroma.language-markdown::before{content:"Markdown"}.single .content .highlight>.chroma.language-matlab::before{content:"Matlab"}.single .content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.single .content .highlight>.chroma.language-php::before{content:"PHP"}.single .content .highlight>.chroma.language-perl::before{content:"Perl"}.single .content .highlight>.chroma.language-python::before{content:"Python"}.single .content .highlight>.chroma.language-r::before{content:"R"}.single .content .highlight>.chroma.language-ruby::before{content:"Ruby"}.single .content .highlight>.chroma.language-rust::before{content:"Rust"}.single .content .highlight>.chroma.language-scala::before{content:"Scala"}.single .content .highlight>.chroma.language-scss::before{content:"Scss"}.single .content .highlight>.chroma.language-shell::before{content:"Shell"}.single .content .highlight>.chroma.language-sql::before{content:"SQL"}.single .content .highlight>.chroma.language-swift::before{content:"Swift"}.single .content .highlight>.chroma.language-tex::before{content:"TeX"}.single .content .highlight>.chroma.language-toml::before{content:"TOML"}.single .content .highlight>.chroma.language-ts::before{content:"TypeScript"}.single .content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.single .content .highlight>.chroma.language-vue::before{content:"Vue"}.single .content .highlight>.chroma.language-yml::before{content:"YAML"}.single .content .highlight>.chroma.language-yaml::before{content:"YAML"}.single .content .highlight>.chroma table,.single .content .highlight>.chroma tr,.single .content .highlight>.chroma td{margin:0;border:none !important}.single .content .highlight>.chroma td{padding:.2rem .4rem}.single .content .highlight>.chroma .lntd:first-child{width:1.2rem}.single .content .highlight>.chroma .lntd:first-child .lnt{color:#b1b0b0}.single .content .highlight>.chroma .lntd:first-child .hl{font-weight:bolder}.single .content .highlight>.chroma .lntd:last-child .hl{display:block;background-color:#e8e8e8}.dark-theme .single .content .highlight>.chroma .lntd:last-child .hl{background-color:#1c2025}.single .content .highlight{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;font-size:13px;line-height:18px}.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}.dark-theme .single .content .highlight .p{color:#a9a9b3}.dark-theme .single .content .highlight .k{color:#d371e3}.dark-theme .single .content .highlight .kc{color:#d371e3}.dark-theme .single .content .highlight .kd{color:#d371e3}.dark-theme .single .content .highlight .kn{color:#d371e3}.dark-theme .single .content .highlight .kp{color:#d371e3}.dark-theme .single .content .highlight .kr{color:#d371e3}.dark-theme .single .content .highlight .kt{color:#d371e3}.dark-theme .single .content .highlight .n{color:#a9b2c0}.dark-theme .single .content .highlight .na{color:#41b0f5}.dark-theme .single .content .highlight .nb{color:#19b9c4}.dark-theme .single .content .highlight .bp{color:#ecbf6f}.dark-theme .single .content .highlight .nc{color:#ecbf6f}.dark-theme .single .content .highlight .no{color:#41b0f5}.dark-theme .single .content .highlight .nd{color:#ecbf6f}.dark-theme .single .content .highlight .ni{color:#41b0f5}.dark-theme .single .content .highlight .ne{color:#41b0f5}.dark-theme .single .content .highlight .nf{color:#41b0f5}.dark-theme .single .content .highlight .fm{color:#19b9c4}.dark-theme .single .content .highlight .nl{color:#41b0f5}.dark-theme .single .content .highlight .nn{color:#41b0f5}.dark-theme .single .content .highlight .nx{color:#a9a9b3}.dark-theme .single .content .highlight .py{color:#41b0f5}.dark-theme .single .content .highlight .nt{color:#41b0f5}.dark-theme .single .content .highlight .nv{color:#41b0f5}.dark-theme .single .content .highlight .vc{color:#41b0f5}.dark-theme .single .content .highlight .vg{color:#41b0f5}.dark-theme .single .content .highlight .vi{color:#41b0f5}.dark-theme .single .content .highlight .vm{color:#41b0f5}.dark-theme .single .content .highlight .l{color:#2aa198}.dark-theme .single .content .highlight .ld{color:#2aa198}.dark-theme .single .content .highlight .s{color:#8cc570}.dark-theme .single .content .highlight .sa{color:#8cc570}.dark-theme .single .content .highlight .sb{color:#8cc570}.dark-theme .single .content .highlight .sc{color:#8cc570}.dark-theme .single .content .highlight .dl{color:#8cc570}.dark-theme .single .content .highlight .sd{color:#8cc570}.dark-theme .single .content .highlight .s2{color:#8cc570}.dark-theme .single .content .highlight .se{color:#8cc570}.dark-theme .single .content .highlight .sh{color:#8cc570}.dark-theme .single .content .highlight .si{color:#8cc570}.dark-theme .single .content .highlight .sx{color:#8cc570}.dark-theme .single .content .highlight .sr{color:#8cc570}.dark-theme .single .content .highlight .s1{color:#8cc570}.dark-theme .single .content .highlight .ss{color:#8cc570}.dark-theme .single .content .highlight .m{color:#db985c}.dark-theme .single .content .highlight .mb{color:#db985c}.dark-theme .single .content .highlight .mf{color:#db985c}.dark-theme .single .content .highlight .mh{color:#db985c}.dark-theme .single .content .highlight .mi{color:#db985c}.dark-theme .single .content .highlight .il{color:#db985c}.dark-theme .single .content .highlight .mo{color:#db985c}.dark-theme .single .content .highlight .o{color:#ecbf6f}.dark-theme .single .content .highlight .ow{color:#d371e3}.dark-theme .single .content .highlight .c{color:#7e848f}.dark-theme .single .content .highlight .ch{color:#7e848f}.dark-theme .single .content .highlight .cm{color:#7e848f}.dark-theme .single .content .highlight .c1{color:#7e848f}.dark-theme .single .content .highlight .cs{color:#7e848f}.dark-theme .single .content .highlight .cp{color:#7e848f}.dark-theme .single .content .highlight .cpf{color:#7e848f}.dark-theme .single .content .highlight .g{color:#f16372}.dark-theme .single .content .highlight .gd{color:#f16372}.dark-theme .single .content .highlight .ge{color:#f16372}.dark-theme .single .content .highlight .gr{color:#f16372}.dark-theme .single .content .highlight .gh{color:#f16372}.dark-theme .single .content .highlight .gi{color:#f16372}.dark-theme .single .content .highlight .go{color:#f16372}.dark-theme .single .content .highlight .gp{color:#f16372}.dark-theme .single .content .highlight .gs{color:#f16372}.dark-theme .single .content .highlight .gu{color:#f16372}.dark-theme .single .content .highlight .gt{color:#f16372}.dark-theme .single .content .highlight .w{color:#bbb}.single .content .admonition{position:relative;margin:.9765em 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{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:0.05rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{margin:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;cursor:auto;position:absolute;left:.6rem;top:.6rem}.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.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.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.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.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.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.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.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.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.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.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.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content details.admonition summary{display:block;outline:none;cursor:pointer}.single .content details.admonition summary::-webkit-details-marker{display:none}.single .content details.admonition summary i.details{position:absolute;top:.5rem;right:.5rem;color:#161209}.dark-theme .single .content details.admonition summary i.details{color:#a9a9b3}.single .content details.admonition[open] i.details{transform:rotate(180deg)}.single .content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.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 #dcdcdc;border-bottom:none}.dark-theme .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #dcdcdc;border-bottom-color:#dcdcdc;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #dcdcdc;box-shadow:inset 0 -1px 0 #dcdcdc;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;color:#E74C3C}.dark-theme .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;font-weight:bold;word-break:break-all}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 0.3rem}.dark-theme .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.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}.dark-theme .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{color:#2d96bd}.dark-theme .single .post-footer .post-info .post-info-line .post-info-mod a{color:#eee}.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark-theme .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#2d96bd}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark-theme .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{color:#2d96bd}.dark-theme .single .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.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-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;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title{text-align:right;padding-bottom:2rem}.archive .single-title{text-align:right;padding-bottom:2rem}.archive .archive-item{margin-left:2rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;padding:0 2.5rem;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}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item-link{display:inline-block;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95%}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark-theme .archive .archive-item-link{color:#a9a9b3;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{color:#2d96bd;transform:scale(1.1)}.dark-theme .archive .tag-cloud-tags a:active,.dark-theme .archive .tag-cloud-tags a:focus,.dark-theme .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a small{color:#a9a9b3}.dark-theme .archive .tag-cloud-tags a small{color:#fff}.home .home-profile{transform:translateY(0);padding:2rem 0;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{width:6rem;height:auto;display:inline-block;-webkit-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);margin:0 auto;-webkit-transition:all ease 0.4s;-moz-transition:all ease 0.4s;-o-transition:all ease 0.4s;transition:all ease 0.4s;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-description{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .home-social-links{padding-top:.6rem}.home .home-profile .home-social-links i{font-size:1.45rem}.home .home-profile .home-social-links img{width:1.5rem;height:1.5rem}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .single-title{font-size:1.6rem}.home .summary .content{display:-moz-box;display:-webkit-box;-moz-box-orient:vertical;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark-theme .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;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,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .home .summary .content h2::before,.dark-theme .home .summary .content h3::before,.dark-theme .home .summary .content h4::before,.dark-theme .home .summary .content h5::before,.dark-theme .home .summary .content h6::before{color:#eee}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem !important}.home .summary .post-footer a{color:#2d96bd !important}.dark-theme .home .summary .post-footer a{color:#eee !important}.home .summary .post-footer a:hover{color:#ef3982 !important}.dark-theme .home .summary .post-footer a:hover{color:#2d96bd !important}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209 !important}.dark-theme .home .summary .post-footer .post-tags a{color:#a9a9b3 !important}.home .summary .post-footer .post-tags a:hover{color:#2d96bd !important}.dark-theme .home .summary .post-footer .post-tags a:hover{color:#fff !important}#content-404{font-size:1.8rem;line-height:3rem;transform:translateY(30vh);text-align:center}header{width:100%;z-index:100;background-color:#f8f8f8}.dark-theme header{background-color:#252627}header .header-title{font-weight:bold}header .language-select{font-weight:400;border:none;box-shadow:none;background:transparent;background-image:none;-webkit-appearance:none;color:#161209}.dark-theme header .language-select{color:#a9a9b3}header .language-select:focus{outline:none}header .language-select:hover{cursor:pointer}header .theme-switch i{transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:4rem;line-height:4rem}#header-desktop .header-wrapper{width:auto;text-align:center;margin:0 4rem;display:flex;justify-content:space-between}#header-desktop .header-wrapper .header-title a{padding:0 8px;font-size:1.25rem}#header-desktop .header-wrapper .header-title a i{line-height:2rem}#header-desktop .header-wrapper .menu a{padding:0 8px}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark-theme #header-desktop .header-wrapper .menu a.active{color:#fff}#header-mobile{display:none;position:fixed;height:4rem;line-height:4rem}#header-mobile .header-wrapper{padding:0;margin:0;transition:all 0.3s ease 0s}#header-mobile .header-wrapper .header-container{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:1.125rem;padding-right:1rem;padding-left:1rem;box-sizing:border-box}#header-mobile .header-wrapper .header-container .header-title{font-size:1.25rem}#header-mobile .header-wrapper .header-container .menu-toggle{cursor:pointer;line-height:4rem}#header-mobile .header-wrapper .header-container .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:.1s margin .1s, .1s transform;-moz-transition:.1s margin .1s, .1s transform;transition:.1s margin .1s, .1s transform}.dark-theme #header-mobile .header-wrapper .header-container .menu-toggle span{background:#a9a9b3}#header-mobile .header-wrapper .header-container .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-wrapper .header-container .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-wrapper .header-container .menu-toggle.active span{-webkit-transition:.1s margin, .1s transform .1s;-moz-transition:.1s margin, .1s transform .1s;transition:.1s margin, .1s transform .1s}#header-mobile .header-wrapper .header-container .menu-toggle.active span:nth-child(1){-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-wrapper .header-container .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-wrapper .header-container .menu-toggle.active span:nth-child(3){-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-wrapper .menu{text-align:center;background:#fff;border-top:2px solid #161209;display:none;box-shadow:0px 2px 4px rgba(0,0,0,0.1),0px 4px 8px rgba(0,0,0,0.1)}#header-mobile .header-wrapper .menu a{display:block;line-height:2.5rem}#header-mobile .header-wrapper .menu.active{display:block}.dark-theme #header-mobile .header-wrapper .menu{background:#292a2d;border-top:2px solid #a9a9b3}.copyright{font-size:.875rem}.copyright .copyright-line{width:100%}.copyright .copyright-line .icp-br{display:none}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{-webkit-font-smoothing:antialiased;font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;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}.dark-theme .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;transition:0.3s;bottom:0px}.dark-theme .pagination li:before,.dark-theme .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}.dark-theme .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1800px){.page{max-width:780px}.page #toc-auto{margin-left:800px}}@media only screen and (max-width: 1440px){.page{max-width:680px}.page #toc-auto{margin-left:700px}}@media only screen and (max-width: 1200px){.page{max-width:560px}.page #toc-auto{margin-left:580px}}@media only screen and (max-width: 960px){#header-desktop .header-wrapper{margin:0 1rem}.page{max-width:80%}.page #toc-auto{display:none}.page #toc-static{display:block}}@media only screen and (max-width: 720px){#header-desktop{display:none}#header-mobile{display:block}.page{max-width:100%;padding-top:6rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-size:16px;font-weight:400;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(38,139,211,0.2)}.dark-theme ::selection{background:rgba(38,139,211,0.3)}body{background-color:#fff;color:#161209;overflow-wrap:break-word}body::before{content:"";background-repeat:no-repeat;background-position:center;opacity:0.05;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}body.dark-theme{color:#a9a9b3;background-color:#292a2d}b,strong{font-weight:bold}a{color:#161209;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}a:hover{color:#2d96bd}.dark-theme a{color:#a9a9b3}.dark-theme a:hover{color:#fff}b,strong{font-weight:bold}#dynamic-to-top{display:none;overflow:hidden;width:auto;z-index:90;position:fixed;bottom:2rem;right:2rem;top:auto;left:auto;font-family:sans-serif;font-size:1rem;color:#fff;text-decoration:none;font-weight:bold;padding:1rem 1rem;border:1px solid #dcdcdc;background:#222;outline:none}#dynamic-to-top:hover{background:#000;cursor:pointer}#dynamic-to-top:active{background:#000;outline:none}#dynamic-to-top:focus,#dynamic-to-top:hover{outline:none}#dynamic-to-top span{display:block;overflow:hidden;width:.875rem;height:.75rem;background:url("data:image/png;base64,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") no-repeat center center}.dark-theme #dynamic-to-top{border:1px solid #4a4b50}.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}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.page{position:relative;width:100%;max-width:980px;margin:0 auto;padding-top:6rem}.single .single-title{margin:0;font-size:1.8rem;line-height:3rem}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark-theme .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark-theme .single .post-meta a{color:#eee}.single .post-meta a:hover{color:#ef3982}.dark-theme .single .post-meta a:hover{color:#2d96bd}.single .post-meta .author{font-size:1.05rem}.single .featured-image{padding-top:.6rem}.single .featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.single #toc-auto{display:block;position:absolute;width:100%;margin-left:1000px;padding:0 .8rem;border-left:1px solid #dcdcdc;overflow-wrap:break-word;box-sizing:border-box;top:12rem}.dark-theme .single #toc-auto{border-left:1px solid #4a4b50}.single #toc-auto .toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}.single #toc-auto .toc-content.always-active ul{display:block}.single #toc-auto .toc-content>nav>ul{margin:.625rem 0}.single #toc-auto .toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}.single #toc-auto .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark-theme .single #toc-auto .toc-content ul a::before{color:#eee}.single #toc-auto .toc-content ul ul{padding-left:1.25rem;display:none}.single #toc-auto .toc-content ul .has-active>ul{display:block}.single #toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark-theme .single #toc-auto .toc-content a.active{color:#eee}.single #toc-auto .toc-content a.active::before{color:#ef3982}.dark-theme .single #toc-auto .toc-content a.active::before{color:#2d96bd}.single #toc-static{display:none;padding-top:.8rem}.single #toc-static details summary .toc-title{display:block;display:flex;justify-content:space-between;font-weight:bold;line-height:2em;padding:0 .625rem;background:#f5f5f5}.single #toc-static details summary .toc-title i.details{line-height:2em}.dark-theme .single #toc-static details summary .toc-title{background:#272C34}.single #toc-static details summary::-webkit-details-marker{display:none}.single #toc-static details[open] i.details{transform:rotate(180deg)}.single #toc-static .toc-content{border:2px solid #f5f5f5}.single #toc-static .toc-content>nav>ul{margin:.625rem 0}.single #toc-static .toc-content ul{padding-left:.625rem;list-style:none}.single #toc-static .toc-content ul ul{padding-left:1.25rem}.dark-theme .single #toc-static .toc-content{border:2px solid #272C34}.single .toc .toc-title{font-size:1.2rem}.single .toc .toc-content{font-size:.9rem}.single .toc ruby{background:#f5f5f5}.single .toc ruby rt{color:#a9a9b3}.dark-theme .single .toc ruby{background:#272C34}.dark-theme .single .toc ruby rt{color:#5d5d5f}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark-theme .single .content h2,.dark-theme .single .content h3,.dark-theme .single .content h4,.dark-theme .single .content h5,.dark-theme .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}.dark-theme .single .content h2>.header-mark::before,.dark-theme .single .content h3>.header-mark::before,.dark-theme .single .content h4>.header-mark::before,.dark-theme .single .content h5>.header-mark::before,.dark-theme .single .content h6>.header-mark::before{color:#eee}.single .content h2>.header-mark::before{content:"#"}.single .content p{font-size:1rem;margin:.5rem 0}.single .content a{word-break:break-all;word-break:break-word;color:#2d96bd}.dark-theme .single .content a{color:#eee}.single .content a:hover{color:#ef3982}.dark-theme .single .content a:hover:hover{color:#2d96bd;font-weight:bold}.single .content ul{padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark-theme .single .content ruby{background:#272C34}.dark-theme .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark-theme .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}.dark-theme .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark-theme .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 double #dcdcdc}.dark-theme .single .content .table-wrapper>table th,.dark-theme .single .content .table-wrapper>table td{border:1px double #4a4b50}.single .content img{max-width:100%;min-height:1.2rem}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.625rem;margin:0 auto;border-bottom:1px solid #d9d9d9;font-size:.875rem;color:#969696;line-height:1.7}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em 0.5em 1.2em;margin:0 0 2em 0;position:relative}.single .content blockquote::before{content:'\201C';position:absolute;top:0em;left:50%;transform:translate(-50%, -50%);width:3rem;height:2rem;font:6em/1.08em 'PT Sans', sans-serif;color:#2d96bd;text-align:center}.dark-theme .single .content blockquote::before{color:#eee}.single .content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:0.875em;color:#2d96bd}.dark-theme .single .content blockquote::after{color:#eee}.dark-theme .single .content blockquote{border-color:#4a4b50}.single .content .footnotes{color:#a9a9b3}.dark-theme .single .content .footnotes{color:#5d5d5f}.single .content code{font-size:13px;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;padding:.2rem .4rem;color:#E74C3C}.dark-theme .single .content code{color:#E5BF78}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark-theme .single .content code,.dark-theme .single .content pre,.dark-theme .single .content .highlight table,.dark-theme .single .content .highlight tr,.dark-theme .single .content .highlight td{background:#272C34}.single .content .highlight>.chroma{margin:1rem 0}.single .content .highlight>.chroma code,.single .content .highlight>.chroma pre{margin:0;padding:0}.single .content .highlight>.chroma::before{display:block;padding:.4rem;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .single .content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.single .content .highlight>.chroma.language-bash::before{content:"Bash"}.single .content .highlight>.chroma.language-c::before{content:"C"}.single .content .highlight>.chroma.language-cs::before{content:"C#"}.single .content .highlight>.chroma.language-cpp::before{content:"C++"}.single .content .highlight>.chroma.language-clojure::before{content:"Clojure"}.single .content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.single .content .highlight>.chroma.language-css::before{content:"CSS"}.single .content .highlight>.chroma.language-dart::before{content:"Dart"}.single .content .highlight>.chroma.language-diff::before{content:"Diff"}.single .content .highlight>.chroma.language-erlang::before{content:"Erlang"}.single .content .highlight>.chroma.language-go::before{content:"Go"}.single .content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.single .content .highlight>.chroma.language-groovy::before{content:"Groovy"}.single .content .highlight>.chroma.language-haskell::before{content:"Haskell"}.single .content .highlight>.chroma.language-html::before{content:"HTML"}.single .content .highlight>.chroma.language-http::before{content:"HTTP"}.single .content .highlight>.chroma.language-xml::before{content:"XML"}.single .content .highlight>.chroma.language-java::before{content:"Java"}.single .content .highlight>.chroma.language-js::before{content:"JavaScript"}.single .content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.single .content .highlight>.chroma.language-json::before{content:"JSON"}.single .content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.single .content .highlight>.chroma.language-latex::before{content:"LaTeX"}.single .content .highlight>.chroma.language-less::before{content:"Less"}.single .content .highlight>.chroma.language-lisp::before{content:"Lisp"}.single .content .highlight>.chroma.language-lua::before{content:"Lua"}.single .content .highlight>.chroma.language-makefile::before{content:"Makefile"}.single .content .highlight>.chroma.language-markdown::before{content:"Markdown"}.single .content .highlight>.chroma.language-matlab::before{content:"Matlab"}.single .content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.single .content .highlight>.chroma.language-php::before{content:"PHP"}.single .content .highlight>.chroma.language-perl::before{content:"Perl"}.single .content .highlight>.chroma.language-python::before{content:"Python"}.single .content .highlight>.chroma.language-r::before{content:"R"}.single .content .highlight>.chroma.language-ruby::before{content:"Ruby"}.single .content .highlight>.chroma.language-rust::before{content:"Rust"}.single .content .highlight>.chroma.language-scala::before{content:"Scala"}.single .content .highlight>.chroma.language-scss::before{content:"Scss"}.single .content .highlight>.chroma.language-shell::before{content:"Shell"}.single .content .highlight>.chroma.language-sql::before{content:"SQL"}.single .content .highlight>.chroma.language-swift::before{content:"Swift"}.single .content .highlight>.chroma.language-tex::before{content:"TeX"}.single .content .highlight>.chroma.language-toml::before{content:"TOML"}.single .content .highlight>.chroma.language-ts::before{content:"TypeScript"}.single .content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.single .content .highlight>.chroma.language-vue::before{content:"Vue"}.single .content .highlight>.chroma.language-yml::before{content:"YAML"}.single .content .highlight>.chroma.language-yaml::before{content:"YAML"}.single .content .highlight>.chroma table,.single .content .highlight>.chroma tr,.single .content .highlight>.chroma td{margin:0;border:none !important}.single .content .highlight>.chroma td{padding:.2rem .4rem}.single .content .highlight>.chroma .lntd:first-child{width:1.2rem}.single .content .highlight>.chroma .lntd:first-child .lnt{color:#b1b0b0}.single .content .highlight>.chroma .lntd:first-child .hl{font-weight:bolder}.single .content .highlight>.chroma .lntd:last-child .hl{display:block;background-color:#e8e8e8}.dark-theme .single .content .highlight>.chroma .lntd:last-child .hl{background-color:#1c2025}.single .content .highlight{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;font-size:13px;line-height:18px}.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}.dark-theme .single .content .highlight .p{color:#a9a9b3}.dark-theme .single .content .highlight .k{color:#d371e3}.dark-theme .single .content .highlight .kc{color:#d371e3}.dark-theme .single .content .highlight .kd{color:#d371e3}.dark-theme .single .content .highlight .kn{color:#d371e3}.dark-theme .single .content .highlight .kp{color:#d371e3}.dark-theme .single .content .highlight .kr{color:#d371e3}.dark-theme .single .content .highlight .kt{color:#d371e3}.dark-theme .single .content .highlight .n{color:#a9b2c0}.dark-theme .single .content .highlight .na{color:#41b0f5}.dark-theme .single .content .highlight .nb{color:#19b9c4}.dark-theme .single .content .highlight .bp{color:#ecbf6f}.dark-theme .single .content .highlight .nc{color:#ecbf6f}.dark-theme .single .content .highlight .no{color:#41b0f5}.dark-theme .single .content .highlight .nd{color:#ecbf6f}.dark-theme .single .content .highlight .ni{color:#41b0f5}.dark-theme .single .content .highlight .ne{color:#41b0f5}.dark-theme .single .content .highlight .nf{color:#41b0f5}.dark-theme .single .content .highlight .fm{color:#19b9c4}.dark-theme .single .content .highlight .nl{color:#41b0f5}.dark-theme .single .content .highlight .nn{color:#41b0f5}.dark-theme .single .content .highlight .nx{color:#a9a9b3}.dark-theme .single .content .highlight .py{color:#41b0f5}.dark-theme .single .content .highlight .nt{color:#41b0f5}.dark-theme .single .content .highlight .nv{color:#41b0f5}.dark-theme .single .content .highlight .vc{color:#41b0f5}.dark-theme .single .content .highlight .vg{color:#41b0f5}.dark-theme .single .content .highlight .vi{color:#41b0f5}.dark-theme .single .content .highlight .vm{color:#41b0f5}.dark-theme .single .content .highlight .l{color:#2aa198}.dark-theme .single .content .highlight .ld{color:#2aa198}.dark-theme .single .content .highlight .s{color:#8cc570}.dark-theme .single .content .highlight .sa{color:#8cc570}.dark-theme .single .content .highlight .sb{color:#8cc570}.dark-theme .single .content .highlight .sc{color:#8cc570}.dark-theme .single .content .highlight .dl{color:#8cc570}.dark-theme .single .content .highlight .sd{color:#8cc570}.dark-theme .single .content .highlight .s2{color:#8cc570}.dark-theme .single .content .highlight .se{color:#8cc570}.dark-theme .single .content .highlight .sh{color:#8cc570}.dark-theme .single .content .highlight .si{color:#8cc570}.dark-theme .single .content .highlight .sx{color:#8cc570}.dark-theme .single .content .highlight .sr{color:#8cc570}.dark-theme .single .content .highlight .s1{color:#8cc570}.dark-theme .single .content .highlight .ss{color:#8cc570}.dark-theme .single .content .highlight .m{color:#db985c}.dark-theme .single .content .highlight .mb{color:#db985c}.dark-theme .single .content .highlight .mf{color:#db985c}.dark-theme .single .content .highlight .mh{color:#db985c}.dark-theme .single .content .highlight .mi{color:#db985c}.dark-theme .single .content .highlight .il{color:#db985c}.dark-theme .single .content .highlight .mo{color:#db985c}.dark-theme .single .content .highlight .o{color:#ecbf6f}.dark-theme .single .content .highlight .ow{color:#d371e3}.dark-theme .single .content .highlight .c{color:#7e848f}.dark-theme .single .content .highlight .ch{color:#7e848f}.dark-theme .single .content .highlight .cm{color:#7e848f}.dark-theme .single .content .highlight .c1{color:#7e848f}.dark-theme .single .content .highlight .cs{color:#7e848f}.dark-theme .single .content .highlight .cp{color:#7e848f}.dark-theme .single .content .highlight .cpf{color:#7e848f}.dark-theme .single .content .highlight .g{color:#f16372}.dark-theme .single .content .highlight .gd{color:#f16372}.dark-theme .single .content .highlight .ge{color:#f16372}.dark-theme .single .content .highlight .gr{color:#f16372}.dark-theme .single .content .highlight .gh{color:#f16372}.dark-theme .single .content .highlight .gi{color:#f16372}.dark-theme .single .content .highlight .go{color:#f16372}.dark-theme .single .content .highlight .gp{color:#f16372}.dark-theme .single .content .highlight .gs{color:#f16372}.dark-theme .single .content .highlight .gu{color:#f16372}.dark-theme .single .content .highlight .gt{color:#f16372}.dark-theme .single .content .highlight .w{color:#bbb}.single .content .admonition{position:relative;margin:.9765em 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{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:0.05rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{margin:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;cursor:auto;position:absolute;left:.6rem;top:.6rem}.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.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.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.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.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.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.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.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.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.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.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.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content details.admonition summary{display:block;outline:none;cursor:pointer}.single .content details.admonition summary::-webkit-details-marker{display:none}.single .content details.admonition summary i.details{position:absolute;top:.5rem;right:.5rem;color:#161209}.dark-theme .single .content details.admonition summary i.details{color:#a9a9b3}.single .content details.admonition[open] i.details{transform:rotate(180deg)}.single .content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.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 #dcdcdc;border-bottom:none}.dark-theme .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #dcdcdc;border-bottom-color:#dcdcdc;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #dcdcdc;box-shadow:inset 0 -1px 0 #dcdcdc;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;color:#E74C3C}.dark-theme .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;font-weight:bold;word-break:break-all}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 0.3rem}.dark-theme .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.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}.dark-theme .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{color:#2d96bd}.dark-theme .single .post-footer .post-info .post-info-line .post-info-mod a{color:#eee}.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark-theme .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#2d96bd}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark-theme .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{color:#2d96bd}.dark-theme .single .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.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-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;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title{text-align:right;padding-bottom:2rem}.archive .single-title{text-align:right;padding-bottom:2rem}.archive .archive-item{margin-left:2rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;padding:0 2.5rem;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}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item-link{display:inline-block;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95%}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark-theme .archive .archive-item-link{color:#a9a9b3;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{color:#2d96bd;transform:scale(1.1)}.dark-theme .archive .tag-cloud-tags a:active,.dark-theme .archive .tag-cloud-tags a:focus,.dark-theme .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a small{color:#a9a9b3}.dark-theme .archive .tag-cloud-tags a small{color:#fff}.home .home-profile{transform:translateY(0);padding:2rem 0;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{width:6rem;height:auto;display:inline-block;-webkit-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);margin:0 auto;-webkit-transition:all ease 0.4s;-moz-transition:all ease 0.4s;-o-transition:all ease 0.4s;transition:all ease 0.4s;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-description{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .home-social-links{padding-top:.6rem}.home .home-profile .home-social-links i{font-size:1.45rem}.home .home-profile .home-social-links img{width:1.5rem;height:1.5rem}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .single-title{font-size:1.6rem}.home .summary .content{display:-moz-box;display:-webkit-box;-moz-box-orient:vertical;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark-theme .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;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,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .home .summary .content h2::before,.dark-theme .home .summary .content h3::before,.dark-theme .home .summary .content h4::before,.dark-theme .home .summary .content h5::before,.dark-theme .home .summary .content h6::before{color:#eee}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem !important}.home .summary .post-footer a{color:#2d96bd !important}.dark-theme .home .summary .post-footer a{color:#eee !important}.home .summary .post-footer a:hover{color:#ef3982 !important}.dark-theme .home .summary .post-footer a:hover{color:#2d96bd !important}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209 !important}.dark-theme .home .summary .post-footer .post-tags a{color:#a9a9b3 !important}.home .summary .post-footer .post-tags a:hover{color:#2d96bd !important}.dark-theme .home .summary .post-footer .post-tags a:hover{color:#fff !important}#content-404{font-size:1.8rem;line-height:3rem;transform:translateY(30vh);text-align:center}header{width:100%;z-index:100;background-color:#f8f8f8}.dark-theme header{background-color:#252627}header .header-title{font-weight:bold}header .language-select{font-weight:400;border:none;box-shadow:none;background:transparent;background-image:none;-webkit-appearance:none;color:#161209}.dark-theme header .language-select{color:#a9a9b3}header .language-select:focus{outline:none}header .language-select:hover{cursor:pointer}header .theme-switch i{transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:4rem;line-height:4rem}#header-desktop .header-wrapper{width:auto;text-align:center;margin:0 4rem;display:flex;justify-content:space-between}#header-desktop .header-wrapper .header-title a{padding:0 8px;font-size:1.25rem}#header-desktop .header-wrapper .header-title a i{line-height:2rem}#header-desktop .header-wrapper .menu a{padding:0 8px}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark-theme #header-desktop .header-wrapper .menu a.active{color:#fff}#header-mobile{display:none;position:fixed;height:4rem;line-height:4rem}#header-mobile .header-wrapper{padding:0;margin:0;transition:all 0.3s ease 0s}#header-mobile .header-wrapper .header-container{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:1.125rem;padding-right:1rem;padding-left:1rem;box-sizing:border-box}#header-mobile .header-wrapper .header-container .header-title{font-size:1.25rem}#header-mobile .header-wrapper .header-container .menu-toggle{cursor:pointer;line-height:4rem}#header-mobile .header-wrapper .header-container .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:.1s margin .1s, .1s transform;-moz-transition:.1s margin .1s, .1s transform;transition:.1s margin .1s, .1s transform}.dark-theme #header-mobile .header-wrapper .header-container .menu-toggle span{background:#a9a9b3}#header-mobile .header-wrapper .header-container .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-wrapper .header-container .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-wrapper .header-container .menu-toggle.active span{-webkit-transition:.1s margin, .1s transform .1s;-moz-transition:.1s margin, .1s transform .1s;transition:.1s margin, .1s transform .1s}#header-mobile .header-wrapper .header-container .menu-toggle.active span:nth-child(1){-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-wrapper .header-container .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-wrapper .header-container .menu-toggle.active span:nth-child(3){-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-wrapper .menu{text-align:center;background:#fff;border-top:2px solid #161209;display:none;box-shadow:0px 2px 4px rgba(0,0,0,0.1),0px 4px 8px rgba(0,0,0,0.1)}#header-mobile .header-wrapper .menu a{display:block;line-height:2.5rem}#header-mobile .header-wrapper .menu.active{display:block}.dark-theme #header-mobile .header-wrapper .menu{background:#292a2d;border-top:2px solid #a9a9b3}.copyright{font-size:.875rem}.copyright .copyright-line{width:100%}.copyright .copyright-line .icp-br{display:none}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{-webkit-font-smoothing:antialiased;font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;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}.dark-theme .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;transition:0.3s;bottom:0px}.dark-theme .pagination li:before,.dark-theme .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}.dark-theme .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1800px){.page{max-width:780px}.page #toc-auto{margin-left:800px}}@media only screen and (max-width: 1440px){.page{max-width:680px}.page #toc-auto{margin-left:700px}}@media only screen and (max-width: 1200px){.page{max-width:560px}.page #toc-auto{margin-left:580px}}@media only screen and (max-width: 960px){#header-desktop .header-wrapper{margin:0 1rem}.page{max-width:80%}.page #toc-auto{display:none}.page #toc-static{display:block}}@media only screen and (max-width: 720px){#header-desktop{display:none}#header-mobile{display:block}.page{max-width:100%;padding-top:6rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
/*# sourceMappingURL=style.min.css.map */
\ No newline at end of file
......@@ -96,7 +96,7 @@
for (let num = 1; num <= 6; num++) {
this.util.forEach(document.querySelectorAll('.page.single .content > h' + num), (header) => {
header.classList.add('headerLink');
header.innerHTML = `<a href="#${header.id}"></a>${header.innerHTML}`;
header.innerHTML = `<a href="#${header.id}" class="header-mark"></a>${header.innerHTML}`;
});
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册