Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matsuyoshi30/harbor.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authormatsuyoshi <sfbgwm30@gmail.com>2021-03-28 08:42:17 +0300
committermatsuyoshi <sfbgwm30@gmail.com>2021-03-28 09:02:01 +0300
commited64db6649763cbb587baf790bcd55f3c72fcce9 (patch)
treef3b2e6a4e2d85655bdf2b1a6ccf2ef08747d5cde /static
parent31e29c2725b842a1fabd469a315469b7314d18a6 (diff)
split entry main and search
Diffstat (limited to 'static')
-rw-r--r--static/js/instantpage.min.js2
-rw-r--r--static/js/main.bundle.js1
-rw-r--r--static/js/search.bundle.js (renamed from static/js/bundle.js)4
-rw-r--r--static/js/search.bundle.js.LICENSE.txt (renamed from static/js/bundle.js.LICENSE.txt)0
-rw-r--r--static/src/main.js151
-rw-r--r--static/src/search.js151
6 files changed, 154 insertions, 155 deletions
diff --git a/static/js/instantpage.min.js b/static/js/instantpage.min.js
deleted file mode 100644
index 4a08db3..0000000
--- a/static/js/instantpage.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! instant.page v5.1.0 - (C) 2019-2020 Alexandre Dieulot - https://instant.page/license */
-let t,e;const n=new Set,o=document.createElement("link"),i=o.relList&&o.relList.supports&&o.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype,s="instantAllowQueryString"in document.body.dataset,a="instantAllowExternalLinks"in document.body.dataset,r="instantWhitelist"in document.body.dataset,c="instantMousedownShortcut"in document.body.dataset,d=1111;let l=65,u=!1,f=!1,m=!1;if("instantIntensity"in document.body.dataset){const t=document.body.dataset.instantIntensity;if("mousedown"==t.substr(0,"mousedown".length))u=!0,"mousedown-only"==t&&(f=!0);else if("viewport"==t.substr(0,"viewport".length))navigator.connection&&(navigator.connection.saveData||navigator.connection.effectiveType&&navigator.connection.effectiveType.includes("2g"))||("viewport"==t?document.documentElement.clientWidth*document.documentElement.clientHeight<45e4&&(m=!0):"viewport-all"==t&&(m=!0));else{const e=parseInt(t);isNaN(e)||(l=e)}}if(i){const n={capture:!0,passive:!0};if(f||document.addEventListener("touchstart",function(t){e=performance.now();const n=t.target.closest("a");if(!h(n))return;v(n.href)},n),u?c||document.addEventListener("mousedown",function(t){const e=t.target.closest("a");if(!h(e))return;v(e.href)},n):document.addEventListener("mouseover",function(n){if(performance.now()-e<d)return;const o=n.target.closest("a");if(!h(o))return;o.addEventListener("mouseout",p,{passive:!0}),t=setTimeout(()=>{v(o.href),t=void 0},l)},n),c&&document.addEventListener("mousedown",function(t){if(performance.now()-e<d)return;const n=t.target.closest("a");if(t.which>1||t.metaKey||t.ctrlKey)return;if(!n)return;n.addEventListener("click",function(t){1337!=t.detail&&t.preventDefault()},{capture:!0,passive:!1,once:!0});const o=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1,detail:1337});n.dispatchEvent(o)},n),m){let t;(t=window.requestIdleCallback?t=>{requestIdleCallback(t,{timeout:1500})}:t=>{t()})(()=>{const t=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){const n=e.target;t.unobserve(n),v(n.href)}})});document.querySelectorAll("a").forEach(e=>{h(e)&&t.observe(e)})})}}function p(e){e.relatedTarget&&e.target.closest("a")==e.relatedTarget.closest("a")||t&&(clearTimeout(t),t=void 0)}function h(t){if(t&&t.href&&(!r||"instant"in t.dataset)&&(a||t.origin==location.origin||"instant"in t.dataset)&&["http:","https:"].includes(t.protocol)&&("http:"!=t.protocol||"https:"!=location.protocol)&&(s||!t.search||"instant"in t.dataset)&&!(t.hash&&t.pathname+t.search==location.pathname+location.search||"noInstant"in t.dataset))return!0}function v(t){if(n.has(t))return;const e=document.createElement("link");e.rel="prefetch",e.href=t,document.head.appendChild(e),n.add(t)} \ No newline at end of file
diff --git a/static/js/main.bundle.js b/static/js/main.bundle.js
new file mode 100644
index 0000000..ef7b121
--- /dev/null
+++ b/static/js/main.bundle.js
@@ -0,0 +1 @@
+(()=>{var n={610:(n,o,e)=>{var t=e(645),r=e(667),a=e(735),i=e(287),c=e(916),l=e(797);o=t(!1);var s=r(a),d=r(i),f=r(c),m=r(l);o.push([n.id,"/* noto-sans-jp-regular - japanese_latin */\n@font-face {\n font-family: 'Noto Sans JP';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: local('Noto Sans Japanese Regular'), local('NotoSansJapanese-Regular'),\n url("+s+") format('woff2'), \n url("+d+") format('woff'); /* Modern Browsers */\n}\n\n/* roboto-regular - latin */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: local('Roboto'), local('Roboto-Regular'),\n url("+f+") format('woff2'), \n url("+m+") format('woff'); /* Modern Browsers */\n}\n\nhtml {\n background-color: #FFFFFF;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: 'Noto Sans JP', sans-serif;\n font-size: 16px;\n color: #42464c;\n background: 0 0;\n flex-flow: column;\n text-rendering: optimizeLegibility;\n}\n\na {\n outline: none;\n text-decoration: none;\n}\n\n.error-text {\n font-family: 'Roboto', Helvetica, sans-serif;\n text-align: center;\n}\n\n.header {\n margin: auto;\n position: relative;\n}\n\n.navbar {\n min-height: 50px;\n margin-bottom: 20px;\n}\n\n.nav {\n top: 0;\n position: relative;\n max-width: 800px;\n margin: 20px auto;\n padding: 0 10px;\n text-align: right;\n}\n\n.nav-logo {\n float: left;\n transition: transform 300ms ease-out;\n}\n\n.nav-logo:hover {\n transform: scale(1.1);\n}\n\n.nav-logo img {\n display: block;\n width: auto;\n}\n\n.nav-links {\n margin: 0;\n padding: 0;\n font-size: 14px;\n list-style: none;\n}\n\n.nav-links li {\n display: inline-block;\n margin: 0 0 0 10px;\n}\n\n.nav-links li a em {\n color: #000000;\n}\n\n.intro-header {\n margin: 40px 0 20px;\n position: relative;\n}\n\n.intro-header [class$=\"-heading\"] {\n text-align: center;\n}\n\n.intro-header [class$=\"-heading\"] h1 {\n margin-top: 0;\n padding-top: 0;\n font-size: 50px;\n}\n\nh1,h2,h3,h4,h5,h6 {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n color: #111111;\n}\n\n.container[role=main] {\n max-width: 700px;\n padding: 0 15px;\n font-size: 16px;\n line-height: 1.7;\n color: #333333;\n}\n\n.container img {\n width: 100%;\n}\n\n#blog-archives {\n margin: 20px auto;\n font-size: 14px;\n}\n\n.archives {\n margin: 20px auto;\n}\n\n.archives td {\n border: none;\n text-align: left;\n}\n\n.article {\n text-align: justify;\n}\n\n#TableOfContents {\n font-size: 14px;\n border: 2px dotted #cccccc;\n margin: 1em 0;\n padding: 0.5em 0;\n background-color: #f0f0f0;\n}\n\n#TableOfContents ul {\n list-style-type: none;\n}\n\n#TableOfContents ul ul {\n list-style-type: disc;\n}\n\np {\n line-height: 1.5;\n margin: 0.5em 0;\n}\n\np + p {\n margin-top: 1em;\n}\n\n.social-icon {\n margin-left: 0.2em;\n margin-right: 0.2em;\n}\n\n.post-preview {\n padding-bottom: 10px;\n border-bottom: 1px solid #eeeeee;\n}\n\n.post-preview a {\n text-decoration: none;\n color: #222222;\n}\n\n.post-preview:last-child {\n border-bottom: 0;\n}\n\n.postmeta {\n margin: 10px 0;\n}\n\n.blog-tags {\n font-family: 'Roboto', Helvetica, sans-serif;\n color: #999999;\n font-size: 15px;\n margin: 30px 0;\n}\n\n.blog-tags a {\n color: #0000BB;\n text-decoration: none;\n padding: 0px 5px;\n}\n\n.blog-tags a:before {\n content: \"#\";\n}\n\nh4.term-name > span.badge {\n float: right;\n}\n\ndiv.panel-body {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n border-radius: 0;\n border: none;\n font-size: 16px;\n}\n\n.post-entry {\n width: 100%;\n margin-top: 10px;\n}\n\n.post-read-more {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n float: right;\n position: relative;\n display: block;\n text-decoration: none;\n}\n\na.post-read-more::after {\n position: absolute;\n bottom: -4px;\n left: 0;\n content: '';\n width: 100%;\n height: 2px;\n background: #333;\n transform: scale(0, 1);\n transform-origin: center top;\n transition: transform .3s;\n}\n\na.post-read-more:hover::after {\n transform: scale(1, 1);\n}\n\nblockquote {\n color: #808080;\n padding: 0 10px;\n border-left: 4px solid #aaaaaa;\n}\n\nblockquote p:first-child {\n margin-top: 0;\n}\n\ntable {\n padding: 0;\n border-spacing: 0;\n}\n\ntable tr {\n border-top: 1px solid #dddddd;\n margin: 0;\n padding: 0;\n}\n\ntable tr th {\n font-weight: bold;\n border: 1px solid #dddddd;\n text-align: left;\n margin: 0;\n padding: 6px 13px;\n}\n\ntable tr td {\n border: 1px solid #dddddd;\n text-align: left;\n margin: 0;\n padding: 6px 12px;\n}\n\ntable tr th :first-child,\ntable tr td :first-child {\n margin-top: 0;\n}\n\ntable tr th :last-child,\ntable tr td :last-child {\n margin-bottom: 0;\n}\n\n.chroma .ln {\n margin-right: 0.8em;\n padding: 0 0.4em 0 0.4em;\n}\n\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\n\npre code {\n padding: 0;\n font-family: Menlo, Monaco, Consolas, monospace;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #dd0011;\n background-color: #f9f9f9;\n border-radius: 4px;\n}\n\n#backtotopButton {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 99;\n border: none;\n outline: none;\n background-color: #eeeeff;\n cursor: pointer;\n padding: 15px;\n border-radius: 10px;\n font-size: 16px;\n text-align: center;\n}\n\n#backtotopButton:hover {\n background-color: #aaaaaa;\n}\n\n.searchBoxContainer {\n position: relative;\n width: 300px;\n height: 30px;\n margin: 10px auto 50px auto;\n}\n\ninput.searchBox {\n position: absolute;\n width: 100%;\n padding: 0 35px 0 15px;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 15px;\n outline: 0;\n font-size: 16px;\n color: #707070;\n background-color:#f6f6f6;\n border: solid 1px #c9c9c9;\n box-sizing: border-box;\n}\n\n.searchBox::placeholder {\n color: #c9c9c9;\n}\n\n.searchResults {\n display: none;\n max-width: 600px;\n min-width: 300px;\n margin: 0 auto;\n top: 210px;\n left: 0;\n right: 0;\n padding: 5px;\n border-radius: 5px;\n text-align: left;\n}\n\n.searchResultPage {\n padding: 14px\n}\n\n.searchResultTitle {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: bold;\n font-size: 24px;\n margin: 5px 0;\n}\n\n.searchResultBody {\n font-size: 16px;\n}\n\nmark {\n background-color: #eeff00;\n}\n\n.pager {\n list-style: none;\n text-align: center;\n margin:20px 0 0;\n padding-left: 0;\n}\n\n.pager ul {\n display: block;\n}\n\n.pager li {\n display: inline;\n}\n\n.pager li a {\n box-sizing: border-box;\n font-family: 'Roboto', Helvetica, sans-serif;\n text-transform: uppercase;\n text-align: center;\n font-size: 14px;\n font-weight: 800;\n letter-spacing: 1px;\n padding: 10px 5px;\n background: #ffffff;\n border-radius: 0;\n border: 1px solid #dddddd;\n display: inline-block;\n color: #404040;\n text-decoration: none;\n}\n\n.pager a:hover:not(.active) {\n background-color: #dddddd;\n}\n\n.pager .previous > a {\n float: left;\n display: block;\n}\n\n.pager .next > a {\n float: right;\n display: block;\n}\n\nfooter {\n padding: 60px 0;\n text-align: center;\n margin-top: auto;\n font-size: 14px;\n font-family: 'Roboto', Helvetica, sans-serif;\n}\n\nfooter .copyright {\n font-family: 'Roboto', Helvetica, sans-serif;\n text-align: center;\n margin-bottom: 0;\n}\n\nfooter .theme-by {\n text-align: center;\n margin: 10px 0 0;\n}\n\nfooter a {\n color: #050505;\n font-weight: bold;\n}\n\nfooter em {\n cursor: pointer;\n}\n\n@media (min-width: 600px) {\n .header {\n margin: auto;\n }\n\n .nav-links {\n font-size: 18px;\n }\n\n .nav-links li {\n margin: 0 0 0 30px;\n }\n\n .container[role=main] {\n font-size: 16px;\n line-height: 1.8;\n margin: 40px auto;\n }\n\n .blog-tags {\n margin: 20px 0;\n }\n\n .pager li a {\n padding: 10px 20px;\n }\n\n .pager.blog-pager {\n margin-top: 40px;\n }\n}\n",""]),n.exports=o},641:(n,o,e)=>{(o=e(645)(!1)).push([n.id,"/* Background */ .chroma { background-color: #f8f8f8 }\n/* Other */ .chroma .x { color: #000000 }\n/* Error */ .chroma .err { color: #a40000 }\n/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }\n/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }\n/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc }\n/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }\n/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }\n/* Keyword */ .chroma .k { color: #204a87; font-weight: bold }\n/* KeywordConstant */ .chroma .kc { color: #204a87; font-weight: bold }\n/* KeywordDeclaration */ .chroma .kd { color: #204a87; font-weight: bold }\n/* KeywordNamespace */ .chroma .kn { color: #204a87; font-weight: bold }\n/* KeywordPseudo */ .chroma .kp { color: #204a87; font-weight: bold }\n/* KeywordReserved */ .chroma .kr { color: #204a87; font-weight: bold }\n/* KeywordType */ .chroma .kt { color: #204a87; font-weight: bold }\n/* Name */ .chroma .n { color: #000000 }\n/* NameAttribute */ .chroma .na { color: #c4a000 }\n/* NameBuiltin */ .chroma .nb { color: #204a87 }\n/* NameBuiltinPseudo */ .chroma .bp { color: #3465a4 }\n/* NameClass */ .chroma .nc { color: #000000 }\n/* NameConstant */ .chroma .no { color: #000000 }\n/* NameDecorator */ .chroma .nd { color: #5c35cc; font-weight: bold }\n/* NameEntity */ .chroma .ni { color: #ce5c00 }\n/* NameException */ .chroma .ne { color: #cc0000; font-weight: bold }\n/* NameFunction */ .chroma .nf { color: #000000 }\n/* NameFunctionMagic */ .chroma .fm { color: #000000 }\n/* NameLabel */ .chroma .nl { color: #f57900 }\n/* NameNamespace */ .chroma .nn { color: #000000 }\n/* NameOther */ .chroma .nx { color: #000000 }\n/* NameProperty */ .chroma .py { color: #000000 }\n/* NameTag */ .chroma .nt { color: #204a87; font-weight: bold }\n/* NameVariable */ .chroma .nv { color: #000000 }\n/* NameVariableClass */ .chroma .vc { color: #000000 }\n/* NameVariableGlobal */ .chroma .vg { color: #000000 }\n/* NameVariableInstance */ .chroma .vi { color: #000000 }\n/* NameVariableMagic */ .chroma .vm { color: #000000 }\n/* Literal */ .chroma .l { color: #000000 }\n/* LiteralDate */ .chroma .ld { color: #000000 }\n/* LiteralString */ .chroma .s { color: #4e9a06 }\n/* LiteralStringAffix */ .chroma .sa { color: #4e9a06 }\n/* LiteralStringBacktick */ .chroma .sb { color: #4e9a06 }\n/* LiteralStringChar */ .chroma .sc { color: #4e9a06 }\n/* LiteralStringDelimiter */ .chroma .dl { color: #4e9a06 }\n/* LiteralStringDoc */ .chroma .sd { color: #8f5902; font-style: italic }\n/* LiteralStringDouble */ .chroma .s2 { color: #4e9a06 }\n/* LiteralStringEscape */ .chroma .se { color: #4e9a06 }\n/* LiteralStringHeredoc */ .chroma .sh { color: #4e9a06 }\n/* LiteralStringInterpol */ .chroma .si { color: #4e9a06 }\n/* LiteralStringOther */ .chroma .sx { color: #4e9a06 }\n/* LiteralStringRegex */ .chroma .sr { color: #4e9a06 }\n/* LiteralStringSingle */ .chroma .s1 { color: #4e9a06 }\n/* LiteralStringSymbol */ .chroma .ss { color: #4e9a06 }\n/* LiteralNumber */ .chroma .m { color: #0000cf; font-weight: bold }\n/* LiteralNumberBin */ .chroma .mb { color: #0000cf; font-weight: bold }\n/* LiteralNumberFloat */ .chroma .mf { color: #0000cf; font-weight: bold }\n/* LiteralNumberHex */ .chroma .mh { color: #0000cf; font-weight: bold }\n/* LiteralNumberInteger */ .chroma .mi { color: #0000cf; font-weight: bold }\n/* LiteralNumberIntegerLong */ .chroma .il { color: #0000cf; font-weight: bold }\n/* LiteralNumberOct */ .chroma .mo { color: #0000cf; font-weight: bold }\n/* Operator */ .chroma .o { color: #ce5c00; font-weight: bold }\n/* OperatorWord */ .chroma .ow { color: #204a87; font-weight: bold }\n/* Punctuation */ .chroma .p { color: #000000; font-weight: bold }\n/* Comment */ .chroma .c { color: #8f5902; font-style: italic }\n/* CommentHashbang */ .chroma .ch { color: #8f5902; font-style: italic }\n/* CommentMultiline */ .chroma .cm { color: #8f5902; font-style: italic }\n/* CommentSingle */ .chroma .c1 { color: #8f5902; font-style: italic }\n/* CommentSpecial */ .chroma .cs { color: #8f5902; font-style: italic }\n/* CommentPreproc */ .chroma .cp { color: #8f5902; font-style: italic }\n/* CommentPreprocFile */ .chroma .cpf { color: #8f5902; font-style: italic }\n/* Generic */ .chroma .g { color: #000000 }\n/* GenericDeleted */ .chroma .gd { color: #a40000 }\n/* GenericEmph */ .chroma .ge { color: #000000; font-style: italic }\n/* GenericError */ .chroma .gr { color: #ef2929 }\n/* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold }\n/* GenericInserted */ .chroma .gi { color: #00a000 }\n/* GenericOutput */ .chroma .go { color: #000000; font-style: italic }\n/* GenericPrompt */ .chroma .gp { color: #8f5902 }\n/* GenericStrong */ .chroma .gs { color: #000000; font-weight: bold }\n/* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold }\n/* GenericTraceback */ .chroma .gt { color: #a40000; font-weight: bold }\n/* GenericUnderline */ .chroma .gl { color: #000000; text-decoration: underline }\n/* TextWhitespace */ .chroma .w { color: #f8f8f8; text-decoration: underline }\n",""]),n.exports=o},645:n=>{"use strict";n.exports=function(n){var o=[];return o.toString=function(){return this.map((function(o){var e=function(n,o){var e,t,r,a=n[1]||"",i=n[3];if(!i)return a;if(o&&"function"==typeof btoa){var c=(e=i,t=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(t),"/*# ".concat(r," */")),l=i.sources.map((function(n){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(n," */")}));return[a].concat(l).concat([c]).join("\n")}return[a].join("\n")}(o,n);return o[2]?"@media ".concat(o[2]," {").concat(e,"}"):e})).join("")},o.i=function(n,e,t){"string"==typeof n&&(n=[[null,n,""]]);var r={};if(t)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(r[i]=!0)}for(var c=0;c<n.length;c++){var l=[].concat(n[c]);t&&r[l[0]]||(e&&(l[2]?l[2]="".concat(e," and ").concat(l[2]):l[2]=e),o.push(l))}},o}},667:n=>{"use strict";n.exports=function(n,o){return o||(o={}),"string"!=typeof(n=n&&n.__esModule?n.default:n)?n:(/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),o.hash&&(n+=o.hash),/["'() \t\n]/.test(n)||o.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n)}},554:(n,o,e)=>{var t=e(379),r=e(610);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[n.id,r,""]]);var a=(t(r,{insert:"head",singleton:!1}),r.locals?r.locals:{});n.exports=a},358:(n,o,e)=>{var t=e(379),r=e(641);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[n.id,r,""]]);var a=(t(r,{insert:"head",singleton:!1}),r.locals?r.locals:{});n.exports=a},379:(n,o,e)=>{"use strict";var t,r=function(){var n={};return function(o){if(void 0===n[o]){var e=document.querySelector(o);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}n[o]=e}return n[o]}}(),a=[];function i(n){for(var o=-1,e=0;e<a.length;e++)if(a[e].identifier===n){o=e;break}return o}function c(n,o){for(var e={},t=[],r=0;r<n.length;r++){var c=n[r],l=o.base?c[0]+o.base:c[0],s=e[l]||0,d="".concat(l," ").concat(s);e[l]=s+1;var f=i(d),m={css:c[1],media:c[2],sourceMap:c[3]};-1!==f?(a[f].references++,a[f].updater(m)):a.push({identifier:d,updater:h(m,o),references:1}),t.push(d)}return t}function l(n){var o=document.createElement("style"),t=n.attributes||{};if(void 0===t.nonce){var a=e.nc;a&&(t.nonce=a)}if(Object.keys(t).forEach((function(n){o.setAttribute(n,t[n])})),"function"==typeof n.insert)n.insert(o);else{var i=r(n.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(o)}return o}var s,d=(s=[],function(n,o){return s[n]=o,s.filter(Boolean).join("\n")});function f(n,o,e,t){var r=e?"":t.media?"@media ".concat(t.media," {").concat(t.css,"}"):t.css;if(n.styleSheet)n.styleSheet.cssText=d(o,r);else{var a=document.createTextNode(r),i=n.childNodes;i[o]&&n.removeChild(i[o]),i.length?n.insertBefore(a,i[o]):n.appendChild(a)}}function m(n,o,e){var t=e.css,r=e.media,a=e.sourceMap;if(r?n.setAttribute("media",r):n.removeAttribute("media"),a&&btoa&&(t+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),n.styleSheet)n.styleSheet.cssText=t;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(t))}}var p=null,g=0;function h(n,o){var e,t,r;if(o.singleton){var a=g++;e=p||(p=l(o)),t=f.bind(null,e,a,!1),r=f.bind(null,e,a,!0)}else e=l(o),t=m.bind(null,e,o),r=function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)};return t(n),function(o){if(o){if(o.css===n.css&&o.media===n.media&&o.sourceMap===n.sourceMap)return;t(n=o)}else r()}}n.exports=function(n,o){(o=o||{}).singleton||"boolean"==typeof o.singleton||(o.singleton=(void 0===t&&(t=Boolean(window&&document&&document.all&&!window.atob)),t));var e=c(n=n||[],o);return function(n){if(n=n||[],"[object Array]"===Object.prototype.toString.call(n)){for(var t=0;t<e.length;t++){var r=i(e[t]);a[r].references--}for(var l=c(n,o),s=0;s<e.length;s++){var d=i(e[s]);0===a[d].references&&(a[d].updater(),a.splice(d,1))}e=l}}}},287:(n,o,e)=>{"use strict";n.exports=e.p+"c30fe87109cc5b98d68d.woff"},735:(n,o,e)=>{"use strict";n.exports=e.p+"ed26d8af112c3b587aed.woff2"},797:(n,o,e)=>{"use strict";n.exports=e.p+"49ae34d4cc6b98c00c69.woff"},916:(n,o,e)=>{"use strict";n.exports=e.p+"176f8f5bd5f02b3abfcf.woff2"}},o={};function e(t){var r=o[t];if(void 0!==r)return r.exports;var a=o[t]={id:t,exports:{}};return n[t](a,a.exports,e),a.exports}e.n=n=>{var o=n&&n.__esModule?()=>n.default:()=>n;return e.d(o,{a:o}),o},e.d=(n,o)=>{for(var t in o)e.o(o,t)&&!e.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:o[t]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),e.o=(n,o)=>Object.prototype.hasOwnProperty.call(n,o),(()=>{var n;e.g.importScripts&&(n=e.g.location+"");var o=e.g.document;if(!n&&o&&(o.currentScript&&(n=o.currentScript.src),!n)){var t=o.getElementsByTagName("script");t.length&&(n=t[t.length-1].src)}if(!n)throw new Error("Automatic publicPath is not supported in this browser");n=n.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=n})(),(()=>{"use strict";e(554),e(358)})(),window.onload=function(){var n=document.getElementById("dark-mode-toggle"),o=document.getElementById("dark-mode-theme");function e(e){localStorage.setItem("dark-mode-storage",e),"dark"===e?(o.disabled=!1,n.className="fas fa-sun"):"light"===e&&(o.disabled=!0,n.className="fas fa-moon")}window.matchMedia("(prefers-color-scheme: dark)").matches?e(localStorage.getItem("dark-mode-storage")||"dark"):e(localStorage.getItem("dark-mode-storage")||"light"),n.addEventListener("click",(()=>{"fas fa-moon"===n.className?e("dark"):"fas fa-sun"===n.className&&e("light")}))}})(); \ No newline at end of file
diff --git a/static/js/bundle.js b/static/js/search.bundle.js
index 5c4996a..5d17b7e 100644
--- a/static/js/bundle.js
+++ b/static/js/search.bundle.js
@@ -1,2 +1,2 @@
-/*! For license information please see bundle.js.LICENSE.txt */
-(()=>{var e={610:(e,t,n)=>{var r=n(645),i=n(667),o=n(735),a=n(287),s=n(916),c=n(797);t=r(!1);var l=i(o),u=i(a),d=i(s),h=i(c);t.push([e.id,"/* noto-sans-jp-regular - japanese_latin */\n@font-face {\n font-family: 'Noto Sans JP';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: local('Noto Sans Japanese Regular'), local('NotoSansJapanese-Regular'),\n url("+l+") format('woff2'), \n url("+u+") format('woff'); /* Modern Browsers */\n}\n\n/* roboto-regular - latin */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: local('Roboto'), local('Roboto-Regular'),\n url("+d+") format('woff2'), \n url("+h+") format('woff'); /* Modern Browsers */\n}\n\nhtml {\n background-color: #FFFFFF;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: 'Noto Sans JP', sans-serif;\n font-size: 16px;\n color: #42464c;\n background: 0 0;\n flex-flow: column;\n text-rendering: optimizeLegibility;\n}\n\na {\n outline: none;\n text-decoration: none;\n}\n\n.error-text {\n font-family: 'Roboto', Helvetica, sans-serif;\n text-align: center;\n}\n\n.header {\n margin: auto;\n position: relative;\n}\n\n.navbar {\n min-height: 50px;\n margin-bottom: 20px;\n}\n\n.nav {\n top: 0;\n position: relative;\n max-width: 800px;\n margin: 20px auto;\n padding: 0 10px;\n text-align: right;\n}\n\n.nav-logo {\n float: left;\n transition: transform 300ms ease-out;\n}\n\n.nav-logo:hover {\n transform: scale(1.1);\n}\n\n.nav-logo img {\n display: block;\n width: auto;\n}\n\n.nav-links {\n margin: 0;\n padding: 0;\n font-size: 14px;\n list-style: none;\n}\n\n.nav-links li {\n display: inline-block;\n margin: 0 0 0 10px;\n}\n\n.nav-links li a em {\n color: #000000;\n}\n\n.intro-header {\n margin: 40px 0 20px;\n position: relative;\n}\n\n.intro-header [class$=\"-heading\"] {\n text-align: center;\n}\n\n.intro-header [class$=\"-heading\"] h1 {\n margin-top: 0;\n padding-top: 0;\n font-size: 50px;\n}\n\nh1,h2,h3,h4,h5,h6 {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n color: #111111;\n}\n\n.container[role=main] {\n max-width: 700px;\n padding: 0 15px;\n font-size: 16px;\n line-height: 1.7;\n color: #333333;\n}\n\n.container img {\n width: 100%;\n}\n\n#blog-archives {\n margin: 20px auto;\n font-size: 14px;\n}\n\n.archives {\n margin: 20px auto;\n}\n\n.archives td {\n border: none;\n text-align: left;\n}\n\n.article {\n text-align: justify;\n}\n\n#TableOfContents {\n font-size: 14px;\n border: 2px dotted #cccccc;\n margin: 1em 0;\n padding: 0.5em 0;\n background-color: #f0f0f0;\n}\n\n#TableOfContents ul {\n list-style-type: none;\n}\n\n#TableOfContents ul ul {\n list-style-type: disc;\n}\n\np {\n line-height: 1.5;\n margin: 0.5em 0;\n}\n\np + p {\n margin-top: 1em;\n}\n\n.social-icon {\n margin-left: 0.2em;\n margin-right: 0.2em;\n}\n\n.post-preview {\n padding-bottom: 10px;\n border-bottom: 1px solid #eeeeee;\n}\n\n.post-preview a {\n text-decoration: none;\n color: #222222;\n}\n\n.post-preview:last-child {\n border-bottom: 0;\n}\n\n.postmeta {\n margin: 10px 0;\n}\n\n.blog-tags {\n font-family: 'Roboto', Helvetica, sans-serif;\n color: #999999;\n font-size: 15px;\n margin: 30px 0;\n}\n\n.blog-tags a {\n color: #0000BB;\n text-decoration: none;\n padding: 0px 5px;\n}\n\n.blog-tags a:before {\n content: \"#\";\n}\n\nh4.term-name > span.badge {\n float: right;\n}\n\ndiv.panel-body {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n border-radius: 0;\n border: none;\n font-size: 16px;\n}\n\n.post-entry {\n width: 100%;\n margin-top: 10px;\n}\n\n.post-read-more {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n float: right;\n position: relative;\n display: block;\n text-decoration: none;\n}\n\na.post-read-more::after {\n position: absolute;\n bottom: -4px;\n left: 0;\n content: '';\n width: 100%;\n height: 2px;\n background: #333;\n transform: scale(0, 1);\n transform-origin: center top;\n transition: transform .3s;\n}\n\na.post-read-more:hover::after {\n transform: scale(1, 1);\n}\n\nblockquote {\n color: #808080;\n padding: 0 10px;\n border-left: 4px solid #aaaaaa;\n}\n\nblockquote p:first-child {\n margin-top: 0;\n}\n\ntable {\n padding: 0;\n border-spacing: 0;\n}\n\ntable tr {\n border-top: 1px solid #dddddd;\n margin: 0;\n padding: 0;\n}\n\ntable tr th {\n font-weight: bold;\n border: 1px solid #dddddd;\n text-align: left;\n margin: 0;\n padding: 6px 13px;\n}\n\ntable tr td {\n border: 1px solid #dddddd;\n text-align: left;\n margin: 0;\n padding: 6px 12px;\n}\n\ntable tr th :first-child,\ntable tr td :first-child {\n margin-top: 0;\n}\n\ntable tr th :last-child,\ntable tr td :last-child {\n margin-bottom: 0;\n}\n\n.chroma .ln {\n margin-right: 0.8em;\n padding: 0 0.4em 0 0.4em;\n}\n\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\n\npre code {\n padding: 0;\n font-family: Menlo, Monaco, Consolas, monospace;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #dd0011;\n background-color: #f9f9f9;\n border-radius: 4px;\n}\n\n#backtotopButton {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 99;\n border: none;\n outline: none;\n background-color: #eeeeff;\n cursor: pointer;\n padding: 15px;\n border-radius: 10px;\n font-size: 16px;\n text-align: center;\n}\n\n#backtotopButton:hover {\n background-color: #aaaaaa;\n}\n\n.searchBoxContainer {\n position: relative;\n width: 300px;\n height: 30px;\n margin: 10px auto 50px auto;\n}\n\ninput.searchBox {\n position: absolute;\n width: 100%;\n padding: 0 35px 0 15px;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 15px;\n outline: 0;\n font-size: 16px;\n color: #707070;\n background-color:#f6f6f6;\n border: solid 1px #c9c9c9;\n box-sizing: border-box;\n}\n\n.searchBox::placeholder {\n color: #c9c9c9;\n}\n\n.searchResults {\n display: none;\n max-width: 600px;\n min-width: 300px;\n margin: 0 auto;\n top: 210px;\n left: 0;\n right: 0;\n padding: 5px;\n border-radius: 5px;\n text-align: left;\n}\n\n.searchResultPage {\n padding: 14px\n}\n\n.searchResultTitle {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: bold;\n font-size: 24px;\n margin: 5px 0;\n}\n\n.searchResultBody {\n font-size: 16px;\n}\n\nmark {\n background-color: #eeff00;\n}\n\n.pager {\n list-style: none;\n text-align: center;\n margin:20px 0 0;\n padding-left: 0;\n}\n\n.pager ul {\n display: block;\n}\n\n.pager li {\n display: inline;\n}\n\n.pager li a {\n box-sizing: border-box;\n font-family: 'Roboto', Helvetica, sans-serif;\n text-transform: uppercase;\n text-align: center;\n font-size: 14px;\n font-weight: 800;\n letter-spacing: 1px;\n padding: 10px 5px;\n background: #ffffff;\n border-radius: 0;\n border: 1px solid #dddddd;\n display: inline-block;\n color: #404040;\n text-decoration: none;\n}\n\n.pager a:hover:not(.active) {\n background-color: #dddddd;\n}\n\n.pager .previous > a {\n float: left;\n display: block;\n}\n\n.pager .next > a {\n float: right;\n display: block;\n}\n\nfooter {\n padding: 60px 0;\n text-align: center;\n margin-top: auto;\n font-size: 14px;\n font-family: 'Roboto', Helvetica, sans-serif;\n}\n\nfooter .copyright {\n font-family: 'Roboto', Helvetica, sans-serif;\n text-align: center;\n margin-bottom: 0;\n}\n\nfooter .theme-by {\n text-align: center;\n margin: 10px 0 0;\n}\n\nfooter a {\n color: #050505;\n font-weight: bold;\n}\n\nfooter em {\n cursor: pointer;\n}\n\n@media (min-width: 600px) {\n .header {\n margin: auto;\n }\n\n .nav-links {\n font-size: 18px;\n }\n\n .nav-links li {\n margin: 0 0 0 30px;\n }\n\n .container[role=main] {\n font-size: 16px;\n line-height: 1.8;\n margin: 40px auto;\n }\n\n .blog-tags {\n margin: 20px 0;\n }\n\n .pager li a {\n padding: 10px 20px;\n }\n\n .pager.blog-pager {\n margin-top: 40px;\n }\n}\n",""]),e.exports=t},641:(e,t,n)=>{(t=n(645)(!1)).push([e.id,"/* Background */ .chroma { background-color: #f8f8f8 }\n/* Other */ .chroma .x { color: #000000 }\n/* Error */ .chroma .err { color: #a40000 }\n/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }\n/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }\n/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc }\n/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }\n/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }\n/* Keyword */ .chroma .k { color: #204a87; font-weight: bold }\n/* KeywordConstant */ .chroma .kc { color: #204a87; font-weight: bold }\n/* KeywordDeclaration */ .chroma .kd { color: #204a87; font-weight: bold }\n/* KeywordNamespace */ .chroma .kn { color: #204a87; font-weight: bold }\n/* KeywordPseudo */ .chroma .kp { color: #204a87; font-weight: bold }\n/* KeywordReserved */ .chroma .kr { color: #204a87; font-weight: bold }\n/* KeywordType */ .chroma .kt { color: #204a87; font-weight: bold }\n/* Name */ .chroma .n { color: #000000 }\n/* NameAttribute */ .chroma .na { color: #c4a000 }\n/* NameBuiltin */ .chroma .nb { color: #204a87 }\n/* NameBuiltinPseudo */ .chroma .bp { color: #3465a4 }\n/* NameClass */ .chroma .nc { color: #000000 }\n/* NameConstant */ .chroma .no { color: #000000 }\n/* NameDecorator */ .chroma .nd { color: #5c35cc; font-weight: bold }\n/* NameEntity */ .chroma .ni { color: #ce5c00 }\n/* NameException */ .chroma .ne { color: #cc0000; font-weight: bold }\n/* NameFunction */ .chroma .nf { color: #000000 }\n/* NameFunctionMagic */ .chroma .fm { color: #000000 }\n/* NameLabel */ .chroma .nl { color: #f57900 }\n/* NameNamespace */ .chroma .nn { color: #000000 }\n/* NameOther */ .chroma .nx { color: #000000 }\n/* NameProperty */ .chroma .py { color: #000000 }\n/* NameTag */ .chroma .nt { color: #204a87; font-weight: bold }\n/* NameVariable */ .chroma .nv { color: #000000 }\n/* NameVariableClass */ .chroma .vc { color: #000000 }\n/* NameVariableGlobal */ .chroma .vg { color: #000000 }\n/* NameVariableInstance */ .chroma .vi { color: #000000 }\n/* NameVariableMagic */ .chroma .vm { color: #000000 }\n/* Literal */ .chroma .l { color: #000000 }\n/* LiteralDate */ .chroma .ld { color: #000000 }\n/* LiteralString */ .chroma .s { color: #4e9a06 }\n/* LiteralStringAffix */ .chroma .sa { color: #4e9a06 }\n/* LiteralStringBacktick */ .chroma .sb { color: #4e9a06 }\n/* LiteralStringChar */ .chroma .sc { color: #4e9a06 }\n/* LiteralStringDelimiter */ .chroma .dl { color: #4e9a06 }\n/* LiteralStringDoc */ .chroma .sd { color: #8f5902; font-style: italic }\n/* LiteralStringDouble */ .chroma .s2 { color: #4e9a06 }\n/* LiteralStringEscape */ .chroma .se { color: #4e9a06 }\n/* LiteralStringHeredoc */ .chroma .sh { color: #4e9a06 }\n/* LiteralStringInterpol */ .chroma .si { color: #4e9a06 }\n/* LiteralStringOther */ .chroma .sx { color: #4e9a06 }\n/* LiteralStringRegex */ .chroma .sr { color: #4e9a06 }\n/* LiteralStringSingle */ .chroma .s1 { color: #4e9a06 }\n/* LiteralStringSymbol */ .chroma .ss { color: #4e9a06 }\n/* LiteralNumber */ .chroma .m { color: #0000cf; font-weight: bold }\n/* LiteralNumberBin */ .chroma .mb { color: #0000cf; font-weight: bold }\n/* LiteralNumberFloat */ .chroma .mf { color: #0000cf; font-weight: bold }\n/* LiteralNumberHex */ .chroma .mh { color: #0000cf; font-weight: bold }\n/* LiteralNumberInteger */ .chroma .mi { color: #0000cf; font-weight: bold }\n/* LiteralNumberIntegerLong */ .chroma .il { color: #0000cf; font-weight: bold }\n/* LiteralNumberOct */ .chroma .mo { color: #0000cf; font-weight: bold }\n/* Operator */ .chroma .o { color: #ce5c00; font-weight: bold }\n/* OperatorWord */ .chroma .ow { color: #204a87; font-weight: bold }\n/* Punctuation */ .chroma .p { color: #000000; font-weight: bold }\n/* Comment */ .chroma .c { color: #8f5902; font-style: italic }\n/* CommentHashbang */ .chroma .ch { color: #8f5902; font-style: italic }\n/* CommentMultiline */ .chroma .cm { color: #8f5902; font-style: italic }\n/* CommentSingle */ .chroma .c1 { color: #8f5902; font-style: italic }\n/* CommentSpecial */ .chroma .cs { color: #8f5902; font-style: italic }\n/* CommentPreproc */ .chroma .cp { color: #8f5902; font-style: italic }\n/* CommentPreprocFile */ .chroma .cpf { color: #8f5902; font-style: italic }\n/* Generic */ .chroma .g { color: #000000 }\n/* GenericDeleted */ .chroma .gd { color: #a40000 }\n/* GenericEmph */ .chroma .ge { color: #000000; font-style: italic }\n/* GenericError */ .chroma .gr { color: #ef2929 }\n/* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold }\n/* GenericInserted */ .chroma .gi { color: #00a000 }\n/* GenericOutput */ .chroma .go { color: #000000; font-style: italic }\n/* GenericPrompt */ .chroma .gp { color: #8f5902 }\n/* GenericStrong */ .chroma .gs { color: #000000; font-weight: bold }\n/* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold }\n/* GenericTraceback */ .chroma .gt { color: #a40000; font-weight: bold }\n/* GenericUnderline */ .chroma .gl { color: #000000; text-decoration: underline }\n/* TextWhitespace */ .chroma .w { color: #f8f8f8; text-decoration: underline }\n",""]),e.exports=t},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r,i,o=e[1]||"",a=e[3];if(!a)return o;if(t&&"function"==typeof btoa){var s=(n=a,r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),"/*# ".concat(i," */")),c=a.sources.map((function(e){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(e," */")}));return[o].concat(c).concat([s]).join("\n")}return[o].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(r)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var s=0;s<e.length;s++){var c=[].concat(e[s]);r&&i[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},667:e=>{"use strict";e.exports=function(e,t){return t||(t={}),"string"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},336:(e,t,n)=>{var r,i;!function(){var o,a,s,c,l,u,d,h,f,p,m,g,y,v,x,b,w,k,S,E,N,T,R,L,I,O,Q=function(e){var t=new Q.Builder;return t.pipeline.add(Q.trimmer,Q.stopWordFilter,Q.stemmer),t.searchPipeline.add(Q.stemmer),e.call(t,t),t.build()};Q.version="2.3.8",Q.utils={},Q.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),Q.utils.asString=function(e){return null==e?"":e.toString()},Q.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],o=e[i];if(Array.isArray(o))t[i]=o.slice();else{if("string"!=typeof o&&"number"!=typeof o&&"boolean"!=typeof o)throw new TypeError("clone is not deep and does not support nested objects");t[i]=o}}return t},Q.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},Q.FieldRef.joiner="/",Q.FieldRef.fromString=function(e){var t=e.indexOf(Q.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),r=e.slice(t+1);return new Q.FieldRef(r,n,e)},Q.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+Q.FieldRef.joiner+this.docRef),this._stringValue},Q.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},Q.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},Q.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},Q.Set.prototype.contains=function(e){return!!this.elements[e]},Q.Set.prototype.intersect=function(e){var t,n,r,i=[];if(e===Q.Set.complete)return this;if(e===Q.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),r=Object.keys(t.elements);for(var o=0;o<r.length;o++){var a=r[o];a in n.elements&&i.push(a)}return new Q.Set(i)},Q.Set.prototype.union=function(e){return e===Q.Set.complete?Q.Set.complete:e===Q.Set.empty?this:new Q.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},Q.idf=function(e,t){var n=0;for(var r in e)"_index"!=r&&(n+=Object.keys(e[r]).length);var i=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(i))},Q.Token=function(e,t){this.str=e||"",this.metadata=t||{}},Q.Token.prototype.toString=function(){return this.str},Q.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},Q.Token.prototype.clone=function(e){return e=e||function(e){return e},new Q.Token(e(this.str,this.metadata),this.metadata)},Q.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new Q.Token(Q.utils.asString(e).toLowerCase(),Q.utils.clone(t))}));for(var n=e.toString().toLowerCase(),r=n.length,i=[],o=0,a=0;o<=r;o++){var s=o-a;if(n.charAt(o).match(Q.tokenizer.separator)||o==r){if(s>0){var c=Q.utils.clone(t)||{};c.position=[a,s],c.index=i.length,i.push(new Q.Token(n.slice(a,o),c))}a=o+1}}return i},Q.tokenizer.separator=/[\s\-]+/,Q.Pipeline=function(){this._stack=[]},Q.Pipeline.registeredFunctions=Object.create(null),Q.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&Q.utils.warn("Overwriting existing registered function: "+t),e.label=t,Q.Pipeline.registeredFunctions[e.label]=e},Q.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||Q.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},Q.Pipeline.load=function(e){var t=new Q.Pipeline;return e.forEach((function(e){var n=Q.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},Q.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){Q.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},Q.Pipeline.prototype.after=function(e,t){Q.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},Q.Pipeline.prototype.before=function(e,t){Q.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},Q.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},Q.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var r=this._stack[n],i=[],o=0;o<e.length;o++){var a=r(e[o],o,e);if(null!=a&&""!==a)if(Array.isArray(a))for(var s=0;s<a.length;s++)i.push(a[s]);else i.push(a)}e=i}return e},Q.Pipeline.prototype.runString=function(e,t){var n=new Q.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},Q.Pipeline.prototype.reset=function(){this._stack=[]},Q.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return Q.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},Q.Vector=function(e){this._magnitude=0,this.elements=e||[]},Q.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,r=n-t,i=Math.floor(r/2),o=this.elements[2*i];r>1&&(o<e&&(t=i),o>e&&(n=i),o!=e);)r=n-t,i=t+Math.floor(r/2),o=this.elements[2*i];return o==e||o>e?2*i:o<e?2*(i+1):void 0},Q.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},Q.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var r=this.positionForIndex(e);this.elements[r]==e?this.elements[r+1]=n(this.elements[r+1],t):this.elements.splice(r,0,e,t)},Q.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var r=this.elements[n];e+=r*r}return this._magnitude=Math.sqrt(e)},Q.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,r=e.elements,i=n.length,o=r.length,a=0,s=0,c=0,l=0;c<i&&l<o;)(a=n[c])<(s=r[l])?c+=2:a>s?l+=2:a==s&&(t+=n[c+1]*r[l+1],c+=2,l+=2);return t},Q.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},Q.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},Q.Vector.prototype.toJSON=function(){return this.elements},Q.stemmer=(a={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},s={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},c="[aeiouy]",l="[^aeiou][^aeiouy]*",u=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,v=/.$/,x=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),w=new RegExp("^"+l+c+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,N=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,T=/^(.+?)(s|t)(ion)$/,R=/^(.+?)e$/,L=/ll$/,I=new RegExp("^"+l+c+"[^aeiouwxy]$"),O=function(e){var t,n,r,i,o,c,l;if(e.length<3)return e;if("y"==(r=e.substr(0,1))&&(e=r.toUpperCase()+e.substr(1)),o=m,(i=p).test(e)?e=e.replace(i,"$1$2"):o.test(e)&&(e=e.replace(o,"$1$2")),o=y,(i=g).test(e)){var O=i.exec(e);(i=u).test(O[1])&&(i=v,e=e.replace(i,""))}else o.test(e)&&(t=(O=o.exec(e))[1],(o=f).test(t)&&(c=b,l=w,(o=x).test(e=t)?e+="e":c.test(e)?(i=v,e=e.replace(i,"")):l.test(e)&&(e+="e")));return(i=k).test(e)&&(e=(t=(O=i.exec(e))[1])+"i"),(i=S).test(e)&&(t=(O=i.exec(e))[1],n=O[2],(i=u).test(t)&&(e=t+a[n])),(i=E).test(e)&&(t=(O=i.exec(e))[1],n=O[2],(i=u).test(t)&&(e=t+s[n])),o=T,(i=N).test(e)?(t=(O=i.exec(e))[1],(i=d).test(t)&&(e=t)):o.test(e)&&(t=(O=o.exec(e))[1]+O[2],(o=d).test(t)&&(e=t)),(i=R).test(e)&&(t=(O=i.exec(e))[1],o=h,c=I,((i=d).test(t)||o.test(t)&&!c.test(t))&&(e=t)),o=d,(i=L).test(e)&&o.test(e)&&(i=v,e=e.replace(i,"")),"y"==r&&(e=r.toLowerCase()+e.substr(1)),e},function(e){return e.update(O)}),Q.Pipeline.registerFunction(Q.stemmer,"stemmer"),Q.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},Q.stopWordFilter=Q.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),Q.Pipeline.registerFunction(Q.stopWordFilter,"stopWordFilter"),Q.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},Q.Pipeline.registerFunction(Q.trimmer,"trimmer"),Q.TokenSet=function(){this.final=!1,this.edges={},this.id=Q.TokenSet._nextId,Q.TokenSet._nextId+=1},Q.TokenSet._nextId=1,Q.TokenSet.fromArray=function(e){for(var t=new Q.TokenSet.Builder,n=0,r=e.length;n<r;n++)t.insert(e[n]);return t.finish(),t.root},Q.TokenSet.fromClause=function(e){return"editDistance"in e?Q.TokenSet.fromFuzzyString(e.term,e.editDistance):Q.TokenSet.fromString(e.term)},Q.TokenSet.fromFuzzyString=function(e,t){for(var n=new Q.TokenSet,r=[{node:n,editsRemaining:t,str:e}];r.length;){var i=r.pop();if(i.str.length>0){var o,a=i.str.charAt(0);a in i.node.edges?o=i.node.edges[a]:(o=new Q.TokenSet,i.node.edges[a]=o),1==i.str.length&&(o.final=!0),r.push({node:o,editsRemaining:i.editsRemaining,str:i.str.slice(1)})}if(0!=i.editsRemaining){if("*"in i.node.edges)var s=i.node.edges["*"];else s=new Q.TokenSet,i.node.edges["*"]=s;if(0==i.str.length&&(s.final=!0),r.push({node:s,editsRemaining:i.editsRemaining-1,str:i.str}),i.str.length>1&&r.push({node:i.node,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)}),1==i.str.length&&(i.node.final=!0),i.str.length>=1){if("*"in i.node.edges)var c=i.node.edges["*"];else c=new Q.TokenSet,i.node.edges["*"]=c;1==i.str.length&&(c.final=!0),r.push({node:c,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)})}if(i.str.length>1){var l,u=i.str.charAt(0),d=i.str.charAt(1);d in i.node.edges?l=i.node.edges[d]:(l=new Q.TokenSet,i.node.edges[d]=l),1==i.str.length&&(l.final=!0),r.push({node:l,editsRemaining:i.editsRemaining-1,str:u+i.str.slice(2)})}}}return n},Q.TokenSet.fromString=function(e){for(var t=new Q.TokenSet,n=t,r=0,i=e.length;r<i;r++){var o=e[r],a=r==i-1;if("*"==o)t.edges[o]=t,t.final=a;else{var s=new Q.TokenSet;s.final=a,t.edges[o]=s,t=s}}return n},Q.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),r=Object.keys(n.node.edges),i=r.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<i;o++){var a=r[o];t.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},Q.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,r=0;r<n;r++){var i=t[r];e=e+i+this.edges[i].id}return e},Q.TokenSet.prototype.intersect=function(e){for(var t=new Q.TokenSet,n=void 0,r=[{qNode:e,output:t,node:this}];r.length;){n=r.pop();for(var i=Object.keys(n.qNode.edges),o=i.length,a=Object.keys(n.node.edges),s=a.length,c=0;c<o;c++)for(var l=i[c],u=0;u<s;u++){var d=a[u];if(d==l||"*"==l){var h=n.node.edges[d],f=n.qNode.edges[l],p=h.final&&f.final,m=void 0;d in n.output.edges?(m=n.output.edges[d]).final=m.final||p:((m=new Q.TokenSet).final=p,n.output.edges[d]=m),r.push({qNode:f,output:m,node:h})}}}return t},Q.TokenSet.Builder=function(){this.previousWord="",this.root=new Q.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},Q.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var r=0;r<e.length&&r<this.previousWord.length&&e[r]==this.previousWord[r];r++)n++;for(this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child,r=n;r<e.length;r++){var i=new Q.TokenSet,o=e[r];t.edges[o]=i,this.uncheckedNodes.push({parent:t,char:o,child:i}),t=i}t.final=!0,this.previousWord=e},Q.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},Q.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},Q.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},Q.Index.prototype.search=function(e){return this.query((function(t){new Q.QueryParser(e,t).parse()}))},Q.Index.prototype.query=function(e){for(var t=new Q.Query(this.fields),n=Object.create(null),r=Object.create(null),i=Object.create(null),o=Object.create(null),a=Object.create(null),s=0;s<this.fields.length;s++)r[this.fields[s]]=new Q.Vector;for(e.call(t,t),s=0;s<t.clauses.length;s++){var c,l=t.clauses[s],u=Q.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var h=c[d];l.term=h;var f=Q.TokenSet.fromClause(l),p=this.tokenSet.intersect(f).toArray();if(0===p.length&&l.presence===Q.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++)o[P=l.fields[m]]=Q.Set.empty;break}for(var g=0;g<p.length;g++){var y=p[g],v=this.invertedIndex[y],x=v._index;for(m=0;m<l.fields.length;m++){var b=v[P=l.fields[m]],w=Object.keys(b),k=y+"/"+P,S=new Q.Set(w);if(l.presence==Q.Query.presence.REQUIRED&&(u=u.union(S),void 0===o[P]&&(o[P]=Q.Set.complete)),l.presence!=Q.Query.presence.PROHIBITED){if(r[P].upsert(x,l.boost,(function(e,t){return e+t})),!i[k]){for(var E=0;E<w.length;E++){var N,T=w[E],R=new Q.FieldRef(T,P),L=b[T];void 0===(N=n[R])?n[R]=new Q.MatchData(y,P,L):N.add(y,P,L)}i[k]=!0}}else void 0===a[P]&&(a[P]=Q.Set.empty),a[P]=a[P].union(S)}}}if(l.presence===Q.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++)o[P=l.fields[m]]=o[P].intersect(u)}var I=Q.Set.complete,O=Q.Set.empty;for(s=0;s<this.fields.length;s++){var P;o[P=this.fields[s]]&&(I=I.intersect(o[P])),a[P]&&(O=O.union(a[P]))}var C=Object.keys(n),F=[],j=Object.create(null);if(t.isNegated())for(C=Object.keys(this.fieldVectors),s=0;s<C.length;s++){R=C[s];var _=Q.FieldRef.fromString(R);n[R]=new Q.MatchData}for(s=0;s<C.length;s++){var M=(_=Q.FieldRef.fromString(C[s])).docRef;if(I.contains(M)&&!O.contains(M)){var A,D=this.fieldVectors[_],B=r[_.fieldName].similarity(D);if(void 0!==(A=j[M]))A.score+=B,A.matchData.combine(n[_]);else{var z={ref:M,score:B,matchData:n[_]};j[M]=z,F.push(z)}}}return F.sort((function(e,t){return t.score-e.score}))},Q.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:Q.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},Q.Index.load=function(e){var t={},n={},r=e.fieldVectors,i=Object.create(null),o=e.invertedIndex,a=new Q.TokenSet.Builder,s=Q.Pipeline.load(e.pipeline);e.version!=Q.version&&Q.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+Q.version+"' does not match serialized index '"+e.version+"'");for(var c=0;c<r.length;c++){var l=(d=r[c])[0],u=d[1];n[l]=new Q.Vector(u)}for(c=0;c<o.length;c++){var d,h=(d=o[c])[0],f=d[1];a.insert(h),i[h]=f}return a.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=i,t.tokenSet=a.root,t.pipeline=s,new Q.Index(t)},Q.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=Q.tokenizer,this.pipeline=new Q.Pipeline,this.searchPipeline=new Q.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},Q.Builder.prototype.ref=function(e){this._ref=e},Q.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},Q.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},Q.Builder.prototype.k1=function(e){this._k1=e},Q.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var i=0;i<r.length;i++){var o=r[i],a=this._fields[o].extractor,s=a?a(e):e[o],c=this.tokenizer(s,{fields:[o]}),l=this.pipeline.run(c),u=new Q.FieldRef(n,o),d=Object.create(null);this.fieldTermFrequencies[u]=d,this.fieldLengths[u]=0,this.fieldLengths[u]+=l.length;for(var h=0;h<l.length;h++){var f=l[h];if(null==d[f]&&(d[f]=0),d[f]+=1,null==this.invertedIndex[f]){var p=Object.create(null);p._index=this.termIndex,this.termIndex+=1;for(var m=0;m<r.length;m++)p[r[m]]=Object.create(null);this.invertedIndex[f]=p}null==this.invertedIndex[f][o][n]&&(this.invertedIndex[f][o][n]=Object.create(null));for(var g=0;g<this.metadataWhitelist.length;g++){var y=this.metadataWhitelist[g],v=f.metadata[y];null==this.invertedIndex[f][o][n][y]&&(this.invertedIndex[f][o][n][y]=[]),this.invertedIndex[f][o][n][y].push(v)}}}},Q.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},r={},i=0;i<t;i++){var o=Q.FieldRef.fromString(e[i]),a=o.fieldName;r[a]||(r[a]=0),r[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}var s=Object.keys(this._fields);for(i=0;i<s.length;i++){var c=s[i];n[c]=n[c]/r[c]}this.averageFieldLength=n},Q.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,r=Object.create(null),i=0;i<n;i++){for(var o=Q.FieldRef.fromString(t[i]),a=o.fieldName,s=this.fieldLengths[o],c=new Q.Vector,l=this.fieldTermFrequencies[o],u=Object.keys(l),d=u.length,h=this._fields[a].boost||1,f=this._documents[o.docRef].boost||1,p=0;p<d;p++){var m,g,y,v=u[p],x=l[v],b=this.invertedIndex[v]._index;void 0===r[v]?(m=Q.idf(this.invertedIndex[v],this.documentCount),r[v]=m):m=r[v],g=m*((this._k1+1)*x)/(this._k1*(1-this._b+this._b*(s/this.averageFieldLength[a]))+x),g*=h,g*=f,y=Math.round(1e3*g)/1e3,c.insert(b,y)}e[o]=c}this.fieldVectors=e},Q.Builder.prototype.createTokenSet=function(){this.tokenSet=Q.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},Q.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new Q.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},Q.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},Q.MatchData=function(e,t,n){for(var r=Object.create(null),i=Object.keys(n||{}),o=0;o<i.length;o++){var a=i[o];r[a]=n[a].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=r)},Q.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var r=t[n],i=Object.keys(e.metadata[r]);null==this.metadata[r]&&(this.metadata[r]=Object.create(null));for(var o=0;o<i.length;o++){var a=i[o],s=Object.keys(e.metadata[r][a]);null==this.metadata[r][a]&&(this.metadata[r][a]=Object.create(null));for(var c=0;c<s.length;c++){var l=s[c];null==this.metadata[r][a][l]?this.metadata[r][a][l]=e.metadata[r][a][l]:this.metadata[r][a][l]=this.metadata[r][a][l].concat(e.metadata[r][a][l])}}}},Q.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var r=Object.keys(n),i=0;i<r.length;i++){var o=r[i];o in this.metadata[e][t]?this.metadata[e][t][o]=this.metadata[e][t][o].concat(n[o]):this.metadata[e][t][o]=n[o]}else this.metadata[e][t]=n},Q.Query=function(e){this.clauses=[],this.allFields=e},Q.Query.wildcard=new String("*"),Q.Query.wildcard.NONE=0,Q.Query.wildcard.LEADING=1,Q.Query.wildcard.TRAILING=2,Q.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},Q.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=Q.Query.wildcard.NONE),e.wildcard&Q.Query.wildcard.LEADING&&e.term.charAt(0)!=Q.Query.wildcard&&(e.term="*"+e.term),e.wildcard&Q.Query.wildcard.TRAILING&&e.term.slice(-1)!=Q.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=Q.Query.presence.OPTIONAL),this.clauses.push(e),this},Q.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=Q.Query.presence.PROHIBITED)return!1;return!0},Q.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,Q.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},Q.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},Q.QueryParseError.prototype=new Error,Q.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},Q.QueryLexer.prototype.run=function(){for(var e=Q.QueryLexer.lexText;e;)e=e(this)},Q.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,r=0;r<this.escapeCharPositions.length;r++)n=this.escapeCharPositions[r],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},Q.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},Q.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},Q.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return Q.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},Q.QueryLexer.prototype.width=function(){return this.pos-this.start},Q.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},Q.QueryLexer.prototype.backup=function(){this.pos-=1},Q.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=Q.QueryLexer.EOS&&this.backup()},Q.QueryLexer.prototype.more=function(){return this.pos<this.length},Q.QueryLexer.EOS="EOS",Q.QueryLexer.FIELD="FIELD",Q.QueryLexer.TERM="TERM",Q.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",Q.QueryLexer.BOOST="BOOST",Q.QueryLexer.PRESENCE="PRESENCE",Q.QueryLexer.lexField=function(e){return e.backup(),e.emit(Q.QueryLexer.FIELD),e.ignore(),Q.QueryLexer.lexText},Q.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(Q.QueryLexer.TERM)),e.ignore(),e.more())return Q.QueryLexer.lexText},Q.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(Q.QueryLexer.EDIT_DISTANCE),Q.QueryLexer.lexText},Q.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(Q.QueryLexer.BOOST),Q.QueryLexer.lexText},Q.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(Q.QueryLexer.TERM)},Q.QueryLexer.termSeparator=Q.tokenizer.separator,Q.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==Q.QueryLexer.EOS)return Q.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return Q.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(Q.QueryLexer.TERM),Q.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(Q.QueryLexer.TERM),Q.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(Q.QueryLexer.PRESENCE),Q.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(Q.QueryLexer.PRESENCE),Q.QueryLexer.lexText;if(t.match(Q.QueryLexer.termSeparator))return Q.QueryLexer.lexTerm}else e.escapeCharacter()}},Q.QueryParser=function(e,t){this.lexer=new Q.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},Q.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=Q.QueryParser.parseClause;e;)e=e(this);return this.query},Q.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},Q.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},Q.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},Q.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case Q.QueryLexer.PRESENCE:return Q.QueryParser.parsePresence;case Q.QueryLexer.FIELD:return Q.QueryParser.parseField;case Q.QueryLexer.TERM:return Q.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new Q.QueryParseError(n,t.start,t.end)}},Q.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=Q.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=Q.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new Q.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r)throw n="expecting term or field, found nothing",new Q.QueryParseError(n,t.start,t.end);switch(r.type){case Q.QueryLexer.FIELD:return Q.QueryParser.parseField;case Q.QueryLexer.TERM:return Q.QueryParser.parseTerm;default:throw n="expecting term or field, found '"+r.type+"'",new Q.QueryParseError(n,r.start,r.end)}}},Q.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new Q.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var i=e.peekLexeme();if(null==i)throw r="expecting term, found nothing",new Q.QueryParseError(r,t.start,t.end);switch(i.type){case Q.QueryLexer.TERM:return Q.QueryParser.parseTerm;default:throw r="expecting term, found '"+i.type+"'",new Q.QueryParseError(r,i.start,i.end)}}},Q.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case Q.QueryLexer.TERM:return e.nextClause(),Q.QueryParser.parseTerm;case Q.QueryLexer.FIELD:return e.nextClause(),Q.QueryParser.parseField;case Q.QueryLexer.EDIT_DISTANCE:return Q.QueryParser.parseEditDistance;case Q.QueryLexer.BOOST:return Q.QueryParser.parseBoost;case Q.QueryLexer.PRESENCE:return e.nextClause(),Q.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new Q.QueryParseError(r,n.start,n.end)}else e.nextClause()}},Q.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new Q.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var i=e.peekLexeme();if(null!=i)switch(i.type){case Q.QueryLexer.TERM:return e.nextClause(),Q.QueryParser.parseTerm;case Q.QueryLexer.FIELD:return e.nextClause(),Q.QueryParser.parseField;case Q.QueryLexer.EDIT_DISTANCE:return Q.QueryParser.parseEditDistance;case Q.QueryLexer.BOOST:return Q.QueryParser.parseBoost;case Q.QueryLexer.PRESENCE:return e.nextClause(),Q.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+i.type+"'",new Q.QueryParseError(r,i.start,i.end)}else e.nextClause()}},Q.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new Q.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var i=e.peekLexeme();if(null!=i)switch(i.type){case Q.QueryLexer.TERM:return e.nextClause(),Q.QueryParser.parseTerm;case Q.QueryLexer.FIELD:return e.nextClause(),Q.QueryParser.parseField;case Q.QueryLexer.EDIT_DISTANCE:return Q.QueryParser.parseEditDistance;case Q.QueryLexer.BOOST:return Q.QueryParser.parseBoost;case Q.QueryLexer.PRESENCE:return e.nextClause(),Q.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+i.type+"'",new Q.QueryParseError(r,i.start,i.end)}else e.nextClause()}},void 0===(i="function"==typeof(r=function(){return Q})?r.call(t,n,t,e):r)||(e.exports=i)}()},813:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var l=function(){--s<=0&&o(c)};s||l(),a.forEach((function(t){e.matches(t,i.exclude)?l():i.onIframeReady(t,(function(e){n(t)&&(c++,r(e)),l()}),l)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach((function(e,t){e.val===n&&(i=t,o=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach((function(e){e.handled||i.getIframeContents(e.val,(function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o=this,a=this.createIterator(t,e,r),s=[],c=[],l=void 0,u=void 0;d=void 0,d=o.getIteratorNode(a),u=d.prevNode,l=d.node;)this.iframes&&this.forEachIframe(t,(function(e){return o.checkIframeFilter(l,u,e,s)}),(function(t){o.createInstanceOnIframe(t).forEachNode(e,(function(e){return c.push(e)}),r)})),c.push(l);var d;c.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach((function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,(function(){--a<=0&&i()}))};r.iframes?r.waitForIframes(o,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every((function(t){return!r.call(e,t)||(i=!0,!1)})),i}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(o,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(a)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":""}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":""}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach((function(i){n.every((function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="string"==typeof n?[]:n.limiters,o="";switch(i.forEach((function(e){o+="|"+t.escapeStr(e)})),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(o="\\s"+(o||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+o+"]*)";case"exactly":return"(^|\\s"+o+")("+e+")(?=$|\\s"+o+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every((function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var l=t-a.start,u=(n>a.end?a.end:n)-a.start,d=e.value.substr(0,a.start),h=e.value.substr(u+a.start);if(a.node=o.wrapRangeInTextNode(a.node,l,u),e.value=d+h,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];)if(n(i[a],t)){var s=i.index;if(0!==a)for(var c=1;c<a;c++)s+=i[c].length;t=o.wrapRangeInTextNode(t,s,s+i[a].length),r(t.previousSibling),e.lastIndex=0}})),i()}))}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes((function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&""!==s[a];){var c=s.index;if(0!==a)for(var l=1;l<a;l++)c+=s[l].length;var u=c+s[a].length;o.wrapRangeInMappedTextNode(t,c,u,(function(e){return n(s[a],e)}),(function(t,n){e.lastIndex=n,r(t)}))}i()}))}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var i=this;this.getTextNodes((function(o){var a=o.value.length;e.forEach((function(e,r){var s=i.checkWhitespaceRanges(e,a,o.value),c=s.start,l=s.end;s.valid&&i.wrapRangeInMappedTextNode(o,c,l,(function(n){return t(n,e,o.value.substring(c,l),r)}),(function(t){n(t,e)}))})),r()}))}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,i="wrapMatches";this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),this[i](e,this.opt.ignoreGroups,(function(e,t){return n.opt.filter(t,e,r)}),(function(e){r++,n.opt.each(e)}),(function(){0===r&&n.opt.noMatch(e),n.opt.done(r)}))}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,i="wrapMatches",o=this.getSeparatedKeywords("string"==typeof e?[e]:e),a=o.keywords,s=o.length,c=this.opt.caseSensitive?"":"i";this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),0===s?this.opt.done(r):function e(t){var o=new RegExp(n.createRegExp(t),"gm"+c),l=0;n.log('Searching with expression "'+o+'"'),n[i](o,1,(function(e,i){return n.opt.filter(i,t,r,l)}),(function(e){l++,r++,n.opt.each(e)}),(function(){0===l&&n.opt.noMatch(t),a[s-1]===t?n.opt.done(r):e(a[a.indexOf(t)+1])}))}(a[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(i)),this.wrapRangeFromIndex(i,(function(e,t,r,i){return n.opt.filter(e,t,r,i)}),(function(e,t){r++,n.opt.each(e,t)}),(function(){n.opt.done(r)}))):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,(function(e){t.unwrapMatches(e)}),(function(e){var r=i.matches(e,n),o=t.matchesExclude(e);return!r||o?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new i(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),o}();return function(e){var t=this,n=new o(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}}()},554:(e,t,n)=>{var r=n(379),i=n(610);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.id,i,""]]);var o=(r(i,{insert:"head",singleton:!1}),i.locals?i.locals:{});e.exports=o},358:(e,t,n)=>{var r=n(379),i=n(641);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.id,i,""]]);var o=(r(i,{insert:"head",singleton:!1}),i.locals?i.locals:{});e.exports=o},379:(e,t,n)=>{"use strict";var r,i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),o=[];function a(e){for(var t=-1,n=0;n<o.length;n++)if(o[n].identifier===e){t=n;break}return t}function s(e,t){for(var n={},r=[],i=0;i<e.length;i++){var s=e[i],c=t.base?s[0]+t.base:s[0],l=n[c]||0,u="".concat(c," ").concat(l);n[c]=l+1;var d=a(u),h={css:s[1],media:s[2],sourceMap:s[3]};-1!==d?(o[d].references++,o[d].updater(h)):o.push({identifier:u,updater:m(h,t),references:1}),r.push(u)}return r}function c(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var a=i(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var l,u=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join("\n")});function d(e,t,n,r){var i=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function h(e,t,n){var r=n.css,i=n.media,o=n.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),o&&btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var f=null,p=0;function m(e,t){var n,r,i;if(t.singleton){var o=p++;n=f||(f=c(t)),r=d.bind(null,n,o,!1),i=d.bind(null,n,o,!0)}else n=c(t),r=h.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=(void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r));var n=s(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var i=a(n[r]);o[i].references--}for(var c=s(e,t),l=0;l<n.length;l++){var u=a(n[l]);0===o[u].references&&(o[u].updater(),o.splice(u,1))}n=c}}}},287:(e,t,n)=>{"use strict";e.exports=n.p+"c30fe87109cc5b98d68d.woff"},735:(e,t,n)=>{"use strict";e.exports=n.p+"ed26d8af112c3b587aed.woff2"},797:(e,t,n)=>{"use strict";e.exports=n.p+"49ae34d4cc6b98c00c69.woff"},916:(e,t,n)=>{"use strict";e.exports=n.p+"176f8f5bd5f02b3abfcf.woff2"}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{"use strict";var e=n(336),t=n.n(e),r=n(813),i=n.n(r);let o,a,s;n(554),n(358);const c=(t,n)=>{if(null==t||null==t)return[];let r=t.toString().trim().toLowerCase(),i=[];for(let t=0;t<=r.length-2;t++){let o=e.utils.clone(n)||{};o.position=[t,t+2],o.index=i.length,i.push(new e.Token(r.slice(t,t+2),o))}return i};(()=>{let e=new XMLHttpRequest;e.open("GET","../post/index.json",!0),e.onload=function(){this.status>=200&&this.status<400?(s=JSON.parse(this.response),o=t()((function(){this.tokenizer=c,this.pipeline.reset(),this.ref("ref"),this.field("title",{boost:10}),this.field("body"),this.metadataWhitelist=["position"],s.forEach((e=>{this.add(e)}),this)}))):console.error("Error getting Hugo index flie")},e.onerror=function(){console.error("connection error")},e.send()})(),(()=>{const e=document.querySelector("#searchBox");null!==e&&e.addEventListener("keyup",(function(e){let t=document.querySelector("#searchResults"),n=e.currentTarget.value;n.length<2?t.style.display="none":((e=>{const t=document.querySelector("#searchResults"),n=document.querySelector("#searchBox").value;for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.length){let e=document.createElement("div");return e.className="searchResultPage",e.innerHTML='No results found for query "'+n+'"',void t.append(e)}let r=new(i())(document.querySelector("#searchResults"));e.slice(0,10).forEach(((e,i)=>{let o=document.createElement("div");o.className="searchResultPage";let s=a[i].matchData.metadata,c=s[Object.keys(s)[0]].body.position[0][0],l=c-50>0?c-50:0,u=document.createElement("a");u.className="searchResultTitle",u.href=e.ref,u.innerHTML=e.title,o.append(u);let d=document.createElement("div");d.className="searchResultBody",d.innerHTML=e.body.substr(l,100),o.append(d),t.append(o),r.mark(n)}))})((e=>(a=o.search((e=>{const t=e.toString().trim().toLowerCase(),n=[];for(let e=0;e<=t.length-2;e++)n.push(t.slice(e,e+2));return n.join(" ")})(e)),a.map((e=>s.filter((t=>t.ref===e.ref))[0]))))(n)),t.style.display="block")}))})()})(),window.onload=function(){var e=document.getElementById("dark-mode-toggle"),t=document.getElementById("dark-mode-theme");function n(n){localStorage.setItem("dark-mode-storage",n),"dark"===n?(t.disabled=!1,e.className="fas fa-sun"):"light"===n&&(t.disabled=!0,e.className="fas fa-moon")}window.matchMedia("(prefers-color-scheme: dark)").matches?n(localStorage.getItem("dark-mode-storage")||"dark"):n(localStorage.getItem("dark-mode-storage")||"light"),e.addEventListener("click",(()=>{"fas fa-moon"===e.className?n("dark"):"fas fa-sun"===e.className&&n("light")}))}})(); \ No newline at end of file
+/*! For license information please see search.bundle.js.LICENSE.txt */
+(()=>{var e={610:(e,t,n)=>{var r=n(645),i=n(667),o=n(735),a=n(287),s=n(916),c=n(797);t=r(!1);var l=i(o),u=i(a),h=i(s),d=i(c);t.push([e.id,"/* noto-sans-jp-regular - japanese_latin */\n@font-face {\n font-family: 'Noto Sans JP';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: local('Noto Sans Japanese Regular'), local('NotoSansJapanese-Regular'),\n url("+l+") format('woff2'), \n url("+u+") format('woff'); /* Modern Browsers */\n}\n\n/* roboto-regular - latin */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: local('Roboto'), local('Roboto-Regular'),\n url("+h+") format('woff2'), \n url("+d+") format('woff'); /* Modern Browsers */\n}\n\nhtml {\n background-color: #FFFFFF;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: 'Noto Sans JP', sans-serif;\n font-size: 16px;\n color: #42464c;\n background: 0 0;\n flex-flow: column;\n text-rendering: optimizeLegibility;\n}\n\na {\n outline: none;\n text-decoration: none;\n}\n\n.error-text {\n font-family: 'Roboto', Helvetica, sans-serif;\n text-align: center;\n}\n\n.header {\n margin: auto;\n position: relative;\n}\n\n.navbar {\n min-height: 50px;\n margin-bottom: 20px;\n}\n\n.nav {\n top: 0;\n position: relative;\n max-width: 800px;\n margin: 20px auto;\n padding: 0 10px;\n text-align: right;\n}\n\n.nav-logo {\n float: left;\n transition: transform 300ms ease-out;\n}\n\n.nav-logo:hover {\n transform: scale(1.1);\n}\n\n.nav-logo img {\n display: block;\n width: auto;\n}\n\n.nav-links {\n margin: 0;\n padding: 0;\n font-size: 14px;\n list-style: none;\n}\n\n.nav-links li {\n display: inline-block;\n margin: 0 0 0 10px;\n}\n\n.nav-links li a em {\n color: #000000;\n}\n\n.intro-header {\n margin: 40px 0 20px;\n position: relative;\n}\n\n.intro-header [class$=\"-heading\"] {\n text-align: center;\n}\n\n.intro-header [class$=\"-heading\"] h1 {\n margin-top: 0;\n padding-top: 0;\n font-size: 50px;\n}\n\nh1,h2,h3,h4,h5,h6 {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n color: #111111;\n}\n\n.container[role=main] {\n max-width: 700px;\n padding: 0 15px;\n font-size: 16px;\n line-height: 1.7;\n color: #333333;\n}\n\n.container img {\n width: 100%;\n}\n\n#blog-archives {\n margin: 20px auto;\n font-size: 14px;\n}\n\n.archives {\n margin: 20px auto;\n}\n\n.archives td {\n border: none;\n text-align: left;\n}\n\n.article {\n text-align: justify;\n}\n\n#TableOfContents {\n font-size: 14px;\n border: 2px dotted #cccccc;\n margin: 1em 0;\n padding: 0.5em 0;\n background-color: #f0f0f0;\n}\n\n#TableOfContents ul {\n list-style-type: none;\n}\n\n#TableOfContents ul ul {\n list-style-type: disc;\n}\n\np {\n line-height: 1.5;\n margin: 0.5em 0;\n}\n\np + p {\n margin-top: 1em;\n}\n\n.social-icon {\n margin-left: 0.2em;\n margin-right: 0.2em;\n}\n\n.post-preview {\n padding-bottom: 10px;\n border-bottom: 1px solid #eeeeee;\n}\n\n.post-preview a {\n text-decoration: none;\n color: #222222;\n}\n\n.post-preview:last-child {\n border-bottom: 0;\n}\n\n.postmeta {\n margin: 10px 0;\n}\n\n.blog-tags {\n font-family: 'Roboto', Helvetica, sans-serif;\n color: #999999;\n font-size: 15px;\n margin: 30px 0;\n}\n\n.blog-tags a {\n color: #0000BB;\n text-decoration: none;\n padding: 0px 5px;\n}\n\n.blog-tags a:before {\n content: \"#\";\n}\n\nh4.term-name > span.badge {\n float: right;\n}\n\ndiv.panel-body {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n border-radius: 0;\n border: none;\n font-size: 16px;\n}\n\n.post-entry {\n width: 100%;\n margin-top: 10px;\n}\n\n.post-read-more {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: 800;\n float: right;\n position: relative;\n display: block;\n text-decoration: none;\n}\n\na.post-read-more::after {\n position: absolute;\n bottom: -4px;\n left: 0;\n content: '';\n width: 100%;\n height: 2px;\n background: #333;\n transform: scale(0, 1);\n transform-origin: center top;\n transition: transform .3s;\n}\n\na.post-read-more:hover::after {\n transform: scale(1, 1);\n}\n\nblockquote {\n color: #808080;\n padding: 0 10px;\n border-left: 4px solid #aaaaaa;\n}\n\nblockquote p:first-child {\n margin-top: 0;\n}\n\ntable {\n padding: 0;\n border-spacing: 0;\n}\n\ntable tr {\n border-top: 1px solid #dddddd;\n margin: 0;\n padding: 0;\n}\n\ntable tr th {\n font-weight: bold;\n border: 1px solid #dddddd;\n text-align: left;\n margin: 0;\n padding: 6px 13px;\n}\n\ntable tr td {\n border: 1px solid #dddddd;\n text-align: left;\n margin: 0;\n padding: 6px 12px;\n}\n\ntable tr th :first-child,\ntable tr td :first-child {\n margin-top: 0;\n}\n\ntable tr th :last-child,\ntable tr td :last-child {\n margin-bottom: 0;\n}\n\n.chroma .ln {\n margin-right: 0.8em;\n padding: 0 0.4em 0 0.4em;\n}\n\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\n\npre code {\n padding: 0;\n font-family: Menlo, Monaco, Consolas, monospace;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #dd0011;\n background-color: #f9f9f9;\n border-radius: 4px;\n}\n\n#backtotopButton {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 99;\n border: none;\n outline: none;\n background-color: #eeeeff;\n cursor: pointer;\n padding: 15px;\n border-radius: 10px;\n font-size: 16px;\n text-align: center;\n}\n\n#backtotopButton:hover {\n background-color: #aaaaaa;\n}\n\n.searchBoxContainer {\n position: relative;\n width: 300px;\n height: 30px;\n margin: 10px auto 50px auto;\n}\n\ninput.searchBox {\n position: absolute;\n width: 100%;\n padding: 0 35px 0 15px;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 15px;\n outline: 0;\n font-size: 16px;\n color: #707070;\n background-color:#f6f6f6;\n border: solid 1px #c9c9c9;\n box-sizing: border-box;\n}\n\n.searchBox::placeholder {\n color: #c9c9c9;\n}\n\n.searchResults {\n display: none;\n max-width: 600px;\n min-width: 300px;\n margin: 0 auto;\n top: 210px;\n left: 0;\n right: 0;\n padding: 5px;\n border-radius: 5px;\n text-align: left;\n}\n\n.searchResultPage {\n padding: 14px\n}\n\n.searchResultTitle {\n font-family: 'Roboto', Helvetica, sans-serif;\n font-weight: bold;\n font-size: 24px;\n margin: 5px 0;\n}\n\n.searchResultBody {\n font-size: 16px;\n}\n\nmark {\n background-color: #eeff00;\n}\n\n.pager {\n list-style: none;\n text-align: center;\n margin:20px 0 0;\n padding-left: 0;\n}\n\n.pager ul {\n display: block;\n}\n\n.pager li {\n display: inline;\n}\n\n.pager li a {\n box-sizing: border-box;\n font-family: 'Roboto', Helvetica, sans-serif;\n text-transform: uppercase;\n text-align: center;\n font-size: 14px;\n font-weight: 800;\n letter-spacing: 1px;\n padding: 10px 5px;\n background: #ffffff;\n border-radius: 0;\n border: 1px solid #dddddd;\n display: inline-block;\n color: #404040;\n text-decoration: none;\n}\n\n.pager a:hover:not(.active) {\n background-color: #dddddd;\n}\n\n.pager .previous > a {\n float: left;\n display: block;\n}\n\n.pager .next > a {\n float: right;\n display: block;\n}\n\nfooter {\n padding: 60px 0;\n text-align: center;\n margin-top: auto;\n font-size: 14px;\n font-family: 'Roboto', Helvetica, sans-serif;\n}\n\nfooter .copyright {\n font-family: 'Roboto', Helvetica, sans-serif;\n text-align: center;\n margin-bottom: 0;\n}\n\nfooter .theme-by {\n text-align: center;\n margin: 10px 0 0;\n}\n\nfooter a {\n color: #050505;\n font-weight: bold;\n}\n\nfooter em {\n cursor: pointer;\n}\n\n@media (min-width: 600px) {\n .header {\n margin: auto;\n }\n\n .nav-links {\n font-size: 18px;\n }\n\n .nav-links li {\n margin: 0 0 0 30px;\n }\n\n .container[role=main] {\n font-size: 16px;\n line-height: 1.8;\n margin: 40px auto;\n }\n\n .blog-tags {\n margin: 20px 0;\n }\n\n .pager li a {\n padding: 10px 20px;\n }\n\n .pager.blog-pager {\n margin-top: 40px;\n }\n}\n",""]),e.exports=t},641:(e,t,n)=>{(t=n(645)(!1)).push([e.id,"/* Background */ .chroma { background-color: #f8f8f8 }\n/* Other */ .chroma .x { color: #000000 }\n/* Error */ .chroma .err { color: #a40000 }\n/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }\n/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }\n/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc }\n/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }\n/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }\n/* Keyword */ .chroma .k { color: #204a87; font-weight: bold }\n/* KeywordConstant */ .chroma .kc { color: #204a87; font-weight: bold }\n/* KeywordDeclaration */ .chroma .kd { color: #204a87; font-weight: bold }\n/* KeywordNamespace */ .chroma .kn { color: #204a87; font-weight: bold }\n/* KeywordPseudo */ .chroma .kp { color: #204a87; font-weight: bold }\n/* KeywordReserved */ .chroma .kr { color: #204a87; font-weight: bold }\n/* KeywordType */ .chroma .kt { color: #204a87; font-weight: bold }\n/* Name */ .chroma .n { color: #000000 }\n/* NameAttribute */ .chroma .na { color: #c4a000 }\n/* NameBuiltin */ .chroma .nb { color: #204a87 }\n/* NameBuiltinPseudo */ .chroma .bp { color: #3465a4 }\n/* NameClass */ .chroma .nc { color: #000000 }\n/* NameConstant */ .chroma .no { color: #000000 }\n/* NameDecorator */ .chroma .nd { color: #5c35cc; font-weight: bold }\n/* NameEntity */ .chroma .ni { color: #ce5c00 }\n/* NameException */ .chroma .ne { color: #cc0000; font-weight: bold }\n/* NameFunction */ .chroma .nf { color: #000000 }\n/* NameFunctionMagic */ .chroma .fm { color: #000000 }\n/* NameLabel */ .chroma .nl { color: #f57900 }\n/* NameNamespace */ .chroma .nn { color: #000000 }\n/* NameOther */ .chroma .nx { color: #000000 }\n/* NameProperty */ .chroma .py { color: #000000 }\n/* NameTag */ .chroma .nt { color: #204a87; font-weight: bold }\n/* NameVariable */ .chroma .nv { color: #000000 }\n/* NameVariableClass */ .chroma .vc { color: #000000 }\n/* NameVariableGlobal */ .chroma .vg { color: #000000 }\n/* NameVariableInstance */ .chroma .vi { color: #000000 }\n/* NameVariableMagic */ .chroma .vm { color: #000000 }\n/* Literal */ .chroma .l { color: #000000 }\n/* LiteralDate */ .chroma .ld { color: #000000 }\n/* LiteralString */ .chroma .s { color: #4e9a06 }\n/* LiteralStringAffix */ .chroma .sa { color: #4e9a06 }\n/* LiteralStringBacktick */ .chroma .sb { color: #4e9a06 }\n/* LiteralStringChar */ .chroma .sc { color: #4e9a06 }\n/* LiteralStringDelimiter */ .chroma .dl { color: #4e9a06 }\n/* LiteralStringDoc */ .chroma .sd { color: #8f5902; font-style: italic }\n/* LiteralStringDouble */ .chroma .s2 { color: #4e9a06 }\n/* LiteralStringEscape */ .chroma .se { color: #4e9a06 }\n/* LiteralStringHeredoc */ .chroma .sh { color: #4e9a06 }\n/* LiteralStringInterpol */ .chroma .si { color: #4e9a06 }\n/* LiteralStringOther */ .chroma .sx { color: #4e9a06 }\n/* LiteralStringRegex */ .chroma .sr { color: #4e9a06 }\n/* LiteralStringSingle */ .chroma .s1 { color: #4e9a06 }\n/* LiteralStringSymbol */ .chroma .ss { color: #4e9a06 }\n/* LiteralNumber */ .chroma .m { color: #0000cf; font-weight: bold }\n/* LiteralNumberBin */ .chroma .mb { color: #0000cf; font-weight: bold }\n/* LiteralNumberFloat */ .chroma .mf { color: #0000cf; font-weight: bold }\n/* LiteralNumberHex */ .chroma .mh { color: #0000cf; font-weight: bold }\n/* LiteralNumberInteger */ .chroma .mi { color: #0000cf; font-weight: bold }\n/* LiteralNumberIntegerLong */ .chroma .il { color: #0000cf; font-weight: bold }\n/* LiteralNumberOct */ .chroma .mo { color: #0000cf; font-weight: bold }\n/* Operator */ .chroma .o { color: #ce5c00; font-weight: bold }\n/* OperatorWord */ .chroma .ow { color: #204a87; font-weight: bold }\n/* Punctuation */ .chroma .p { color: #000000; font-weight: bold }\n/* Comment */ .chroma .c { color: #8f5902; font-style: italic }\n/* CommentHashbang */ .chroma .ch { color: #8f5902; font-style: italic }\n/* CommentMultiline */ .chroma .cm { color: #8f5902; font-style: italic }\n/* CommentSingle */ .chroma .c1 { color: #8f5902; font-style: italic }\n/* CommentSpecial */ .chroma .cs { color: #8f5902; font-style: italic }\n/* CommentPreproc */ .chroma .cp { color: #8f5902; font-style: italic }\n/* CommentPreprocFile */ .chroma .cpf { color: #8f5902; font-style: italic }\n/* Generic */ .chroma .g { color: #000000 }\n/* GenericDeleted */ .chroma .gd { color: #a40000 }\n/* GenericEmph */ .chroma .ge { color: #000000; font-style: italic }\n/* GenericError */ .chroma .gr { color: #ef2929 }\n/* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold }\n/* GenericInserted */ .chroma .gi { color: #00a000 }\n/* GenericOutput */ .chroma .go { color: #000000; font-style: italic }\n/* GenericPrompt */ .chroma .gp { color: #8f5902 }\n/* GenericStrong */ .chroma .gs { color: #000000; font-weight: bold }\n/* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold }\n/* GenericTraceback */ .chroma .gt { color: #a40000; font-weight: bold }\n/* GenericUnderline */ .chroma .gl { color: #000000; text-decoration: underline }\n/* TextWhitespace */ .chroma .w { color: #f8f8f8; text-decoration: underline }\n",""]),e.exports=t},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r,i,o=e[1]||"",a=e[3];if(!a)return o;if(t&&"function"==typeof btoa){var s=(n=a,r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),"/*# ".concat(i," */")),c=a.sources.map((function(e){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(e," */")}));return[o].concat(c).concat([s]).join("\n")}return[o].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(r)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var s=0;s<e.length;s++){var c=[].concat(e[s]);r&&i[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},667:e=>{"use strict";e.exports=function(e,t){return t||(t={}),"string"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},336:(e,t,n)=>{var r,i;!function(){var o,a,s,c,l,u,h,d,f,p,m,g,y,v,x,b,w,k,S,E,N,T,R,L,I,O,Q=function(e){var t=new Q.Builder;return t.pipeline.add(Q.trimmer,Q.stopWordFilter,Q.stemmer),t.searchPipeline.add(Q.stemmer),e.call(t,t),t.build()};Q.version="2.3.8",Q.utils={},Q.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),Q.utils.asString=function(e){return null==e?"":e.toString()},Q.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],o=e[i];if(Array.isArray(o))t[i]=o.slice();else{if("string"!=typeof o&&"number"!=typeof o&&"boolean"!=typeof o)throw new TypeError("clone is not deep and does not support nested objects");t[i]=o}}return t},Q.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},Q.FieldRef.joiner="/",Q.FieldRef.fromString=function(e){var t=e.indexOf(Q.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),r=e.slice(t+1);return new Q.FieldRef(r,n,e)},Q.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+Q.FieldRef.joiner+this.docRef),this._stringValue},Q.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},Q.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},Q.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},Q.Set.prototype.contains=function(e){return!!this.elements[e]},Q.Set.prototype.intersect=function(e){var t,n,r,i=[];if(e===Q.Set.complete)return this;if(e===Q.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),r=Object.keys(t.elements);for(var o=0;o<r.length;o++){var a=r[o];a in n.elements&&i.push(a)}return new Q.Set(i)},Q.Set.prototype.union=function(e){return e===Q.Set.complete?Q.Set.complete:e===Q.Set.empty?this:new Q.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},Q.idf=function(e,t){var n=0;for(var r in e)"_index"!=r&&(n+=Object.keys(e[r]).length);var i=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(i))},Q.Token=function(e,t){this.str=e||"",this.metadata=t||{}},Q.Token.prototype.toString=function(){return this.str},Q.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},Q.Token.prototype.clone=function(e){return e=e||function(e){return e},new Q.Token(e(this.str,this.metadata),this.metadata)},Q.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new Q.Token(Q.utils.asString(e).toLowerCase(),Q.utils.clone(t))}));for(var n=e.toString().toLowerCase(),r=n.length,i=[],o=0,a=0;o<=r;o++){var s=o-a;if(n.charAt(o).match(Q.tokenizer.separator)||o==r){if(s>0){var c=Q.utils.clone(t)||{};c.position=[a,s],c.index=i.length,i.push(new Q.Token(n.slice(a,o),c))}a=o+1}}return i},Q.tokenizer.separator=/[\s\-]+/,Q.Pipeline=function(){this._stack=[]},Q.Pipeline.registeredFunctions=Object.create(null),Q.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&Q.utils.warn("Overwriting existing registered function: "+t),e.label=t,Q.Pipeline.registeredFunctions[e.label]=e},Q.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||Q.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},Q.Pipeline.load=function(e){var t=new Q.Pipeline;return e.forEach((function(e){var n=Q.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},Q.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){Q.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},Q.Pipeline.prototype.after=function(e,t){Q.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},Q.Pipeline.prototype.before=function(e,t){Q.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},Q.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},Q.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var r=this._stack[n],i=[],o=0;o<e.length;o++){var a=r(e[o],o,e);if(null!=a&&""!==a)if(Array.isArray(a))for(var s=0;s<a.length;s++)i.push(a[s]);else i.push(a)}e=i}return e},Q.Pipeline.prototype.runString=function(e,t){var n=new Q.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},Q.Pipeline.prototype.reset=function(){this._stack=[]},Q.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return Q.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},Q.Vector=function(e){this._magnitude=0,this.elements=e||[]},Q.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,r=n-t,i=Math.floor(r/2),o=this.elements[2*i];r>1&&(o<e&&(t=i),o>e&&(n=i),o!=e);)r=n-t,i=t+Math.floor(r/2),o=this.elements[2*i];return o==e||o>e?2*i:o<e?2*(i+1):void 0},Q.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},Q.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var r=this.positionForIndex(e);this.elements[r]==e?this.elements[r+1]=n(this.elements[r+1],t):this.elements.splice(r,0,e,t)},Q.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var r=this.elements[n];e+=r*r}return this._magnitude=Math.sqrt(e)},Q.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,r=e.elements,i=n.length,o=r.length,a=0,s=0,c=0,l=0;c<i&&l<o;)(a=n[c])<(s=r[l])?c+=2:a>s?l+=2:a==s&&(t+=n[c+1]*r[l+1],c+=2,l+=2);return t},Q.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},Q.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},Q.Vector.prototype.toJSON=function(){return this.elements},Q.stemmer=(a={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},s={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},c="[aeiouy]",l="[^aeiou][^aeiouy]*",u=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,v=/.$/,x=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),w=new RegExp("^"+l+c+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,N=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,T=/^(.+?)(s|t)(ion)$/,R=/^(.+?)e$/,L=/ll$/,I=new RegExp("^"+l+c+"[^aeiouwxy]$"),O=function(e){var t,n,r,i,o,c,l;if(e.length<3)return e;if("y"==(r=e.substr(0,1))&&(e=r.toUpperCase()+e.substr(1)),o=m,(i=p).test(e)?e=e.replace(i,"$1$2"):o.test(e)&&(e=e.replace(o,"$1$2")),o=y,(i=g).test(e)){var O=i.exec(e);(i=u).test(O[1])&&(i=v,e=e.replace(i,""))}else o.test(e)&&(t=(O=o.exec(e))[1],(o=f).test(t)&&(c=b,l=w,(o=x).test(e=t)?e+="e":c.test(e)?(i=v,e=e.replace(i,"")):l.test(e)&&(e+="e")));return(i=k).test(e)&&(e=(t=(O=i.exec(e))[1])+"i"),(i=S).test(e)&&(t=(O=i.exec(e))[1],n=O[2],(i=u).test(t)&&(e=t+a[n])),(i=E).test(e)&&(t=(O=i.exec(e))[1],n=O[2],(i=u).test(t)&&(e=t+s[n])),o=T,(i=N).test(e)?(t=(O=i.exec(e))[1],(i=h).test(t)&&(e=t)):o.test(e)&&(t=(O=o.exec(e))[1]+O[2],(o=h).test(t)&&(e=t)),(i=R).test(e)&&(t=(O=i.exec(e))[1],o=d,c=I,((i=h).test(t)||o.test(t)&&!c.test(t))&&(e=t)),o=h,(i=L).test(e)&&o.test(e)&&(i=v,e=e.replace(i,"")),"y"==r&&(e=r.toLowerCase()+e.substr(1)),e},function(e){return e.update(O)}),Q.Pipeline.registerFunction(Q.stemmer,"stemmer"),Q.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},Q.stopWordFilter=Q.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),Q.Pipeline.registerFunction(Q.stopWordFilter,"stopWordFilter"),Q.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},Q.Pipeline.registerFunction(Q.trimmer,"trimmer"),Q.TokenSet=function(){this.final=!1,this.edges={},this.id=Q.TokenSet._nextId,Q.TokenSet._nextId+=1},Q.TokenSet._nextId=1,Q.TokenSet.fromArray=function(e){for(var t=new Q.TokenSet.Builder,n=0,r=e.length;n<r;n++)t.insert(e[n]);return t.finish(),t.root},Q.TokenSet.fromClause=function(e){return"editDistance"in e?Q.TokenSet.fromFuzzyString(e.term,e.editDistance):Q.TokenSet.fromString(e.term)},Q.TokenSet.fromFuzzyString=function(e,t){for(var n=new Q.TokenSet,r=[{node:n,editsRemaining:t,str:e}];r.length;){var i=r.pop();if(i.str.length>0){var o,a=i.str.charAt(0);a in i.node.edges?o=i.node.edges[a]:(o=new Q.TokenSet,i.node.edges[a]=o),1==i.str.length&&(o.final=!0),r.push({node:o,editsRemaining:i.editsRemaining,str:i.str.slice(1)})}if(0!=i.editsRemaining){if("*"in i.node.edges)var s=i.node.edges["*"];else s=new Q.TokenSet,i.node.edges["*"]=s;if(0==i.str.length&&(s.final=!0),r.push({node:s,editsRemaining:i.editsRemaining-1,str:i.str}),i.str.length>1&&r.push({node:i.node,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)}),1==i.str.length&&(i.node.final=!0),i.str.length>=1){if("*"in i.node.edges)var c=i.node.edges["*"];else c=new Q.TokenSet,i.node.edges["*"]=c;1==i.str.length&&(c.final=!0),r.push({node:c,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)})}if(i.str.length>1){var l,u=i.str.charAt(0),h=i.str.charAt(1);h in i.node.edges?l=i.node.edges[h]:(l=new Q.TokenSet,i.node.edges[h]=l),1==i.str.length&&(l.final=!0),r.push({node:l,editsRemaining:i.editsRemaining-1,str:u+i.str.slice(2)})}}}return n},Q.TokenSet.fromString=function(e){for(var t=new Q.TokenSet,n=t,r=0,i=e.length;r<i;r++){var o=e[r],a=r==i-1;if("*"==o)t.edges[o]=t,t.final=a;else{var s=new Q.TokenSet;s.final=a,t.edges[o]=s,t=s}}return n},Q.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),r=Object.keys(n.node.edges),i=r.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<i;o++){var a=r[o];t.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},Q.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,r=0;r<n;r++){var i=t[r];e=e+i+this.edges[i].id}return e},Q.TokenSet.prototype.intersect=function(e){for(var t=new Q.TokenSet,n=void 0,r=[{qNode:e,output:t,node:this}];r.length;){n=r.pop();for(var i=Object.keys(n.qNode.edges),o=i.length,a=Object.keys(n.node.edges),s=a.length,c=0;c<o;c++)for(var l=i[c],u=0;u<s;u++){var h=a[u];if(h==l||"*"==l){var d=n.node.edges[h],f=n.qNode.edges[l],p=d.final&&f.final,m=void 0;h in n.output.edges?(m=n.output.edges[h]).final=m.final||p:((m=new Q.TokenSet).final=p,n.output.edges[h]=m),r.push({qNode:f,output:m,node:d})}}}return t},Q.TokenSet.Builder=function(){this.previousWord="",this.root=new Q.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},Q.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var r=0;r<e.length&&r<this.previousWord.length&&e[r]==this.previousWord[r];r++)n++;for(this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child,r=n;r<e.length;r++){var i=new Q.TokenSet,o=e[r];t.edges[o]=i,this.uncheckedNodes.push({parent:t,char:o,child:i}),t=i}t.final=!0,this.previousWord=e},Q.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},Q.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},Q.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},Q.Index.prototype.search=function(e){return this.query((function(t){new Q.QueryParser(e,t).parse()}))},Q.Index.prototype.query=function(e){for(var t=new Q.Query(this.fields),n=Object.create(null),r=Object.create(null),i=Object.create(null),o=Object.create(null),a=Object.create(null),s=0;s<this.fields.length;s++)r[this.fields[s]]=new Q.Vector;for(e.call(t,t),s=0;s<t.clauses.length;s++){var c,l=t.clauses[s],u=Q.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var h=0;h<c.length;h++){var d=c[h];l.term=d;var f=Q.TokenSet.fromClause(l),p=this.tokenSet.intersect(f).toArray();if(0===p.length&&l.presence===Q.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++)o[P=l.fields[m]]=Q.Set.empty;break}for(var g=0;g<p.length;g++){var y=p[g],v=this.invertedIndex[y],x=v._index;for(m=0;m<l.fields.length;m++){var b=v[P=l.fields[m]],w=Object.keys(b),k=y+"/"+P,S=new Q.Set(w);if(l.presence==Q.Query.presence.REQUIRED&&(u=u.union(S),void 0===o[P]&&(o[P]=Q.Set.complete)),l.presence!=Q.Query.presence.PROHIBITED){if(r[P].upsert(x,l.boost,(function(e,t){return e+t})),!i[k]){for(var E=0;E<w.length;E++){var N,T=w[E],R=new Q.FieldRef(T,P),L=b[T];void 0===(N=n[R])?n[R]=new Q.MatchData(y,P,L):N.add(y,P,L)}i[k]=!0}}else void 0===a[P]&&(a[P]=Q.Set.empty),a[P]=a[P].union(S)}}}if(l.presence===Q.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++)o[P=l.fields[m]]=o[P].intersect(u)}var I=Q.Set.complete,O=Q.Set.empty;for(s=0;s<this.fields.length;s++){var P;o[P=this.fields[s]]&&(I=I.intersect(o[P])),a[P]&&(O=O.union(a[P]))}var C=Object.keys(n),F=[],j=Object.create(null);if(t.isNegated())for(C=Object.keys(this.fieldVectors),s=0;s<C.length;s++){R=C[s];var _=Q.FieldRef.fromString(R);n[R]=new Q.MatchData}for(s=0;s<C.length;s++){var M=(_=Q.FieldRef.fromString(C[s])).docRef;if(I.contains(M)&&!O.contains(M)){var A,D=this.fieldVectors[_],z=r[_.fieldName].similarity(D);if(void 0!==(A=j[M]))A.score+=z,A.matchData.combine(n[_]);else{var B={ref:M,score:z,matchData:n[_]};j[M]=B,F.push(B)}}}return F.sort((function(e,t){return t.score-e.score}))},Q.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:Q.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},Q.Index.load=function(e){var t={},n={},r=e.fieldVectors,i=Object.create(null),o=e.invertedIndex,a=new Q.TokenSet.Builder,s=Q.Pipeline.load(e.pipeline);e.version!=Q.version&&Q.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+Q.version+"' does not match serialized index '"+e.version+"'");for(var c=0;c<r.length;c++){var l=(h=r[c])[0],u=h[1];n[l]=new Q.Vector(u)}for(c=0;c<o.length;c++){var h,d=(h=o[c])[0],f=h[1];a.insert(d),i[d]=f}return a.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=i,t.tokenSet=a.root,t.pipeline=s,new Q.Index(t)},Q.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=Q.tokenizer,this.pipeline=new Q.Pipeline,this.searchPipeline=new Q.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},Q.Builder.prototype.ref=function(e){this._ref=e},Q.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},Q.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},Q.Builder.prototype.k1=function(e){this._k1=e},Q.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var i=0;i<r.length;i++){var o=r[i],a=this._fields[o].extractor,s=a?a(e):e[o],c=this.tokenizer(s,{fields:[o]}),l=this.pipeline.run(c),u=new Q.FieldRef(n,o),h=Object.create(null);this.fieldTermFrequencies[u]=h,this.fieldLengths[u]=0,this.fieldLengths[u]+=l.length;for(var d=0;d<l.length;d++){var f=l[d];if(null==h[f]&&(h[f]=0),h[f]+=1,null==this.invertedIndex[f]){var p=Object.create(null);p._index=this.termIndex,this.termIndex+=1;for(var m=0;m<r.length;m++)p[r[m]]=Object.create(null);this.invertedIndex[f]=p}null==this.invertedIndex[f][o][n]&&(this.invertedIndex[f][o][n]=Object.create(null));for(var g=0;g<this.metadataWhitelist.length;g++){var y=this.metadataWhitelist[g],v=f.metadata[y];null==this.invertedIndex[f][o][n][y]&&(this.invertedIndex[f][o][n][y]=[]),this.invertedIndex[f][o][n][y].push(v)}}}},Q.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},r={},i=0;i<t;i++){var o=Q.FieldRef.fromString(e[i]),a=o.fieldName;r[a]||(r[a]=0),r[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}var s=Object.keys(this._fields);for(i=0;i<s.length;i++){var c=s[i];n[c]=n[c]/r[c]}this.averageFieldLength=n},Q.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,r=Object.create(null),i=0;i<n;i++){for(var o=Q.FieldRef.fromString(t[i]),a=o.fieldName,s=this.fieldLengths[o],c=new Q.Vector,l=this.fieldTermFrequencies[o],u=Object.keys(l),h=u.length,d=this._fields[a].boost||1,f=this._documents[o.docRef].boost||1,p=0;p<h;p++){var m,g,y,v=u[p],x=l[v],b=this.invertedIndex[v]._index;void 0===r[v]?(m=Q.idf(this.invertedIndex[v],this.documentCount),r[v]=m):m=r[v],g=m*((this._k1+1)*x)/(this._k1*(1-this._b+this._b*(s/this.averageFieldLength[a]))+x),g*=d,g*=f,y=Math.round(1e3*g)/1e3,c.insert(b,y)}e[o]=c}this.fieldVectors=e},Q.Builder.prototype.createTokenSet=function(){this.tokenSet=Q.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},Q.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new Q.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},Q.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},Q.MatchData=function(e,t,n){for(var r=Object.create(null),i=Object.keys(n||{}),o=0;o<i.length;o++){var a=i[o];r[a]=n[a].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=r)},Q.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var r=t[n],i=Object.keys(e.metadata[r]);null==this.metadata[r]&&(this.metadata[r]=Object.create(null));for(var o=0;o<i.length;o++){var a=i[o],s=Object.keys(e.metadata[r][a]);null==this.metadata[r][a]&&(this.metadata[r][a]=Object.create(null));for(var c=0;c<s.length;c++){var l=s[c];null==this.metadata[r][a][l]?this.metadata[r][a][l]=e.metadata[r][a][l]:this.metadata[r][a][l]=this.metadata[r][a][l].concat(e.metadata[r][a][l])}}}},Q.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var r=Object.keys(n),i=0;i<r.length;i++){var o=r[i];o in this.metadata[e][t]?this.metadata[e][t][o]=this.metadata[e][t][o].concat(n[o]):this.metadata[e][t][o]=n[o]}else this.metadata[e][t]=n},Q.Query=function(e){this.clauses=[],this.allFields=e},Q.Query.wildcard=new String("*"),Q.Query.wildcard.NONE=0,Q.Query.wildcard.LEADING=1,Q.Query.wildcard.TRAILING=2,Q.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},Q.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=Q.Query.wildcard.NONE),e.wildcard&Q.Query.wildcard.LEADING&&e.term.charAt(0)!=Q.Query.wildcard&&(e.term="*"+e.term),e.wildcard&Q.Query.wildcard.TRAILING&&e.term.slice(-1)!=Q.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=Q.Query.presence.OPTIONAL),this.clauses.push(e),this},Q.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=Q.Query.presence.PROHIBITED)return!1;return!0},Q.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,Q.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},Q.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},Q.QueryParseError.prototype=new Error,Q.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},Q.QueryLexer.prototype.run=function(){for(var e=Q.QueryLexer.lexText;e;)e=e(this)},Q.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,r=0;r<this.escapeCharPositions.length;r++)n=this.escapeCharPositions[r],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},Q.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},Q.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},Q.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return Q.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},Q.QueryLexer.prototype.width=function(){return this.pos-this.start},Q.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},Q.QueryLexer.prototype.backup=function(){this.pos-=1},Q.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=Q.QueryLexer.EOS&&this.backup()},Q.QueryLexer.prototype.more=function(){return this.pos<this.length},Q.QueryLexer.EOS="EOS",Q.QueryLexer.FIELD="FIELD",Q.QueryLexer.TERM="TERM",Q.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",Q.QueryLexer.BOOST="BOOST",Q.QueryLexer.PRESENCE="PRESENCE",Q.QueryLexer.lexField=function(e){return e.backup(),e.emit(Q.QueryLexer.FIELD),e.ignore(),Q.QueryLexer.lexText},Q.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(Q.QueryLexer.TERM)),e.ignore(),e.more())return Q.QueryLexer.lexText},Q.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(Q.QueryLexer.EDIT_DISTANCE),Q.QueryLexer.lexText},Q.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(Q.QueryLexer.BOOST),Q.QueryLexer.lexText},Q.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(Q.QueryLexer.TERM)},Q.QueryLexer.termSeparator=Q.tokenizer.separator,Q.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==Q.QueryLexer.EOS)return Q.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return Q.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(Q.QueryLexer.TERM),Q.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(Q.QueryLexer.TERM),Q.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(Q.QueryLexer.PRESENCE),Q.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(Q.QueryLexer.PRESENCE),Q.QueryLexer.lexText;if(t.match(Q.QueryLexer.termSeparator))return Q.QueryLexer.lexTerm}else e.escapeCharacter()}},Q.QueryParser=function(e,t){this.lexer=new Q.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},Q.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=Q.QueryParser.parseClause;e;)e=e(this);return this.query},Q.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},Q.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},Q.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},Q.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case Q.QueryLexer.PRESENCE:return Q.QueryParser.parsePresence;case Q.QueryLexer.FIELD:return Q.QueryParser.parseField;case Q.QueryLexer.TERM:return Q.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new Q.QueryParseError(n,t.start,t.end)}},Q.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=Q.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=Q.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new Q.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r)throw n="expecting term or field, found nothing",new Q.QueryParseError(n,t.start,t.end);switch(r.type){case Q.QueryLexer.FIELD:return Q.QueryParser.parseField;case Q.QueryLexer.TERM:return Q.QueryParser.parseTerm;default:throw n="expecting term or field, found '"+r.type+"'",new Q.QueryParseError(n,r.start,r.end)}}},Q.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new Q.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var i=e.peekLexeme();if(null==i)throw r="expecting term, found nothing",new Q.QueryParseError(r,t.start,t.end);switch(i.type){case Q.QueryLexer.TERM:return Q.QueryParser.parseTerm;default:throw r="expecting term, found '"+i.type+"'",new Q.QueryParseError(r,i.start,i.end)}}},Q.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case Q.QueryLexer.TERM:return e.nextClause(),Q.QueryParser.parseTerm;case Q.QueryLexer.FIELD:return e.nextClause(),Q.QueryParser.parseField;case Q.QueryLexer.EDIT_DISTANCE:return Q.QueryParser.parseEditDistance;case Q.QueryLexer.BOOST:return Q.QueryParser.parseBoost;case Q.QueryLexer.PRESENCE:return e.nextClause(),Q.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new Q.QueryParseError(r,n.start,n.end)}else e.nextClause()}},Q.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new Q.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var i=e.peekLexeme();if(null!=i)switch(i.type){case Q.QueryLexer.TERM:return e.nextClause(),Q.QueryParser.parseTerm;case Q.QueryLexer.FIELD:return e.nextClause(),Q.QueryParser.parseField;case Q.QueryLexer.EDIT_DISTANCE:return Q.QueryParser.parseEditDistance;case Q.QueryLexer.BOOST:return Q.QueryParser.parseBoost;case Q.QueryLexer.PRESENCE:return e.nextClause(),Q.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+i.type+"'",new Q.QueryParseError(r,i.start,i.end)}else e.nextClause()}},Q.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new Q.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var i=e.peekLexeme();if(null!=i)switch(i.type){case Q.QueryLexer.TERM:return e.nextClause(),Q.QueryParser.parseTerm;case Q.QueryLexer.FIELD:return e.nextClause(),Q.QueryParser.parseField;case Q.QueryLexer.EDIT_DISTANCE:return Q.QueryParser.parseEditDistance;case Q.QueryLexer.BOOST:return Q.QueryParser.parseBoost;case Q.QueryLexer.PRESENCE:return e.nextClause(),Q.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+i.type+"'",new Q.QueryParseError(r,i.start,i.end)}else e.nextClause()}},void 0===(i="function"==typeof(r=function(){return Q})?r.call(t,n,t,e):r)||(e.exports=i)}()},813:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var l=function(){--s<=0&&o(c)};s||l(),a.forEach((function(t){e.matches(t,i.exclude)?l():i.onIframeReady(t,(function(e){n(t)&&(c++,r(e)),l()}),l)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach((function(e,t){e.val===n&&(i=t,o=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach((function(e){e.handled||i.getIframeContents(e.val,(function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o=this,a=this.createIterator(t,e,r),s=[],c=[],l=void 0,u=void 0;h=void 0,h=o.getIteratorNode(a),u=h.prevNode,l=h.node;)this.iframes&&this.forEachIframe(t,(function(e){return o.checkIframeFilter(l,u,e,s)}),(function(t){o.createInstanceOnIframe(t).forEachNode(e,(function(e){return c.push(e)}),r)})),c.push(l);var h;c.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach((function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,(function(){--a<=0&&i()}))};r.iframes?r.waitForIframes(o,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every((function(t){return!r.call(e,t)||(i=!0,!1)})),i}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(o,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(a)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":""}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":""}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach((function(i){n.every((function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="string"==typeof n?[]:n.limiters,o="";switch(i.forEach((function(e){o+="|"+t.escapeStr(e)})),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(o="\\s"+(o||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+o+"]*)";case"exactly":return"(^|\\s"+o+")("+e+")(?=$|\\s"+o+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every((function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var l=t-a.start,u=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),d=e.value.substr(u+a.start);if(a.node=o.wrapRangeInTextNode(a.node,l,u),e.value=h+d,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];)if(n(i[a],t)){var s=i.index;if(0!==a)for(var c=1;c<a;c++)s+=i[c].length;t=o.wrapRangeInTextNode(t,s,s+i[a].length),r(t.previousSibling),e.lastIndex=0}})),i()}))}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes((function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&""!==s[a];){var c=s.index;if(0!==a)for(var l=1;l<a;l++)c+=s[l].length;var u=c+s[a].length;o.wrapRangeInMappedTextNode(t,c,u,(function(e){return n(s[a],e)}),(function(t,n){e.lastIndex=n,r(t)}))}i()}))}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var i=this;this.getTextNodes((function(o){var a=o.value.length;e.forEach((function(e,r){var s=i.checkWhitespaceRanges(e,a,o.value),c=s.start,l=s.end;s.valid&&i.wrapRangeInMappedTextNode(o,c,l,(function(n){return t(n,e,o.value.substring(c,l),r)}),(function(t){n(t,e)}))})),r()}))}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,i="wrapMatches";this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),this[i](e,this.opt.ignoreGroups,(function(e,t){return n.opt.filter(t,e,r)}),(function(e){r++,n.opt.each(e)}),(function(){0===r&&n.opt.noMatch(e),n.opt.done(r)}))}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,i="wrapMatches",o=this.getSeparatedKeywords("string"==typeof e?[e]:e),a=o.keywords,s=o.length,c=this.opt.caseSensitive?"":"i";this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),0===s?this.opt.done(r):function e(t){var o=new RegExp(n.createRegExp(t),"gm"+c),l=0;n.log('Searching with expression "'+o+'"'),n[i](o,1,(function(e,i){return n.opt.filter(i,t,r,l)}),(function(e){l++,r++,n.opt.each(e)}),(function(){0===l&&n.opt.noMatch(t),a[s-1]===t?n.opt.done(r):e(a[a.indexOf(t)+1])}))}(a[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(i)),this.wrapRangeFromIndex(i,(function(e,t,r,i){return n.opt.filter(e,t,r,i)}),(function(e,t){r++,n.opt.each(e,t)}),(function(){n.opt.done(r)}))):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,(function(e){t.unwrapMatches(e)}),(function(e){var r=i.matches(e,n),o=t.matchesExclude(e);return!r||o?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new i(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),o}();return function(e){var t=this,n=new o(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}}()},554:(e,t,n)=>{var r=n(379),i=n(610);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.id,i,""]]);var o=(r(i,{insert:"head",singleton:!1}),i.locals?i.locals:{});e.exports=o},358:(e,t,n)=>{var r=n(379),i=n(641);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.id,i,""]]);var o=(r(i,{insert:"head",singleton:!1}),i.locals?i.locals:{});e.exports=o},379:(e,t,n)=>{"use strict";var r,i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),o=[];function a(e){for(var t=-1,n=0;n<o.length;n++)if(o[n].identifier===e){t=n;break}return t}function s(e,t){for(var n={},r=[],i=0;i<e.length;i++){var s=e[i],c=t.base?s[0]+t.base:s[0],l=n[c]||0,u="".concat(c," ").concat(l);n[c]=l+1;var h=a(u),d={css:s[1],media:s[2],sourceMap:s[3]};-1!==h?(o[h].references++,o[h].updater(d)):o.push({identifier:u,updater:m(d,t),references:1}),r.push(u)}return r}function c(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var a=i(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var l,u=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join("\n")});function h(e,t,n,r){var i=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function d(e,t,n){var r=n.css,i=n.media,o=n.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),o&&btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var f=null,p=0;function m(e,t){var n,r,i;if(t.singleton){var o=p++;n=f||(f=c(t)),r=h.bind(null,n,o,!1),i=h.bind(null,n,o,!0)}else n=c(t),r=d.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=(void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r));var n=s(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var i=a(n[r]);o[i].references--}for(var c=s(e,t),l=0;l<n.length;l++){var u=a(n[l]);0===o[u].references&&(o[u].updater(),o.splice(u,1))}n=c}}}},287:(e,t,n)=>{"use strict";e.exports=n.p+"c30fe87109cc5b98d68d.woff"},735:(e,t,n)=>{"use strict";e.exports=n.p+"ed26d8af112c3b587aed.woff2"},797:(e,t,n)=>{"use strict";e.exports=n.p+"49ae34d4cc6b98c00c69.woff"},916:(e,t,n)=>{"use strict";e.exports=n.p+"176f8f5bd5f02b3abfcf.woff2"}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{"use strict";var e=n(336),t=n.n(e),r=n(813),i=n.n(r);let o,a,s;n(554),n(358);const c=(t,n)=>{if(null==t||null==t)return[];let r=t.toString().trim().toLowerCase(),i=[];for(let t=0;t<=r.length-2;t++){let o=e.utils.clone(n)||{};o.position=[t,t+2],o.index=i.length,i.push(new e.Token(r.slice(t,t+2),o))}return i};(()=>{let e=new XMLHttpRequest;e.open("GET","../post/index.json",!0),e.onload=function(){this.status>=200&&this.status<400?(s=JSON.parse(this.response),o=t()((function(){this.tokenizer=c,this.pipeline.reset(),this.ref("ref"),this.field("title",{boost:10}),this.field("body"),this.metadataWhitelist=["position"],s.forEach((e=>{this.add(e)}),this)}))):console.error("Error getting Hugo index flie")},e.onerror=function(){console.error("connection error")},e.send()})(),(()=>{const e=document.querySelector("#searchBox");null!==e&&e.addEventListener("keyup",(function(e){let t=document.querySelector("#searchResults"),n=e.currentTarget.value;n.length<2?t.style.display="none":((e=>{const t=document.querySelector("#searchResults"),n=document.querySelector("#searchBox").value;for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.length){let e=document.createElement("div");return e.className="searchResultPage",e.innerHTML='No results found for query "'+n+'"',void t.append(e)}let r=new(i())(document.querySelector("#searchResults"));e.slice(0,10).forEach(((e,i)=>{let o=document.createElement("div");o.className="searchResultPage";let s=a[i].matchData.metadata,c=s[Object.keys(s)[0]].body.position[0][0],l=c-50>0?c-50:0,u=document.createElement("a");u.className="searchResultTitle",u.href=e.ref,u.innerHTML=e.title,o.append(u);let h=document.createElement("div");h.className="searchResultBody",h.innerHTML=e.body.substr(l,100),o.append(h),t.append(o),r.mark(n)}))})((e=>(a=o.search((e=>{const t=e.toString().trim().toLowerCase(),n=[];for(let e=0;e<=t.length-2;e++)n.push(t.slice(e,e+2));return n.join(" ")})(e)),a.map((e=>s.filter((t=>t.ref===e.ref))[0]))))(n)),t.style.display="block")}))})()})()})(); \ No newline at end of file
diff --git a/static/js/bundle.js.LICENSE.txt b/static/js/search.bundle.js.LICENSE.txt
index 62d7c04..62d7c04 100644
--- a/static/js/bundle.js.LICENSE.txt
+++ b/static/js/search.bundle.js.LICENSE.txt
diff --git a/static/src/main.js b/static/src/main.js
index d06e500..287e377 100644
--- a/static/src/main.js
+++ b/static/src/main.js
@@ -1,153 +1,2 @@
-import lunr, { Token, utils } from 'lunr'
-import Mark from 'mark.js'
import '../css/main.css'
import '../css/syntax.css'
-
-let lunrIndex
-let lunrResult
-let pagesIndex
-
-const bigramTokeniser = (obj, metadata) => {
- if (obj == null || obj == undefined) {
- return []
- }
-
- let str = obj.toString().trim().toLowerCase()
- let tokens = []
-
- for (let i = 0; i <= str.length - 2; i++) {
- let tokenMetadata = utils.clone(metadata) || {}
- tokenMetadata['position'] = [i, i + 2]
- tokenMetadata['index'] = tokens.length
- tokens.push(new Token(str.slice(i, i + 2), tokenMetadata))
- }
-
- return tokens
-}
-
-const queryNgramSeparator = (query) => {
- const str = query.toString().trim().toLowerCase()
- const tokens = []
-
- for (let i = 0; i <= str.length - 2; i++) {
- tokens.push(str.slice(i, i + 2))
- }
-
- return tokens.join(' ')
-}
-
-const index = '../post/index.json'
-
-const initLunr = () => {
- let request = new XMLHttpRequest()
- request.open('GET', index, true)
- request.onload = function () {
- if (this.status >= 200 && this.status < 400) {
- pagesIndex = JSON.parse(this.response)
- lunrIndex = lunr(function () {
- this.tokenizer = bigramTokeniser
- this.pipeline.reset()
- this.ref('ref')
- this.field('title', { boost: 10 })
- this.field('body')
- this.metadataWhitelist = ['position']
- pagesIndex.forEach((page) => {
- this.add(page)
- }, this)
- })
- } else {
- console.error('Error getting Hugo index flie')
- }
- }
- request.onerror = function () {
- console.error('connection error')
- }
- request.send()
-}
-
-/**
- * Searching pages using lunr
- * @param {String} query Query string for searching
- * @return {Object[]} Array of search results
- */
-const search = (query) => {
- lunrResult = lunrIndex.search(queryNgramSeparator(query))
- return lunrResult.map((result) => {
- return pagesIndex.filter((page) => {
- return page.ref === result.ref
- })[0]
- })
-}
-
-const initUI = () => {
- const searchBox = document.querySelector('#searchBox')
- if (searchBox === null) {
- return
- }
- searchBox.addEventListener('keyup', function (event) {
- let searchResultsArea = document.querySelector('#searchResults')
- let query = event.currentTarget.value
-
- // Only trigger a search when 2 chars. at least have been provided
- if (query.length < 2) {
- searchResultsArea.style.display = 'none'
- return
- }
-
- // Display search results
- renderResults(search(query))
- searchResultsArea.style.display = 'block'
- })
-}
-
-/**
- * Rendering search results
- * @param {Object[]} results Array of search results
- */
-const renderResults = (results) => {
- const searchResults = document.querySelector('#searchResults')
- const query = document.querySelector('#searchBox').value
- const BODY_LENGTH = 100
- const MAX_PAGES = 10
-
- // Clear search result
- while (searchResults.firstChild)
- searchResults.removeChild(searchResults.firstChild)
-
- // Show message when results is empty
- if (!results.length) {
- let resultPage = document.createElement('div')
- resultPage.className = 'searchResultPage'
- resultPage.innerHTML = 'No results found for query "' + query + '"'
- searchResults.append(resultPage)
- return
- }
-
- let instance = new Mark(document.querySelector('#searchResults'))
- // Only show the ten first results
- results.slice(0, MAX_PAGES).forEach((result, idx) => {
- let resultPage = document.createElement('div')
- resultPage.className = 'searchResultPage'
- let metadata = lunrResult[idx].matchData.metadata
- let matchPosition = metadata[Object.keys(metadata)[0]].body.position[0][0]
- let bodyStartPosition =
- matchPosition - BODY_LENGTH / 2 > 0 ? matchPosition - BODY_LENGTH / 2 : 0
-
- let resultTitle = document.createElement('a')
- resultTitle.className = 'searchResultTitle'
- resultTitle.href = result.ref
- resultTitle.innerHTML = result.title
- resultPage.append(resultTitle)
-
- let resultBody = document.createElement('div')
- resultBody.className = 'searchResultBody'
- resultBody.innerHTML = result.body.substr(bodyStartPosition, BODY_LENGTH)
- resultPage.append(resultBody)
- searchResults.append(resultPage)
-
- instance.mark(query)
- })
-}
-
-initLunr()
-initUI()
diff --git a/static/src/search.js b/static/src/search.js
new file mode 100644
index 0000000..b06ad01
--- /dev/null
+++ b/static/src/search.js
@@ -0,0 +1,151 @@
+import lunr, { Token, utils } from 'lunr'
+import Mark from 'mark.js'
+
+let lunrIndex
+let lunrResult
+let pagesIndex
+
+const bigramTokeniser = (obj, metadata) => {
+ if (obj == null || obj == undefined) {
+ return []
+ }
+
+ let str = obj.toString().trim().toLowerCase()
+ let tokens = []
+
+ for (let i = 0; i <= str.length - 2; i++) {
+ let tokenMetadata = utils.clone(metadata) || {}
+ tokenMetadata['position'] = [i, i + 2]
+ tokenMetadata['index'] = tokens.length
+ tokens.push(new Token(str.slice(i, i + 2), tokenMetadata))
+ }
+
+ return tokens
+}
+
+const queryNgramSeparator = (query) => {
+ const str = query.toString().trim().toLowerCase()
+ const tokens = []
+
+ for (let i = 0; i <= str.length - 2; i++) {
+ tokens.push(str.slice(i, i + 2))
+ }
+
+ return tokens.join(' ')
+}
+
+const index = '../post/index.json'
+
+const initLunr = () => {
+ let request = new XMLHttpRequest()
+ request.open('GET', index, true)
+ request.onload = function () {
+ if (this.status >= 200 && this.status < 400) {
+ pagesIndex = JSON.parse(this.response)
+ lunrIndex = lunr(function () {
+ this.tokenizer = bigramTokeniser
+ this.pipeline.reset()
+ this.ref('ref')
+ this.field('title', { boost: 10 })
+ this.field('body')
+ this.metadataWhitelist = ['position']
+ pagesIndex.forEach((page) => {
+ this.add(page)
+ }, this)
+ })
+ } else {
+ console.error('Error getting Hugo index flie')
+ }
+ }
+ request.onerror = function () {
+ console.error('connection error')
+ }
+ request.send()
+}
+
+/**
+ * Searching pages using lunr
+ * @param {String} query Query string for searching
+ * @return {Object[]} Array of search results
+ */
+const search = (query) => {
+ lunrResult = lunrIndex.search(queryNgramSeparator(query))
+ return lunrResult.map((result) => {
+ return pagesIndex.filter((page) => {
+ return page.ref === result.ref
+ })[0]
+ })
+}
+
+const initUI = () => {
+ const searchBox = document.querySelector('#searchBox')
+ if (searchBox === null) {
+ return
+ }
+ searchBox.addEventListener('keyup', function (event) {
+ let searchResultsArea = document.querySelector('#searchResults')
+ let query = event.currentTarget.value
+
+ // Only trigger a search when 2 chars. at least have been provided
+ if (query.length < 2) {
+ searchResultsArea.style.display = 'none'
+ return
+ }
+
+ // Display search results
+ renderResults(search(query))
+ searchResultsArea.style.display = 'block'
+ })
+}
+
+/**
+ * Rendering search results
+ * @param {Object[]} results Array of search results
+ */
+const renderResults = (results) => {
+ const searchResults = document.querySelector('#searchResults')
+ const query = document.querySelector('#searchBox').value
+ const BODY_LENGTH = 100
+ const MAX_PAGES = 10
+
+ // Clear search result
+ while (searchResults.firstChild)
+ searchResults.removeChild(searchResults.firstChild)
+
+ // Show message when results is empty
+ if (!results.length) {
+ let resultPage = document.createElement('div')
+ resultPage.className = 'searchResultPage'
+ resultPage.innerHTML = 'No results found for query "' + query + '"'
+ searchResults.append(resultPage)
+ return
+ }
+
+ let instance = new Mark(document.querySelector('#searchResults'))
+ // Only show the ten first results
+ results.slice(0, MAX_PAGES).forEach((result, idx) => {
+ let resultPage = document.createElement('div')
+ resultPage.className = 'searchResultPage'
+ let metadata = lunrResult[idx].matchData.metadata
+ let matchPosition = metadata[Object.keys(metadata)[0]].body.position[0][0]
+ let bodyStartPosition =
+ matchPosition - BODY_LENGTH / 2 > 0 ? matchPosition - BODY_LENGTH / 2 : 0
+
+ let resultTitle = document.createElement('a')
+ resultTitle.className = 'searchResultTitle'
+ resultTitle.href = result.ref
+ resultTitle.innerHTML = result.title
+ resultPage.append(resultTitle)
+
+ let resultBody = document.createElement('div')
+ resultBody.className = 'searchResultBody'
+ resultBody.innerHTML = result.body.substr(bodyStartPosition, BODY_LENGTH)
+ resultPage.append(resultBody)
+ searchResults.append(resultPage)
+
+ instance.mark(query)
+ })
+}
+
+initLunr()
+initUI()