From a547f194096264d556517fe11abff68c7b98c1e1 Mon Sep 17 00:00:00 2001 From: casbin-bot Date: Fri, 1 Dec 2023 10:33:24 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20master=20from=20@=20casnode/ca?= =?UTF-8?q?snode-website@19e85e5866ec28062e6625f237d20170feb692e2=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 8 ++++---- ...8387f.e766bfed.js => 5118387f.3ddc25c6.js} | 2 +- ...1fea5.24f60bd8.js => a951fea5.a8e82516.js} | 2 +- ...87bcd.5b6dc4d4.js => acf87bcd.d163c68c.js} | 2 +- ...554cd.5a03796e.js => b2f554cd.52e1a8f1.js} | 2 +- assets/js/fa4d91bf.0af820ca.js | 1 - assets/js/fa4d91bf.5b920aeb.js | 1 + .../js/{main.8929d8f3.js => main.7f58b5f4.js} | 4 ++-- ...CENSE.txt => main.7f58b5f4.js.LICENSE.txt} | 0 ...n.4c179bc4.js => runtime~main.d5139698.js} | 2 +- blog/archive/index.html | 8 ++++---- blog/atom.xml | 4 ++-- blog/index.html | 10 +++++----- blog/rss.xml | 4 ++-- blog/tags/casnode/index.html | 10 +++++----- blog/tags/index.html | 8 ++++---- blog/tags/welcome/index.html | 10 +++++----- blog/welcome/index.html | 12 ++++++------ de/404.html | 4 ++-- ...c70d7.fad9e2f2.js => 291c70d7.50501ed7.js} | 2 +- ...f8717.d82f88b7.js => 320f8717.0a4a335f.js} | 2 +- ...753dd.ef5717cd.js => 9c8753dd.e6666fd3.js} | 2 +- ...d91da.64a5022e.js => d4ad91da.07468d1e.js} | 2 +- de/assets/js/f454b1d3.c23a7019.js | 1 + de/assets/js/f454b1d3.e9c117ab.js | 1 - ...n.05c2091c.js => runtime~main.bc8aacf3.js} | 2 +- de/blog/archive/index.html | 4 ++-- de/blog/atom.xml | 4 ++-- de/blog/index.html | 6 +++--- de/blog/rss.xml | 4 ++-- de/blog/tags/casnode/index.html | 6 +++--- de/blog/tags/index.html | 4 ++-- de/blog/tags/willkommen/index.html | 6 +++--- de/blog/welcome/index.html | 8 ++++---- de/docs/api-overview/index.html | 4 ++-- de/docs/architecture-overview/index.html | 4 ++-- de/docs/bt-panel/index.html | 6 +++--- de/docs/category/api-reference/index.html | 4 ++-- de/docs/category/architecture/index.html | 4 ++-- de/docs/category/getting-started/index.html | 4 ++-- de/docs/controllers/index.html | 4 ++-- de/docs/docker/index.html | 4 ++-- de/docs/installation/index.html | 6 +++--- de/docs/internationalization/index.html | 4 ++-- de/docs/main-features/index.html | 4 ++-- de/docs/main-package/index.html | 4 ++-- de/docs/migration/index.html | 4 ++-- de/docs/overview/index.html | 4 ++-- de/docs/provider/index.html | 4 ++-- de/docs/routers/index.html | 4 ++-- de/docs/server-side-rendering/index.html | 4 ++-- de/help/index.html | 4 ++-- de/index.html | 4 ++-- de/pdf/index.html | 4 ++-- de/search/index.html | 4 ++-- docs/api-overview/index.html | 8 ++++---- docs/architecture-overview/index.html | 8 ++++---- docs/bt-panel/index.html | 10 +++++----- docs/category/api-reference/index.html | 8 ++++---- docs/category/architecture/index.html | 8 ++++---- docs/category/getting-started/index.html | 8 ++++---- docs/controllers/index.html | 8 ++++---- docs/docker/index.html | 8 ++++---- docs/installation/index.html | 10 +++++----- docs/internationalization/index.html | 8 ++++---- docs/main-features/index.html | 8 ++++---- docs/main-package/index.html | 8 ++++---- docs/migration/index.html | 8 ++++---- docs/overview/index.html | 8 ++++---- docs/provider/index.html | 8 ++++---- docs/routers/index.html | 8 ++++---- docs/server-side-rendering/index.html | 8 ++++---- fr/404.html | 4 ++-- ...36194.976e136c.js => 15636194.79bfae75.js} | 2 +- ...e50a7.07587248.js => 7cee50a7.18f042bb.js} | 2 +- fr/assets/js/8bb48cca.6004594f.js | 1 + fr/assets/js/8bb48cca.d5c580cb.js | 1 - ...3ded0.7336af70.js => cf23ded0.f1eed9de.js} | 2 +- ...61738.10243bc1.js => eee61738.3e9054f4.js} | 2 +- ...n.3c61ac78.js => runtime~main.c6ea9c79.js} | 2 +- fr/blog/archive/index.html | 4 ++-- fr/blog/atom.xml | 4 ++-- fr/blog/bienvenue/index.html | 8 ++++---- fr/blog/index.html | 6 +++--- fr/blog/rss.xml | 4 ++-- fr/blog/tags/bienvenu/index.html | 6 +++--- fr/blog/tags/casnode/index.html | 6 +++--- fr/blog/tags/index.html | 4 ++-- fr/docs/api-overview/index.html | 4 ++-- fr/docs/architecture-overview/index.html | 4 ++-- fr/docs/bt-panel/index.html | 6 +++--- fr/docs/category/api-reference/index.html | 4 ++-- fr/docs/category/architecture/index.html | 4 ++-- fr/docs/category/getting-started/index.html | 4 ++-- fr/docs/controllers/index.html | 4 ++-- fr/docs/docker/index.html | 4 ++-- fr/docs/installation/index.html | 6 +++--- fr/docs/internationalization/index.html | 4 ++-- fr/docs/main-features/index.html | 4 ++-- fr/docs/main-package/index.html | 4 ++-- fr/docs/migration/index.html | 4 ++-- fr/docs/overview/index.html | 4 ++-- fr/docs/provider/index.html | 4 ++-- fr/docs/routers/index.html | 4 ++-- fr/docs/server-side-rendering/index.html | 4 ++-- fr/help/index.html | 4 ++-- fr/index.html | 4 ++-- fr/pdf/index.html | 4 ++-- fr/search/index.html | 4 ++-- help/index.html | 8 ++++---- index.html | 8 ++++---- ja/404.html | 4 ++-- ...2eb6b.2dac24f4.js => 1c72eb6b.ce364933.js} | 2 +- ja/assets/js/1f997b25.730ac864.js | 1 + ja/assets/js/1f997b25.e32b616d.js | 1 - ...201f6.3734d8fc.js => 326201f6.51f09791.js} | 2 +- ...57a3e.24fd1f15.js => 8d057a3e.4641acb3.js} | 2 +- ...922b4.1c11ab2b.js => cc7922b4.49ca71cb.js} | 2 +- ...n.cb5fa171.js => runtime~main.d074a913.js} | 2 +- ja/blog/archive/index.html | 4 ++-- ja/blog/atom.xml | 4 ++-- ja/blog/index.html | 6 +++--- ja/blog/rss.xml | 4 ++-- ja/blog/tags/casnode/index.html | 6 +++--- ja/blog/tags/index.html | 4 ++-- .../index.html" | 6 +++--- ja/blog/welcomes/index.html | 8 ++++---- ja/docs/api-overview/index.html | 4 ++-- ja/docs/architecture-overview/index.html | 4 ++-- ja/docs/bt-panel/index.html | 6 +++--- ja/docs/category/api-reference/index.html | 4 ++-- ja/docs/category/architecture/index.html | 4 ++-- ja/docs/category/getting-started/index.html | 4 ++-- ja/docs/controllers/index.html | 4 ++-- ja/docs/docker/index.html | 4 ++-- ja/docs/installation/index.html | 6 +++--- ja/docs/internationalization/index.html | 4 ++-- ja/docs/main-features/index.html | 4 ++-- ja/docs/main-package/index.html | 4 ++-- ja/docs/migration/index.html | 4 ++-- ja/docs/overview/index.html | 4 ++-- ja/docs/provider/index.html | 4 ++-- ja/docs/routers/index.html | 4 ++-- ja/docs/server-side-rendering/index.html | 4 ++-- ja/help/index.html | 4 ++-- ja/index.html | 4 ++-- ja/pdf/index.html | 4 ++-- ja/search/index.html | 4 ++-- ko/404.html | 4 ++-- ...c10b8.9e928676.js => 2cfc10b8.211b3b03.js} | 2 +- ...92243.53a87222.js => 4a192243.95aa187c.js} | 2 +- ...2ca59.eb432129.js => 52a2ca59.2a4b62e8.js} | 2 +- ...35554.4a20e3ea.js => 57135554.34049a2e.js} | 2 +- ko/assets/js/9226f88e.0015ff4a.js | 1 - ko/assets/js/9226f88e.44e842f4.js | 1 + ...n.bb5d5ca0.js => runtime~main.e9735d81.js} | 2 +- ko/blog/archive/index.html | 4 ++-- ko/blog/atom.xml | 4 ++-- ko/blog/index.html | 6 +++--- ko/blog/rss.xml | 4 ++-- ko/blog/tags/casnode/index.html | 6 +++--- ko/blog/tags/index.html | 4 ++-- ko/blog/tags/welcome/index.html | 6 +++--- ko/blog/welcome/index.html | 8 ++++---- ko/docs/api-overview/index.html | 4 ++-- ko/docs/architecture-overview/index.html | 4 ++-- ko/docs/bt-panel/index.html | 6 +++--- ko/docs/category/api-reference/index.html | 4 ++-- ko/docs/category/architecture/index.html | 4 ++-- ko/docs/category/getting-started/index.html | 4 ++-- ko/docs/controllers/index.html | 4 ++-- ko/docs/docker/index.html | 4 ++-- ko/docs/installation/index.html | 6 +++--- ko/docs/internationalization/index.html | 4 ++-- ko/docs/main-features/index.html | 4 ++-- ko/docs/main-package/index.html | 4 ++-- ko/docs/migration/index.html | 4 ++-- ko/docs/overview/index.html | 4 ++-- ko/docs/provider/index.html | 4 ++-- ko/docs/routers/index.html | 4 ++-- ko/docs/server-side-rendering/index.html | 4 ++-- ko/help/index.html | 4 ++-- ko/index.html | 4 ++-- ko/pdf/index.html | 4 ++-- ko/search/index.html | 4 ++-- pdf/Casnode_Docs.pdf | Bin 554023 -> 554072 bytes pdf/Casnode_Docs_zh.pdf | Bin 2648993 -> 2649035 bytes pdf/index.html | 8 ++++---- ru/404.html | 4 ++-- ...69174.7fb0dec1.js => 3f569174.56e318e3.js} | 2 +- ...f237e.24900694.js => 54df237e.7bcf32eb.js} | 2 +- ...b93ca.fcaa1f85.js => 696b93ca.1b124659.js} | 2 +- ...b720e.d5aa19ca.js => 776b720e.60c6848b.js} | 2 +- ru/assets/js/fb2aa37a.0a0ba1ed.js | 1 - ru/assets/js/fb2aa37a.bd9747ac.js | 1 + ...n.d052ae1e.js => runtime~main.c5299f57.js} | 2 +- ru/blog/archive/index.html | 4 ++-- ru/blog/atom.xml | 4 ++-- ru/blog/index.html | 6 +++--- ru/blog/rss.xml | 4 ++-- ru/blog/tags/casnode/index.html | 6 +++--- ru/blog/tags/index.html | 4 ++-- .../index.html" | 6 +++--- ru/blog/welcome/index.html | 8 ++++---- ru/docs/api-overview/index.html | 4 ++-- ru/docs/architecture-overview/index.html | 4 ++-- ru/docs/bt-panel/index.html | 6 +++--- ru/docs/category/api-reference/index.html | 4 ++-- ru/docs/category/architecture/index.html | 4 ++-- ru/docs/category/getting-started/index.html | 4 ++-- ru/docs/controllers/index.html | 4 ++-- ru/docs/docker/index.html | 4 ++-- ru/docs/installation/index.html | 6 +++--- ru/docs/internationalization/index.html | 4 ++-- ru/docs/main-features/index.html | 4 ++-- ru/docs/main-package/index.html | 4 ++-- ru/docs/migration/index.html | 4 ++-- ru/docs/overview/index.html | 4 ++-- ru/docs/provider/index.html | 4 ++-- ru/docs/routers/index.html | 4 ++-- ru/docs/server-side-rendering/index.html | 4 ++-- ru/help/index.html | 4 ++-- ru/index.html | 4 ++-- ru/pdf/index.html | 4 ++-- ru/search/index.html | 4 ++-- search/index.html | 8 ++++---- zh/404.html | 4 ++-- zh/assets/js/230e0071.5c3dc096.js | 1 + zh/assets/js/230e0071.a9cd861f.js | 1 - ...ecde9.31dfed74.js => 4cfecde9.8c9f78c3.js} | 2 +- ...938f5.87aac6de.js => 8e8938f5.5f513afc.js} | 2 +- ...d70e2.8ce68856.js => 927d70e2.5f6c46ff.js} | 2 +- ...3d7fb.528c7b50.js => b3b3d7fb.766db1e5.js} | 2 +- ...n.2a252cc1.js => runtime~main.050ede2a.js} | 2 +- zh/blog/archive/index.html | 4 ++-- zh/blog/atom.xml | 4 ++-- zh/blog/index.html | 6 +++--- zh/blog/rss.xml | 4 ++-- zh/blog/tags/casnode/index.html | 6 +++--- zh/blog/tags/index.html | 4 ++-- .../tags/\346\254\242\350\277\216/index.html" | 6 +++--- "zh/blog/\346\254\242\350\277\216/index.html" | 8 ++++---- zh/docs/api-overview/index.html | 4 ++-- zh/docs/architecture-overview/index.html | 4 ++-- zh/docs/bt-panel/index.html | 6 +++--- zh/docs/category/api-reference/index.html | 4 ++-- zh/docs/category/architecture/index.html | 4 ++-- zh/docs/category/getting-started/index.html | 4 ++-- zh/docs/controllers/index.html | 4 ++-- zh/docs/docker/index.html | 4 ++-- zh/docs/installation/index.html | 6 +++--- zh/docs/internationalization/index.html | 4 ++-- zh/docs/main-features/index.html | 4 ++-- zh/docs/main-package/index.html | 4 ++-- zh/docs/migration/index.html | 4 ++-- zh/docs/overview/index.html | 4 ++-- zh/docs/provider/index.html | 4 ++-- zh/docs/routers/index.html | 4 ++-- zh/docs/server-side-rendering/index.html | 4 ++-- zh/help/index.html | 4 ++-- zh/index.html | 4 ++-- zh/pdf/index.html | 4 ++-- zh/search/index.html | 4 ++-- 263 files changed, 569 insertions(+), 569 deletions(-) rename assets/js/{5118387f.e766bfed.js => 5118387f.3ddc25c6.js} (67%) rename assets/js/{a951fea5.24f60bd8.js => a951fea5.a8e82516.js} (98%) rename assets/js/{acf87bcd.5b6dc4d4.js => acf87bcd.d163c68c.js} (98%) rename assets/js/{b2f554cd.5a03796e.js => b2f554cd.52e1a8f1.js} (94%) delete mode 100644 assets/js/fa4d91bf.0af820ca.js create mode 100644 assets/js/fa4d91bf.5b920aeb.js rename assets/js/{main.8929d8f3.js => main.7f58b5f4.js} (99%) rename assets/js/{main.8929d8f3.js.LICENSE.txt => main.7f58b5f4.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.4c179bc4.js => runtime~main.d5139698.js} (94%) rename de/assets/js/{291c70d7.fad9e2f2.js => 291c70d7.50501ed7.js} (94%) rename de/assets/js/{320f8717.d82f88b7.js => 320f8717.0a4a335f.js} (67%) rename de/assets/js/{9c8753dd.ef5717cd.js => 9c8753dd.e6666fd3.js} (98%) rename de/assets/js/{d4ad91da.64a5022e.js => d4ad91da.07468d1e.js} (98%) create mode 100644 de/assets/js/f454b1d3.c23a7019.js delete mode 100644 de/assets/js/f454b1d3.e9c117ab.js rename de/assets/js/{runtime~main.05c2091c.js => runtime~main.bc8aacf3.js} (95%) rename fr/assets/js/{15636194.976e136c.js => 15636194.79bfae75.js} (98%) rename fr/assets/js/{7cee50a7.07587248.js => 7cee50a7.18f042bb.js} (67%) create mode 100644 fr/assets/js/8bb48cca.6004594f.js delete mode 100644 fr/assets/js/8bb48cca.d5c580cb.js rename fr/assets/js/{cf23ded0.7336af70.js => cf23ded0.f1eed9de.js} (94%) rename fr/assets/js/{eee61738.10243bc1.js => eee61738.3e9054f4.js} (98%) rename fr/assets/js/{runtime~main.3c61ac78.js => runtime~main.c6ea9c79.js} (93%) rename ja/assets/js/{1c72eb6b.2dac24f4.js => 1c72eb6b.ce364933.js} (98%) create mode 100644 ja/assets/js/1f997b25.730ac864.js delete mode 100644 ja/assets/js/1f997b25.e32b616d.js rename ja/assets/js/{326201f6.3734d8fc.js => 326201f6.51f09791.js} (67%) rename ja/assets/js/{8d057a3e.24fd1f15.js => 8d057a3e.4641acb3.js} (98%) rename ja/assets/js/{cc7922b4.1c11ab2b.js => cc7922b4.49ca71cb.js} (96%) rename ja/assets/js/{runtime~main.cb5fa171.js => runtime~main.d074a913.js} (65%) rename ko/assets/js/{2cfc10b8.9e928676.js => 2cfc10b8.211b3b03.js} (98%) rename ko/assets/js/{4a192243.53a87222.js => 4a192243.95aa187c.js} (67%) rename ko/assets/js/{52a2ca59.eb432129.js => 52a2ca59.2a4b62e8.js} (94%) rename ko/assets/js/{57135554.4a20e3ea.js => 57135554.34049a2e.js} (98%) delete mode 100644 ko/assets/js/9226f88e.0015ff4a.js create mode 100644 ko/assets/js/9226f88e.44e842f4.js rename ko/assets/js/{runtime~main.bb5d5ca0.js => runtime~main.e9735d81.js} (94%) rename ru/assets/js/{3f569174.7fb0dec1.js => 3f569174.56e318e3.js} (98%) rename ru/assets/js/{54df237e.24900694.js => 54df237e.7bcf32eb.js} (98%) rename ru/assets/js/{696b93ca.fcaa1f85.js => 696b93ca.1b124659.js} (97%) rename ru/assets/js/{776b720e.d5aa19ca.js => 776b720e.60c6848b.js} (67%) delete mode 100644 ru/assets/js/fb2aa37a.0a0ba1ed.js create mode 100644 ru/assets/js/fb2aa37a.bd9747ac.js rename ru/assets/js/{runtime~main.d052ae1e.js => runtime~main.c5299f57.js} (80%) create mode 100644 zh/assets/js/230e0071.5c3dc096.js delete mode 100644 zh/assets/js/230e0071.a9cd861f.js rename zh/assets/js/{4cfecde9.31dfed74.js => 4cfecde9.8c9f78c3.js} (98%) rename zh/assets/js/{8e8938f5.87aac6de.js => 8e8938f5.5f513afc.js} (67%) rename zh/assets/js/{927d70e2.8ce68856.js => 927d70e2.5f6c46ff.js} (95%) rename zh/assets/js/{b3b3d7fb.528c7b50.js => b3b3d7fb.766db1e5.js} (98%) rename zh/assets/js/{runtime~main.2a252cc1.js => runtime~main.050ede2a.js} (95%) diff --git a/404.html b/404.html index 4a9b935d..9bed633e 100644 --- a/404.html +++ b/404.html @@ -13,8 +13,8 @@ - - + +
@@ -23,7 +23,7 @@
- - + + \ No newline at end of file diff --git a/assets/js/5118387f.e766bfed.js b/assets/js/5118387f.3ddc25c6.js similarity index 67% rename from assets/js/5118387f.e766bfed.js rename to assets/js/5118387f.3ddc25c6.js index 127da187..9846b714 100644 --- a/assets/js/5118387f.e766bfed.js +++ b/assets/js/5118387f.3ddc25c6.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[464],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),d=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=d(n),m=o,h=u["".concat(s,".").concat(m)]||u[m]||c[m]||r;return n?a.createElement(h,l(l({ref:t},p),{},{components:n})):a.createElement(h,l({ref:t},p))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,l=new Array(r);l[0]=u;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var a=n(7462),o=(n(7294),n(3905));const r={title:"BT panel",description:"Install Casnode under the Linux BT panel",keywords:["bt panel"],authors:["oranges-eating"]},l=void 0,i={unversionedId:"bt-panel",id:"bt-panel",title:"BT panel",description:"Install Casnode under the Linux BT panel",source:"@site/docs/bt-panel.md",sourceDirName:".",slug:"/bt-panel",permalink:"/docs/bt-panel",draft:!1,editUrl:"https://github.com/casnode/casnode-website/edit/master/docs/bt-panel.md",tags:[],version:"current",frontMatter:{title:"BT panel",description:"Install Casnode under the Linux BT panel",keywords:["bt panel"],authors:["oranges-eating"]},sidebar:"tutorialSidebar",previous:{title:"Installation",permalink:"/docs/installation"},next:{title:"Docker",permalink:"/docs/docker"}},s={},d=[{value:"Install Casnode under the Linux BT panel",id:"install-casnode-under-the-linux-bt-panel",level:2},{value:"Prepare work",id:"prepare-work",level:3},{value:"Install Golang",id:"install-golang",level:4},{value:"Git clone Casnode & Casdoor",id:"git-clone-casnode--casdoor",level:4},{value:"Configure Casdoor",id:"configure-casdoor",level:3},{value:"Run Casdoor",id:"run-casdoor",level:4},{value:"Configure Casnode in Casdoor",id:"configure-casnode-in-casdoor",level:4},{value:"Configure Casnode",id:"configure-casnode",level:3}],p={toc:d};function c(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The tutorial environment is Ubuntu 20.04")),(0,o.kt)("h2",{id:"install-casnode-under-the-linux-bt-panel"},"Install Casnode under the Linux BT panel"),(0,o.kt)("h3",{id:"prepare-work"},"Prepare work"),(0,o.kt)("p",null,"After installing the BT panel, the browser visits the BT panel, selects the software store, searches for and installs MySQL, and then searches for node, you can see that there is a PM2 manager, install the PM2 manager."),(0,o.kt)("p",null,"After the installation is complete, disconnect from the server or restart the server, node will be automatically written into the environment variable. "),(0,o.kt)("p",null,"Enter ",(0,o.kt)("inlineCode",{parentName:"p"},"git --version")," to make sure git is , if the prompts Command ",(0,o.kt)("inlineCode",{parentName:"p"},"git")," not found, use ",(0,o.kt)("inlineCode",{parentName:"p"},"apt-get install git")," to install git. "),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"To access the Casnode successfully, you need to open the ",(0,o.kt)("strong",{parentName:"p"},"7001")," and ",(0,o.kt)("strong",{parentName:"p"},"8000")," port.")),(0,o.kt)("h4",{id:"install-golang"},"Install Golang"),(0,o.kt)("p",null,"The root user executes the following commands to download and decompress the Go binary file to the ",(0,o.kt)("strong",{parentName:"p"},"/usr/local")," directory. "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"wget -c https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local\n")),(0,o.kt)("p",null,"Then we need to add Golang to the environment variables, edit ",(0,o.kt)("inlineCode",{parentName:"p"},"/etc/profile"),", add the following code in the last line of the file."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"export GOROOT=/usr/local/go\nexport PATH=$PATH:$GOROOT/bin\n")),(0,o.kt)("p",null,"Then use command ",(0,o.kt)("inlineCode",{parentName:"p"},"source /etc/profile")," to make the newly added environment variables work."),(0,o.kt)("p",null,"Now, enter ",(0,o.kt)("inlineCode",{parentName:"p"},"go version"),", you will see the go version, and we installed it successfully. If you can\u2019t connect to GitHub, you can set up the mirror. The command is"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"go env -w GOPROXY=https://goproxy.cn,direct\n")),(0,o.kt)("h4",{id:"git-clone-casnode--casdoor"},"Git clone Casnode & Casdoor"),(0,o.kt)("p",null,"Next, execute the following commands in the folder where you want to store the project. "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com/casbin/casdoor.git\ngit clone https://github.com/casbin/casnode.git\n")),(0,o.kt)("p",null,"Now, you can see there are two folders, Casnode and Casdoor."),(0,o.kt)("h3",{id:"configure-casdoor"},"Configure Casdoor"),(0,o.kt)("h4",{id:"run-casdoor"},"Run Casdoor"),(0,o.kt)("p",null,"We first configure Casdoor."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"cd casdoor\ngo build main.go\n")),(0,o.kt)("p",null,"Then edit ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),", find"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-conf"},"dataSourceName = root:123@tcp(localhost:3306)/\n")),(0,o.kt)("p",null,"Change MySQL password provided by the BT panel as ",(0,o.kt)("strong",{parentName:"p"},"123"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"cd web\nnpm install\nnpm run build\ncd ..\nsudo nohup ./main &\n")),(0,o.kt)("h4",{id:"configure-casnode-in-casdoor"},"Configure Casnode in Casdoor"),(0,o.kt)("p",null,"Now that Casdoor has been configured, visit ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:8000"},"http://your-ip:8000")," to configure Casnode. "),(0,o.kt)("p",null,"The default administrator login account is ",(0,o.kt)("inlineCode",{parentName:"p"},"admin/123"),"."),(0,o.kt)("p",null,"Click Organization, then click Add, click Edit for the added organization, and change the name to the organization name you want. Here I set it to casnode, and then click Save."),(0,o.kt)("p",null,"Click Applications, then click Add, for the application you just added, click Edit, change the name to the application name you want, I changed it to app-casnode. Click on the organization, select the organization you just added, my organization is casnode. Click Redirect URLs, modify the link in the box to ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:7000/callback.Finally"},"http://your-ip:7000/callback.Finally"),", remember the Client ID and Client Secret, and click Save."),(0,o.kt)("p",null,"Click Users, click Add, then click Edit, modify the added user, click Organization, select casnode, and click is admin. Finally click Save, now your organization has an administrator account."),(0,o.kt)("br",null),(0,o.kt)("h3",{id:"configure-casnode"},"Configure Casnode"),(0,o.kt)("p",null,"Next we configure in Casnode."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"cd casnode\ngo build main.go\n")),(0,o.kt)("p",null,"Edit ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),", find"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-conf"},"dataSourceName = root:123@tcp(localhost:3306)/\n")),(0,o.kt)("p",null,"Change MySQL password provided by the BT panel to ",(0,o.kt)("strong",{parentName:"p"},"123"),", then find casdoorEndpoint, modify it to ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:8000"},"http://your-ip:8000")," (Casdoor backend address), find ",(0,o.kt)("strong",{parentName:"p"},"ClientId")," and ",(0,o.kt)("strong",{parentName:"p"},"ClientSecret"),", and modify them to the previously remembered Application client id and client secret, find casdoorOrganization, modify the organization name to your set. Save and exit."),(0,o.kt)("p",null,"Edit ",(0,o.kt)("inlineCode",{parentName:"p"},"web/src/Conf.js"),", modify ",(0,o.kt)("inlineCode",{parentName:"p"},"serverUrl")," to ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:8000"},"http://your-ip:8000")," (Casdoor front-end access address), modify ",(0,o.kt)("inlineCode",{parentName:"p"},"ClientId")," to the ClientId of the application just added, modify ",(0,o.kt)("inlineCode",{parentName:"p"},"appName")," to the set application name, and modify ",(0,o.kt)("inlineCode",{parentName:"p"},"organizationName")," to the set organization name."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install\nnpm run build\ncd ..\nnohup ./main &\n")),(0,o.kt)("p",null,"Next visit ",(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"http://your-ip:7000"},"http://your-ip:7000")),", click login, enter the account you added before, user_1/123, you have now successfully logged in to Casnode. "),(0,o.kt)("p",null,"For more settings please see ",(0,o.kt)("a",{parentName:"p",href:"https://casnode.org/docs/overview"},"casnode.org"),"."))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[464],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),d=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=d(n),m=o,h=u["".concat(s,".").concat(m)]||u[m]||c[m]||r;return n?a.createElement(h,l(l({ref:t},p),{},{components:n})):a.createElement(h,l({ref:t},p))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,l=new Array(r);l[0]=u;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var a=n(7462),o=(n(7294),n(3905));const r={title:"BT panel",description:"Install Casnode under the Linux BT panel",keywords:["bt panel"],authors:["oranges-eating"]},l=void 0,i={unversionedId:"bt-panel",id:"bt-panel",title:"BT panel",description:"Install Casnode under the Linux BT panel",source:"@site/docs/bt-panel.md",sourceDirName:".",slug:"/bt-panel",permalink:"/docs/bt-panel",draft:!1,editUrl:"https://github.com/casnode/casnode-website/edit/master/docs/bt-panel.md",tags:[],version:"current",frontMatter:{title:"BT panel",description:"Install Casnode under the Linux BT panel",keywords:["bt panel"],authors:["oranges-eating"]},sidebar:"tutorialSidebar",previous:{title:"Installation",permalink:"/docs/installation"},next:{title:"Docker",permalink:"/docs/docker"}},s={},d=[{value:"Install Casnode under the Linux BT panel",id:"install-casnode-under-the-linux-bt-panel",level:2},{value:"Prepare work",id:"prepare-work",level:3},{value:"Install Golang",id:"install-golang",level:4},{value:"Git clone Casnode & Casdoor",id:"git-clone-casnode--casdoor",level:4},{value:"Configure Casdoor",id:"configure-casdoor",level:3},{value:"Run Casdoor",id:"run-casdoor",level:4},{value:"Configure Casnode in Casdoor",id:"configure-casnode-in-casdoor",level:4},{value:"Configure Casnode",id:"configure-casnode",level:3}],p={toc:d};function c(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The tutorial environment is Ubuntu 20.04")),(0,o.kt)("h2",{id:"install-casnode-under-the-linux-bt-panel"},"Install Casnode under the Linux BT panel"),(0,o.kt)("h3",{id:"prepare-work"},"Prepare work"),(0,o.kt)("p",null,"After installing the BT panel, the browser visits the BT panel, selects the software store, searches for and installs MySQL, and then searches for node, you can see that there is a PM2 manager, install the PM2 manager."),(0,o.kt)("p",null,"After the installation is complete, disconnect from the server or restart the server, node will be automatically written into the environment variable. "),(0,o.kt)("p",null,"Enter ",(0,o.kt)("inlineCode",{parentName:"p"},"git --version")," to make sure git is , if the prompts Command ",(0,o.kt)("inlineCode",{parentName:"p"},"git")," not found, use ",(0,o.kt)("inlineCode",{parentName:"p"},"apt-get install git")," to install git. "),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"To access the Casnode successfully, you need to open the ",(0,o.kt)("strong",{parentName:"p"},"7001")," and ",(0,o.kt)("strong",{parentName:"p"},"8000")," port.")),(0,o.kt)("h4",{id:"install-golang"},"Install Golang"),(0,o.kt)("p",null,"The root user executes the following commands to download and decompress the Go binary file to the ",(0,o.kt)("strong",{parentName:"p"},"/usr/local")," directory. "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"wget -c https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local\n")),(0,o.kt)("p",null,"Then we need to add Golang to the environment variables, edit ",(0,o.kt)("inlineCode",{parentName:"p"},"/etc/profile"),", add the following code in the last line of the file."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"export GOROOT=/usr/local/go\nexport PATH=$PATH:$GOROOT/bin\n")),(0,o.kt)("p",null,"Then use command ",(0,o.kt)("inlineCode",{parentName:"p"},"source /etc/profile")," to make the newly added environment variables work."),(0,o.kt)("p",null,"Now, enter ",(0,o.kt)("inlineCode",{parentName:"p"},"go version"),", you will see the go version, and we installed it successfully. If you can\u2019t connect to GitHub, you can set up the mirror. The command is"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"go env -w GOPROXY=https://goproxy.cn,direct\n")),(0,o.kt)("h4",{id:"git-clone-casnode--casdoor"},"Git clone Casnode & Casdoor"),(0,o.kt)("p",null,"Next, execute the following commands in the folder where you want to store the project. "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com/casbin/casdoor.git\ngit clone https://github.com/casbin/casnode.git\n")),(0,o.kt)("p",null,"Now, you can see there are two folders, Casnode and Casdoor."),(0,o.kt)("h3",{id:"configure-casdoor"},"Configure Casdoor"),(0,o.kt)("h4",{id:"run-casdoor"},"Run Casdoor"),(0,o.kt)("p",null,"We first configure Casdoor."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"cd casdoor\ngo build main.go\n")),(0,o.kt)("p",null,"Then edit ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),", find"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-conf"},"dataSourceName = root:123@tcp(localhost:3306)/\n")),(0,o.kt)("p",null,"Change MySQL password provided by the BT panel as ",(0,o.kt)("strong",{parentName:"p"},"123"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"cd web\nyarn install\nyarn build\ncd ..\nsudo nohup ./main &\n")),(0,o.kt)("h4",{id:"configure-casnode-in-casdoor"},"Configure Casnode in Casdoor"),(0,o.kt)("p",null,"Now that Casdoor has been configured, visit ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:8000"},"http://your-ip:8000")," to configure Casnode. "),(0,o.kt)("p",null,"The default administrator login account is ",(0,o.kt)("inlineCode",{parentName:"p"},"admin/123"),"."),(0,o.kt)("p",null,"Click Organization, then click Add, click Edit for the added organization, and change the name to the organization name you want. Here I set it to casnode, and then click Save."),(0,o.kt)("p",null,"Click Applications, then click Add, for the application you just added, click Edit, change the name to the application name you want, I changed it to app-casnode. Click on the organization, select the organization you just added, my organization is casnode. Click Redirect URLs, modify the link in the box to ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:7000/callback.Finally"},"http://your-ip:7000/callback.Finally"),", remember the Client ID and Client Secret, and click Save."),(0,o.kt)("p",null,"Click Users, click Add, then click Edit, modify the added user, click Organization, select casnode, and click is admin. Finally click Save, now your organization has an administrator account."),(0,o.kt)("br",null),(0,o.kt)("h3",{id:"configure-casnode"},"Configure Casnode"),(0,o.kt)("p",null,"Next we configure in Casnode."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"cd casnode\ngo build main.go\n")),(0,o.kt)("p",null,"Edit ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),", find"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-conf"},"dataSourceName = root:123@tcp(localhost:3306)/\n")),(0,o.kt)("p",null,"Change MySQL password provided by the BT panel to ",(0,o.kt)("strong",{parentName:"p"},"123"),", then find casdoorEndpoint, modify it to ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:8000"},"http://your-ip:8000")," (Casdoor backend address), find ",(0,o.kt)("strong",{parentName:"p"},"ClientId")," and ",(0,o.kt)("strong",{parentName:"p"},"ClientSecret"),", and modify them to the previously remembered Application client id and client secret, find casdoorOrganization, modify the organization name to your set. Save and exit."),(0,o.kt)("p",null,"Edit ",(0,o.kt)("inlineCode",{parentName:"p"},"web/src/Conf.js"),", modify ",(0,o.kt)("inlineCode",{parentName:"p"},"serverUrl")," to ",(0,o.kt)("a",{parentName:"p",href:"http://your-ip:8000"},"http://your-ip:8000")," (Casdoor front-end access address), modify ",(0,o.kt)("inlineCode",{parentName:"p"},"ClientId")," to the ClientId of the application just added, modify ",(0,o.kt)("inlineCode",{parentName:"p"},"appName")," to the set application name, and modify ",(0,o.kt)("inlineCode",{parentName:"p"},"organizationName")," to the set organization name."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"yarn install\nyarn build\ncd ..\nnohup ./main &\n")),(0,o.kt)("p",null,"Next visit ",(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"http://your-ip:7000"},"http://your-ip:7000")),", click login, enter the account you added before, user_1/123, you have now successfully logged in to Casnode. "),(0,o.kt)("p",null,"For more settings please see ",(0,o.kt)("a",{parentName:"p",href:"https://casnode.org/docs/overview"},"casnode.org"),"."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a951fea5.24f60bd8.js b/assets/js/a951fea5.a8e82516.js similarity index 98% rename from assets/js/a951fea5.24f60bd8.js rename to assets/js/a951fea5.a8e82516.js index a745fb48..6dddb70d 100644 --- a/assets/js/a951fea5.24f60bd8.js +++ b/assets/js/a951fea5.a8e82516.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[9432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=u(r),b=o,f=p["".concat(l,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},s),{},{components:r})):n.createElement(f,c({ref:t},s))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,c[1]=i;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const a={slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casnode/casnode-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casnode website!",date:"2023-12-01T09:55:18.000Z",formattedDate:"December 1, 2023",tags:[{label:"casnode",permalink:"/blog/tags/casnode"},{label:"welcome",permalink:"/blog/tags/welcome"}],readingTime:.065,hasTruncateMarker:!1,authors:[{name:"Kininaru",title:"Casbin Member",url:"https://github.com/Kininaru",imageURL:"https://avatars.githubusercontent.com/u/42638489?v=4"}],frontMatter:{slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]}},l={authorsImageUrls:[void 0]},u=[],s={toc:u};function m(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casnode website!"),(0,o.kt)("p",null,"You can find technical documents and Casnode APIs here!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[9432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=u(r),b=o,f=p["".concat(l,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},s),{},{components:r})):n.createElement(f,c({ref:t},s))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,c[1]=i;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const a={slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casnode/casnode-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casnode website!",date:"2023-12-01T10:28:20.000Z",formattedDate:"December 1, 2023",tags:[{label:"casnode",permalink:"/blog/tags/casnode"},{label:"welcome",permalink:"/blog/tags/welcome"}],readingTime:.065,hasTruncateMarker:!1,authors:[{name:"Kininaru",title:"Casbin Member",url:"https://github.com/Kininaru",imageURL:"https://avatars.githubusercontent.com/u/42638489?v=4"}],frontMatter:{slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]}},l={authorsImageUrls:[void 0]},u=[],s={toc:u};function m(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casnode website!"),(0,o.kt)("p",null,"You can find technical documents and Casnode APIs here!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/acf87bcd.5b6dc4d4.js b/assets/js/acf87bcd.d163c68c.js similarity index 98% rename from assets/js/acf87bcd.5b6dc4d4.js rename to assets/js/acf87bcd.d163c68c.js index 4c3f252e..76b09e73 100644 --- a/assets/js/acf87bcd.5b6dc4d4.js +++ b/assets/js/acf87bcd.d163c68c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=u(r),b=o,f=p["".concat(l,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},s),{},{components:r})):n.createElement(f,c({ref:t},s))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,c[1]=i;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const a={slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casnode/casnode-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casnode website!",date:"2023-12-01T09:55:18.000Z",formattedDate:"December 1, 2023",tags:[{label:"casnode",permalink:"/blog/tags/casnode"},{label:"welcome",permalink:"/blog/tags/welcome"}],readingTime:.065,hasTruncateMarker:!1,authors:[{name:"Kininaru",title:"Casbin Member",url:"https://github.com/Kininaru",imageURL:"https://avatars.githubusercontent.com/u/42638489?v=4"}],frontMatter:{slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]}},l={authorsImageUrls:[void 0]},u=[],s={toc:u};function m(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casnode website!"),(0,o.kt)("p",null,"You can find technical documents and Casnode APIs here!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=u(r),b=o,f=p["".concat(l,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},s),{},{components:r})):n.createElement(f,c({ref:t},s))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,c[1]=i;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const a={slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casnode/casnode-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casnode website!",date:"2023-12-01T10:28:20.000Z",formattedDate:"December 1, 2023",tags:[{label:"casnode",permalink:"/blog/tags/casnode"},{label:"welcome",permalink:"/blog/tags/welcome"}],readingTime:.065,hasTruncateMarker:!1,authors:[{name:"Kininaru",title:"Casbin Member",url:"https://github.com/Kininaru",imageURL:"https://avatars.githubusercontent.com/u/42638489?v=4"}],frontMatter:{slug:"/welcome",title:"Welcome",author:"Kininaru",author_title:"Casbin Member",author_url:"https://github.com/Kininaru",author_image_url:"https://avatars.githubusercontent.com/u/42638489?v=4",tags:["casnode","welcome"]}},l={authorsImageUrls:[void 0]},u=[],s={toc:u};function m(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casnode website!"),(0,o.kt)("p",null,"You can find technical documents and Casnode APIs here!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.5a03796e.js b/assets/js/b2f554cd.52e1a8f1.js similarity index 94% rename from assets/js/b2f554cd.5a03796e.js rename to assets/js/b2f554cd.52e1a8f1.js index 801bbd55..9177c9c2 100644 --- a/assets/js/b2f554cd.5a03796e.js +++ b/assets/js/b2f554cd.52e1a8f1.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[1477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/casnode/casnode-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casnode website!","date":"2023-12-01T09:55:18.000Z","formattedDate":"December 1, 2023","tags":[{"label":"casnode","permalink":"/blog/tags/casnode"},{"label":"welcome","permalink":"/blog/tags/welcome"}],"readingTime":0.065,"hasTruncateMarker":false,"authors":[{"name":"Kininaru","title":"Casbin Member","url":"https://github.com/Kininaru","imageURL":"https://avatars.githubusercontent.com/u/42638489?v=4"}],"frontMatter":{"slug":"/welcome","title":"Welcome","author":"Kininaru","author_title":"Casbin Member","author_url":"https://github.com/Kininaru","author_image_url":"https://avatars.githubusercontent.com/u/42638489?v=4","tags":["casnode","welcome"]}},"content":"Welcome to Casnode website!\\n\\nYou can find technical documents and Casnode APIs here!"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[1477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/casnode/casnode-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casnode website!","date":"2023-12-01T10:28:20.000Z","formattedDate":"December 1, 2023","tags":[{"label":"casnode","permalink":"/blog/tags/casnode"},{"label":"welcome","permalink":"/blog/tags/welcome"}],"readingTime":0.065,"hasTruncateMarker":false,"authors":[{"name":"Kininaru","title":"Casbin Member","url":"https://github.com/Kininaru","imageURL":"https://avatars.githubusercontent.com/u/42638489?v=4"}],"frontMatter":{"slug":"/welcome","title":"Welcome","author":"Kininaru","author_title":"Casbin Member","author_url":"https://github.com/Kininaru","author_image_url":"https://avatars.githubusercontent.com/u/42638489?v=4","tags":["casnode","welcome"]}},"content":"Welcome to Casnode website!\\n\\nYou can find technical documents and Casnode APIs here!"}]}')}}]); \ No newline at end of file diff --git a/assets/js/fa4d91bf.0af820ca.js b/assets/js/fa4d91bf.0af820ca.js deleted file mode 100644 index 1a1b6445..00000000 --- a/assets/js/fa4d91bf.0af820ca.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[5930],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>p});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),d=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},A=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),A=d(n),p=r,f=A["".concat(s,".").concat(p)]||A[p]||c[p]||o;return n?a.createElement(f,i(i({ref:t},u),{},{components:n})):a.createElement(f,i({ref:t},u))}));function p(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=A;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var d=2;d{n.r(t),n.d(t,{assets:()=>x,contentTitle:()=>P,default:()=>H,frontMatter:()=>E,metadata:()=>X,toc:()=>L});var a=n(7462),r=n(7294),o=n(3905),i=n(6010),l=n(2466),s=n(6775),d=n(1980),u=n(7392),c=n(12);function A(e){return function(e){var t;return(null==(t=r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))?void 0:t.filter(Boolean))??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function p(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??A(n);return function(e){const t=(0,u.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function f(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d._X)(o),(0,r.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(a.location.search);t.set(o,e),a.replace({...a.location,search:t.toString()})}),[o,a])]}function v(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,o=p(e),[i,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!f({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:o}))),[s,d]=m({queryString:n,groupId:a}),[u,A]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,o]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:a}),v=(()=>{const e=s??u;return f({value:e,tabValues:o})?e:null})();(0,r.useLayoutEffect)((()=>{v&&l(v)}),[v]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!f({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),A(e)}),[d,A,o]),tabValues:o}}var b=n(2389);const g="tabList__CuJ",y="tabItem_LNqP";function I(e){let{className:t,block:n,selectedValue:o,selectValue:s,tabValues:d}=e;const u=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),A=e=>{const t=e.currentTarget,n=u.indexOf(t),a=d[n].value;a!==o&&(c(t),s(a))},p=e=>{var t;let n=null;switch(e.key){case"Enter":A(e);break;case"ArrowRight":{const t=u.indexOf(e.currentTarget)+1;n=u[t]??u[0];break}case"ArrowLeft":{const t=u.indexOf(e.currentTarget)-1;n=u[t]??u[u.length-1];break}}null==(t=n)||t.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t)},d.map((e=>{let{value:t,label:n,attributes:l}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:e=>u.push(e),onKeyDown:p,onClick:A},l,{className:(0,i.Z)("tabs__item",y,null==l?void 0:l.className,{"tabs__item--active":o===t})}),n??t)})))}function k(e){let{lazy:t,children:n,selectedValue:a}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},o.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function N(e){const t=v(e);return r.createElement("div",{className:(0,i.Z)("tabs-container",g)},r.createElement(I,(0,a.Z)({},e,t)),r.createElement(k,(0,a.Z)({},e,t)))}function h(e){const t=(0,b.Z)();return r.createElement(N,(0,a.Z)({key:String(t)},e))}const T="tabItem_Ymn6";function R(e){let{children:t,hidden:n,className:a}=e;return r.createElement("div",{role:"tabpanel",className:(0,i.Z)(T,a),hidden:n},t)}const E={title:"Installation",description:"Getting started with Casnode",keywords:["installation","configuration","deploy"],authors:["kininaru"]},P=void 0,X={unversionedId:"installation",id:"installation",title:"Installation",description:"Getting started with Casnode",source:"@site/docs/installation.mdx",sourceDirName:".",slug:"/installation",permalink:"/docs/installation",draft:!1,editUrl:"https://github.com/casnode/casnode-website/edit/master/docs/installation.mdx",tags:[],version:"current",frontMatter:{title:"Installation",description:"Getting started with Casnode",keywords:["installation","configuration","deploy"],authors:["kininaru"]},sidebar:"tutorialSidebar",previous:{title:"Main Features",permalink:"/docs/main-features"},next:{title:"BT panel",permalink:"/docs/bt-panel"}},x={},L=[{value:"Production Environment",id:"production-environment",level:2},{value:"1. Setup Casdoor",id:"1-setup-casdoor",level:3},{value:"2. Modify conf/app.conf",id:"2-modify-confappconf",level:3},{value:"Database connection",id:"database-connection",level:4},{value:"Casnode database",id:"casnode-database",level:4},{value:"Casdoor database",id:"casdoor-database",level:4},{value:"Object Storage Service (Casnode uses OSS to store resources)",id:"object-storage-service-casnode-uses-oss-to-store-resources",level:4},{value:"Casdoor config",id:"casdoor-config",level:4},{value:"3. Modify web/src/Conf.js",id:"3-modify-websrcconfjs",level:3},{value:"4. Build front end",id:"4-build-front-end",level:3},{value:"5. Build back end",id:"5-build-back-end",level:3},{value:"Dev Environment",id:"dev-environment",level:2},{value:"1. Do step 1-3 above",id:"1-do-step-1-3-above",level:3},{value:"4. Run back end",id:"4-run-back-end",level:3},{value:"5. Run front end",id:"5-run-front-end",level:3}],w={toc:L};function H(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,a.Z)({},w,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"These paragraphs will help you deploy Casnode on your server. If you want to install Casnode by BT Panel or Docker, please see the details at: ",(0,o.kt)("a",{parentName:"p",href:"/docs/bt-panel"},"BT Panel")," and ",(0,o.kt)("a",{parentName:"p",href:"/docs/docker"},"Docker"),"."),(0,o.kt)("p",null,"Please clone Casnode first:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"git clone https://github.com/casbin/casnode\n")),(0,o.kt)("p",null,"and follow these steps to easily setup your own forum!"),(0,o.kt)("h2",{id:"production-environment"},"Production Environment"),(0,o.kt)("h3",{id:"1-setup-casdoor"},"1. Setup Casdoor"),(0,o.kt)("p",null,"Casnode uses ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casbin/casdoor"},"Casdoor")," to manage members. So you need to create an organization and an application for Casnode in a Casdoor instance."),(0,o.kt)("p",null,"Follow these steps to setup Casdoor for Casnode:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Navigate to Casdoor (Click ",(0,o.kt)("a",{parentName:"p",href:"https://casdoor.org/docs/overview"},"here")," for details of Casdoor)")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'Sign into the organization "built-in"')),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"Organizations")," in the top bar")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"add")," button")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Remember the Organization name, here I use ",(0,o.kt)("strong",{parentName:"p"},"casnode")," as my organization name:\n",(0,o.kt)("img",{alt:"organization",src:n(6543).Z,width:"1206",height:"333"}))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"Applications")," in the top bar")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"add")," button")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Remember the Application name, here I use forum as my application name:")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"Edit")))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"application",src:n(8354).Z,width:"1217",height:"336"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Select the organization you just created as the application organization")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"select",src:n(1983).Z,width:"700",height:"143"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Modify the redirect URLs to the forum URL. If you are in a developing environment, your redirect URL is ",(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("a",{parentName:"strong",href:"http://localhost:3000/callback"},"http://localhost:3000/callback")),". If you are in a production environment, your redirect URL is ",(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("a",{parentName:"strong",href:"http://yourip:7000/callback"},"http://yourip:7000/callback")))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"redirecturls",src:n(4322).Z,width:"629",height:"154"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click ",(0,o.kt)("strong",{parentName:"li"},"Save")," and remember the ",(0,o.kt)("inlineCode",{parentName:"li"},"Client ID")," and ",(0,o.kt)("inlineCode",{parentName:"li"},"Client Secret"))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"client",src:n(9312).Z,width:"605",height:"125"})),(0,o.kt)("h3",{id:"2-modify-confappconf"},"2. Modify ",(0,o.kt)("inlineCode",{parentName:"h3"},"conf/app.conf")),(0,o.kt)("p",null,"Here is an explanation of the config items:"),(0,o.kt)("h4",{id:"database-connection"},"Database connection"),(0,o.kt)("h4",{id:"casnode-database"},"Casnode database"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini",metastring:"{2}","{2}":!0},"driverName = mysql\ndataSourceName = root:123@tcp(localhost:3306)/\ndbName = casnode\n")),(0,o.kt)("h4",{id:"casdoor-database"},"Casdoor database"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini"},"casdoorDbName = casdoor\n")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Casdoor's ",(0,o.kt)("inlineCode",{parentName:"p"},"driverName")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"dataSourceName")," are the same as casnode by default. If your Casdoor and Casnode are not\nin the same database, you can set up the casdoor database in ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casbin/casnode/blob/master/casdoor/adapter.go"},"casdoor/adapter.go")),(0,o.kt)("p",{parentName:"admonition"},"Here we provide an example:"),(0,o.kt)("ol",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Add casdoor configuration in ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),":"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-ini"},"casdoorDriverName =\ncasdoorDataSourceName =\n"))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Modify the ",(0,o.kt)("inlineCode",{parentName:"p"},"func InitCasdoorAdapter()"),":"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-go"},' adapter = NewAdapter(beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDbName"))\n'))))),(0,o.kt)("h4",{id:"object-storage-service-casnode-uses-oss-to-store-resources"},"Object Storage Service (Casnode uses OSS to store resources)"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini"},'OSSProvider = ""\naccessKeyID = ""\naccessKeySecret = ""\nOSSCustomDomain = ""\nOSSBasicPath = ""\nOSSRegion = ""\nOSSEndPoint = ""\nOSSBucket = ""\n')),(0,o.kt)("p",null,"If you can not access Google in normal ways, you need to set up a http proxy here:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini"},'httpProxy = "127.0.0.1:10808"\n')),(0,o.kt)("h4",{id:"casdoor-config"},"Casdoor config"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini",metastring:"{2,5,8,13}","{2,5,8,13}":!0},'# Your Casdoor endpoint in step 1\ncasdoorEndpoint = http://localhost:8000\n\n# Client ID you copied in step 1\nclientId = xxx\n\n# Client Secret you copied in step 1\nclientSecret = xxx\n\njwtSecret = CasdoorSecret\n\n# Organization name in step 1\ncasdoorOrganization = "casnode"\n')),(0,o.kt)("h3",{id:"3-modify-websrcconfjs"},"3. Modify ",(0,o.kt)("inlineCode",{parentName:"h3"},"web/src/Conf.js")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-js",metastring:"{3,6,9,12}","{3,6,9,12}":!0},'export const AuthConfig = {\n // Your Casdoor endpoint in step 1\n serverUrl: "http://localhost:7001",\n\n // Client ID you copied in step 1\n clientId: "014ae4bd048734ca2dea",\n\n // Application name you copied in step 1\n appName: "app-casnode",\n\n // Organization name you copied in step 1\n organizationName: "casnode",\n};\n')),(0,o.kt)("h3",{id:"4-build-front-end"},"4. Build front end"),(0,o.kt)("p",null,"In folder ",(0,o.kt)("inlineCode",{parentName:"p"},"web"),", run the following commands:"),(0,o.kt)(h,{defaultValue:"yarn",values:[{label:"Yarn",value:"yarn"},{label:"npm",value:"npm"}],mdxType:"Tabs"},(0,o.kt)(R,{value:"yarn",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"yarn install && yarn run build\n"))),(0,o.kt)(R,{value:"npm",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"npm install && npm run build\n")))),(0,o.kt)("h3",{id:"5-build-back-end"},"5. Build back end"),(0,o.kt)("p",null,"In repository root, run:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"go build\n./casnode\n")),(0,o.kt)("p",null,"Then the Casnode app should run on port 7000. You can setup a nginx proxy pass to manage SSL or something else."),(0,o.kt)("p",null,"For most of site owners who want to develop a forum using Casnode, steps above is enough. But if you are a developer, want to contribute to Casnode, or modify the code to suit your own environment, then you can run Casnode in the developing mode. Please follow these steps to start developing mode:"),(0,o.kt)("h2",{id:"dev-environment"},"Dev Environment"),(0,o.kt)("h3",{id:"1-do-step-1-3-above"},"1. Do step 1-3 above"),(0,o.kt)("h3",{id:"4-run-back-end"},"4. Run back end"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"go run main.go\n")),(0,o.kt)("h3",{id:"5-run-front-end"},"5. Run front end"),(0,o.kt)("p",null,"In ",(0,o.kt)("inlineCode",{parentName:"p"},"web")," folder:"),(0,o.kt)(h,{defaultValue:"yarn",values:[{label:"Yarn",value:"yarn"},{label:"npm",value:"npm"}],mdxType:"Tabs"},(0,o.kt)(R,{value:"yarn",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"yarn install\nyarn run start\n"))),(0,o.kt)(R,{value:"npm",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"npm install\nnpm run start\n")))),(0,o.kt)("p",null,"Now, Casnode runs its front end at port 3000 and runs it's back end at port 7000. You can modify the code and see what will happen."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The front end uses these codes to determine whether it is a dev mode:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-js"},'export function initServerUrl() {\n const hostname = window.location.hostname;\n if (hostname === "localhost") {\n ServerUrl = `http://${hostname}:7000`;\n }\n}\n')),(0,o.kt)("p",{parentName:"admonition"},"It means if hostname is ",(0,o.kt)("inlineCode",{parentName:"p"},"localhost"),", then you are in dev mode. If not, then you are in productive mode. Port of the back end is not same in dev mode and productive mode, so please do not use ",(0,o.kt)("inlineCode",{parentName:"p"},"127.0.0.1")," instead of ",(0,o.kt)("inlineCode",{parentName:"p"},"localhost")," in your browser in dev mode.")))}H.isMDXComponent=!0},8354:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/application-c5bbb1ad79fd4a5fed9e878ac2e1f1e7.png"},1983:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,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"},9312:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,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"},6543:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/organization-adeb2572cb281ed207d1030b61eb4af8.png"},4322:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/redirecturls-915163abce545efe90f59013666b4c8b.png"}}]); \ No newline at end of file diff --git a/assets/js/fa4d91bf.5b920aeb.js b/assets/js/fa4d91bf.5b920aeb.js new file mode 100644 index 00000000..dd140fd4 --- /dev/null +++ b/assets/js/fa4d91bf.5b920aeb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[5930],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>p});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),d=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},A=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),A=d(n),p=r,f=A["".concat(s,".").concat(p)]||A[p]||c[p]||o;return n?a.createElement(f,i(i({ref:t},u),{},{components:n})):a.createElement(f,i({ref:t},u))}));function p(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=A;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var d=2;d{n.r(t),n.d(t,{assets:()=>x,contentTitle:()=>P,default:()=>H,frontMatter:()=>E,metadata:()=>X,toc:()=>L});var a=n(7462),r=n(7294),o=n(3905),i=n(6010),l=n(2466),s=n(6775),d=n(1980),u=n(7392),c=n(12);function A(e){return function(e){var t;return(null==(t=r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})))?void 0:t.filter(Boolean))??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function p(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??A(n);return function(e){const t=(0,u.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function f(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d._X)(o),(0,r.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(a.location.search);t.set(o,e),a.replace({...a.location,search:t.toString()})}),[o,a])]}function v(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,o=p(e),[i,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!f({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:o}))),[s,d]=m({queryString:n,groupId:a}),[u,A]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,o]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:a}),v=(()=>{const e=s??u;return f({value:e,tabValues:o})?e:null})();(0,r.useLayoutEffect)((()=>{v&&l(v)}),[v]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!f({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),A(e)}),[d,A,o]),tabValues:o}}var b=n(2389);const g="tabList__CuJ",y="tabItem_LNqP";function I(e){let{className:t,block:n,selectedValue:o,selectValue:s,tabValues:d}=e;const u=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),A=e=>{const t=e.currentTarget,n=u.indexOf(t),a=d[n].value;a!==o&&(c(t),s(a))},p=e=>{var t;let n=null;switch(e.key){case"Enter":A(e);break;case"ArrowRight":{const t=u.indexOf(e.currentTarget)+1;n=u[t]??u[0];break}case"ArrowLeft":{const t=u.indexOf(e.currentTarget)-1;n=u[t]??u[u.length-1];break}}null==(t=n)||t.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t)},d.map((e=>{let{value:t,label:n,attributes:l}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:e=>u.push(e),onKeyDown:p,onClick:A},l,{className:(0,i.Z)("tabs__item",y,null==l?void 0:l.className,{"tabs__item--active":o===t})}),n??t)})))}function k(e){let{lazy:t,children:n,selectedValue:a}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},o.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function N(e){const t=v(e);return r.createElement("div",{className:(0,i.Z)("tabs-container",g)},r.createElement(I,(0,a.Z)({},e,t)),r.createElement(k,(0,a.Z)({},e,t)))}function h(e){const t=(0,b.Z)();return r.createElement(N,(0,a.Z)({key:String(t)},e))}const T="tabItem_Ymn6";function R(e){let{children:t,hidden:n,className:a}=e;return r.createElement("div",{role:"tabpanel",className:(0,i.Z)(T,a),hidden:n},t)}const E={title:"Installation",description:"Getting started with Casnode",keywords:["installation","configuration","deploy"],authors:["kininaru"]},P=void 0,X={unversionedId:"installation",id:"installation",title:"Installation",description:"Getting started with Casnode",source:"@site/docs/installation.mdx",sourceDirName:".",slug:"/installation",permalink:"/docs/installation",draft:!1,editUrl:"https://github.com/casnode/casnode-website/edit/master/docs/installation.mdx",tags:[],version:"current",frontMatter:{title:"Installation",description:"Getting started with Casnode",keywords:["installation","configuration","deploy"],authors:["kininaru"]},sidebar:"tutorialSidebar",previous:{title:"Main Features",permalink:"/docs/main-features"},next:{title:"BT panel",permalink:"/docs/bt-panel"}},x={},L=[{value:"Production Environment",id:"production-environment",level:2},{value:"1. Setup Casdoor",id:"1-setup-casdoor",level:3},{value:"2. Modify conf/app.conf",id:"2-modify-confappconf",level:3},{value:"Database connection",id:"database-connection",level:4},{value:"Casnode database",id:"casnode-database",level:4},{value:"Casdoor database",id:"casdoor-database",level:4},{value:"Object Storage Service (Casnode uses OSS to store resources)",id:"object-storage-service-casnode-uses-oss-to-store-resources",level:4},{value:"Casdoor config",id:"casdoor-config",level:4},{value:"3. Modify web/src/Conf.js",id:"3-modify-websrcconfjs",level:3},{value:"4. Build front end",id:"4-build-front-end",level:3},{value:"5. Build back end",id:"5-build-back-end",level:3},{value:"Dev Environment",id:"dev-environment",level:2},{value:"1. Do step 1-3 above",id:"1-do-step-1-3-above",level:3},{value:"4. Run back end",id:"4-run-back-end",level:3},{value:"5. Run front end",id:"5-run-front-end",level:3}],w={toc:L};function H(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,a.Z)({},w,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"These paragraphs will help you deploy Casnode on your server. If you want to install Casnode by BT Panel or Docker, please see the details at: ",(0,o.kt)("a",{parentName:"p",href:"/docs/bt-panel"},"BT Panel")," and ",(0,o.kt)("a",{parentName:"p",href:"/docs/docker"},"Docker"),"."),(0,o.kt)("p",null,"Please clone Casnode first:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"git clone https://github.com/casbin/casnode\n")),(0,o.kt)("p",null,"and follow these steps to easily setup your own forum!"),(0,o.kt)("h2",{id:"production-environment"},"Production Environment"),(0,o.kt)("h3",{id:"1-setup-casdoor"},"1. Setup Casdoor"),(0,o.kt)("p",null,"Casnode uses ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casbin/casdoor"},"Casdoor")," to manage members. So you need to create an organization and an application for Casnode in a Casdoor instance."),(0,o.kt)("p",null,"Follow these steps to setup Casdoor for Casnode:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Navigate to Casdoor (Click ",(0,o.kt)("a",{parentName:"p",href:"https://casdoor.org/docs/overview"},"here")," for details of Casdoor)")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'Sign into the organization "built-in"')),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"Organizations")," in the top bar")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"add")," button")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Remember the Organization name, here I use ",(0,o.kt)("strong",{parentName:"p"},"casnode")," as my organization name:\n",(0,o.kt)("img",{alt:"organization",src:n(6543).Z,width:"1206",height:"333"}))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"Applications")," in the top bar")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"add")," button")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Remember the Application name, here I use forum as my application name:")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click ",(0,o.kt)("strong",{parentName:"p"},"Edit")))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"application",src:n(8354).Z,width:"1217",height:"336"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Select the organization you just created as the application organization")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"select",src:n(1983).Z,width:"700",height:"143"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Modify the redirect URLs to the forum URL. If you are in a developing environment, your redirect URL is ",(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("a",{parentName:"strong",href:"http://localhost:3000/callback"},"http://localhost:3000/callback")),". If you are in a production environment, your redirect URL is ",(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("a",{parentName:"strong",href:"http://yourip:7000/callback"},"http://yourip:7000/callback")))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"redirecturls",src:n(4322).Z,width:"629",height:"154"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click ",(0,o.kt)("strong",{parentName:"li"},"Save")," and remember the ",(0,o.kt)("inlineCode",{parentName:"li"},"Client ID")," and ",(0,o.kt)("inlineCode",{parentName:"li"},"Client Secret"))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"client",src:n(9312).Z,width:"605",height:"125"})),(0,o.kt)("h3",{id:"2-modify-confappconf"},"2. Modify ",(0,o.kt)("inlineCode",{parentName:"h3"},"conf/app.conf")),(0,o.kt)("p",null,"Here is an explanation of the config items:"),(0,o.kt)("h4",{id:"database-connection"},"Database connection"),(0,o.kt)("h4",{id:"casnode-database"},"Casnode database"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini",metastring:"{2}","{2}":!0},"driverName = mysql\ndataSourceName = root:123@tcp(localhost:3306)/\ndbName = casnode\n")),(0,o.kt)("h4",{id:"casdoor-database"},"Casdoor database"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini"},"casdoorDbName = casdoor\n")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Casdoor's ",(0,o.kt)("inlineCode",{parentName:"p"},"driverName")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"dataSourceName")," are the same as casnode by default. If your Casdoor and Casnode are not\nin the same database, you can set up the casdoor database in ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casbin/casnode/blob/master/casdoor/adapter.go"},"casdoor/adapter.go")),(0,o.kt)("p",{parentName:"admonition"},"Here we provide an example:"),(0,o.kt)("ol",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Add casdoor configuration in ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),":"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-ini"},"casdoorDriverName =\ncasdoorDataSourceName =\n"))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Modify the ",(0,o.kt)("inlineCode",{parentName:"p"},"func InitCasdoorAdapter()"),":"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-go"},' adapter = NewAdapter(beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDbName"))\n'))))),(0,o.kt)("h4",{id:"object-storage-service-casnode-uses-oss-to-store-resources"},"Object Storage Service (Casnode uses OSS to store resources)"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini"},'OSSProvider = ""\naccessKeyID = ""\naccessKeySecret = ""\nOSSCustomDomain = ""\nOSSBasicPath = ""\nOSSRegion = ""\nOSSEndPoint = ""\nOSSBucket = ""\n')),(0,o.kt)("p",null,"If you can not access Google in normal ways, you need to set up a http proxy here:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini"},'httpProxy = "127.0.0.1:10808"\n')),(0,o.kt)("h4",{id:"casdoor-config"},"Casdoor config"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ini",metastring:"{2,5,8,13}","{2,5,8,13}":!0},'# Your Casdoor endpoint in step 1\ncasdoorEndpoint = http://localhost:8000\n\n# Client ID you copied in step 1\nclientId = xxx\n\n# Client Secret you copied in step 1\nclientSecret = xxx\n\njwtSecret = CasdoorSecret\n\n# Organization name in step 1\ncasdoorOrganization = "casnode"\n')),(0,o.kt)("h3",{id:"3-modify-websrcconfjs"},"3. Modify ",(0,o.kt)("inlineCode",{parentName:"h3"},"web/src/Conf.js")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-js",metastring:"{3,6,9,12}","{3,6,9,12}":!0},'export const AuthConfig = {\n // Your Casdoor endpoint in step 1\n serverUrl: "http://localhost:7001",\n\n // Client ID you copied in step 1\n clientId: "014ae4bd048734ca2dea",\n\n // Application name you copied in step 1\n appName: "app-casnode",\n\n // Organization name you copied in step 1\n organizationName: "casnode",\n};\n')),(0,o.kt)("h3",{id:"4-build-front-end"},"4. Build front end"),(0,o.kt)("p",null,"In folder ",(0,o.kt)("inlineCode",{parentName:"p"},"web"),", run the following commands:"),(0,o.kt)(h,{defaultValue:"yarn",values:[{label:"Yarn",value:"yarn"},{label:"npm",value:"npm"}],mdxType:"Tabs"},(0,o.kt)(R,{value:"yarn",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"yarn install && yarn run build\n"))),(0,o.kt)(R,{value:"npm",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"yarn install\nyarn build\n")))),(0,o.kt)("h3",{id:"5-build-back-end"},"5. Build back end"),(0,o.kt)("p",null,"In repository root, run:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"go build\n./casnode\n")),(0,o.kt)("p",null,"Then the Casnode app should run on port 7000. You can setup a nginx proxy pass to manage SSL or something else."),(0,o.kt)("p",null,"For most of site owners who want to develop a forum using Casnode, steps above is enough. But if you are a developer, want to contribute to Casnode, or modify the code to suit your own environment, then you can run Casnode in the developing mode. Please follow these steps to start developing mode:"),(0,o.kt)("h2",{id:"dev-environment"},"Dev Environment"),(0,o.kt)("h3",{id:"1-do-step-1-3-above"},"1. Do step 1-3 above"),(0,o.kt)("h3",{id:"4-run-back-end"},"4. Run back end"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-go"},"go run main.go\n")),(0,o.kt)("h3",{id:"5-run-front-end"},"5. Run front end"),(0,o.kt)("p",null,"In ",(0,o.kt)("inlineCode",{parentName:"p"},"web")," folder:"),(0,o.kt)(h,{defaultValue:"yarn",values:[{label:"Yarn",value:"yarn"},{label:"npm",value:"npm"}],mdxType:"Tabs"},(0,o.kt)(R,{value:"yarn",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"yarn install\nyarn run start\n"))),(0,o.kt)(R,{value:"npm",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"yarn install\nyarn start\n")))),(0,o.kt)("p",null,"Now, Casnode runs its front end at port 3000 and runs it's back end at port 7000. You can modify the code and see what will happen."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The front end uses these codes to determine whether it is a dev mode:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-js"},'export function initServerUrl() {\n const hostname = window.location.hostname;\n if (hostname === "localhost") {\n ServerUrl = `http://${hostname}:7000`;\n }\n}\n')),(0,o.kt)("p",{parentName:"admonition"},"It means if hostname is ",(0,o.kt)("inlineCode",{parentName:"p"},"localhost"),", then you are in dev mode. If not, then you are in productive mode. Port of the back end is not same in dev mode and productive mode, so please do not use ",(0,o.kt)("inlineCode",{parentName:"p"},"127.0.0.1")," instead of ",(0,o.kt)("inlineCode",{parentName:"p"},"localhost")," in your browser in dev mode.")))}H.isMDXComponent=!0},8354:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/application-c5bbb1ad79fd4a5fed9e878ac2e1f1e7.png"},1983:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,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"},9312:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,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"},6543:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/organization-adeb2572cb281ed207d1030b61eb4af8.png"},4322:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/redirecturls-915163abce545efe90f59013666b4c8b.png"}}]); \ No newline at end of file diff --git a/assets/js/main.8929d8f3.js b/assets/js/main.7f58b5f4.js similarity index 99% rename from assets/js/main.8929d8f3.js rename to assets/js/main.7f58b5f4.js index 1ff98e57..8347fbd4 100644 --- a/assets/js/main.8929d8f3.js +++ b/assets/js/main.7f58b5f4.js @@ -1,2 +1,2 @@ -/*! For license information please see main.8929d8f3.js.LICENSE.txt */ -(self.webpackChunkcasnode_website=self.webpackChunkcasnode_website||[]).push([[179],{830:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(7294);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),l=n(6887);const s={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"0a3cf8c5":[()=>n.e(2648).then(n.bind(n,3525)),"@site/docs/server-side-rendering.md",3525],"14eb3368":[()=>Promise.all([n.e(532),n.e(5628),n.e(9817)]).then(n.bind(n,4228)),"@theme/DocCategoryGeneratedIndexPage",4228],17896441:[()=>Promise.all([n.e(532),n.e(8105),n.e(5628),n.e(7918)]).then(n.bind(n,8690)),"@theme/DocItem",8690],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,9172)),"@theme/SearchPage",9172],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"1db64337":[()=>n.e(1372).then(n.bind(n,6777)),"@site/docs/overview.md",6777],"295b567d":[()=>n.e(154).then(n.bind(n,3500)),"@site/docs/migration.md",3500],"3152febb":[()=>n.e(225).then(n.t.bind(n,3492,19)),"~docs/default/category-docs-tutorialsidebar-category-getting-started-3f9.json",3492],"4272dd43":[()=>n.e(674).then(n.bind(n,7274)),"@site/docs/routers.md",7274],"498903e1":[()=>n.e(7850).then(n.bind(n,8737)),"@site/docs/main-package.md",8737],"5118387f":[()=>n.e(464).then(n.bind(n,6218)),"@site/docs/bt-panel.md",6218],"59c5c2f9":[()=>n.e(4843).then(n.t.bind(n,4424,19)),"~docs/default/category-docs-tutorialsidebar-category-architecture-393.json",4424],"5e3f6083":[()=>n.e(5222).then(n.t.bind(n,5745,19)),"/home/runner/work/casnode-website/casnode-website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6875c492":[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"72ea323d":[()=>n.e(1594).then(n.bind(n,5118)),"@site/src/pages/pdf.js",5118],"7e37206e":[()=>n.e(2740).then(n.bind(n,5401)),"@site/src/pages/help.js",5401],"7f5901f2":[()=>n.e(6101).then(n.t.bind(n,9034,19)),"~blog/default/blog-tags-casnode-a7b-list.json",9034],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"93234bd6":[()=>n.e(3669).then(n.bind(n,75)),"@site/docs/docker.md",75],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],95094002:[()=>n.e(9730).then(n.bind(n,6832)),"@site/docs/architecture-overview.md",6832],"9a31289b":[()=>n.e(6086).then(n.t.bind(n,7085,19)),"/home/runner/work/casnode-website/casnode-website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a0cae728:[()=>n.e(6884).then(n.bind(n,9393)),"@site/docs/internationalization.md",9393],a24beb83:[()=>n.e(260).then(n.t.bind(n,8364,19)),"~blog/default/blog-tags-welcome-11d-list.json",8364],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a6b28081:[()=>n.e(3150).then(n.bind(n,9927)),"@site/docs/provider.md",9927],a7023ddc:[()=>n.e(1713).then(n.t.bind(n,3457,19)),"~blog/default/blog-tags-tags-4c2.json",3457],a951fea5:[()=>n.e(9432).then(n.bind(n,5357)),"@site/blog/welcome.md",5357],acf87bcd:[()=>n.e(646).then(n.bind(n,2320)),"@site/blog/welcome.md?truncated=true",2320],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(1477).then(n.t.bind(n,10,19)),"~blog/default/blog-archive-80c.json",10],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(4195)]).then(n.bind(n,167)),"@site/src/pages/index.js",167],ccc49370:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],db92b78e:[()=>n.e(2965).then(n.t.bind(n,3769,19)),"/home/runner/work/casnode-website/casnode-website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],e703034b:[()=>n.e(9800).then(n.bind(n,7009)),"@site/docs/main-features.md",7009],ebf2795f:[()=>n.e(9274).then(n.bind(n,2487)),"@site/docs/controllers.md",2487],ee9859d3:[()=>n.e(8605).then(n.t.bind(n,4469,19)),"/home/runner/work/casnode-website/casnode-website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],ef15815f:[()=>n.e(620).then(n.t.bind(n,6837,19)),"~docs/default/category-docs-tutorialsidebar-category-api-reference-2bd.json",6837],f4f223c4:[()=>n.e(9316).then(n.t.bind(n,3222,19)),"~blog/default/blog-tags-casnode-a7b.json",3222],f6ba3702:[()=>n.e(9293).then(n.t.bind(n,8495,19)),"~blog/default/blog-tags-welcome-11d.json",8495],f87fc0a0:[()=>n.e(273).then(n.bind(n,4729)),"@site/docs/api-overview.md",4729],fa4d91bf:[()=>Promise.all([n.e(532),n.e(5930)]).then(n.bind(n,1882)),"@site/docs/installation.mdx",1882]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=l[`${e}-${t}`],f={},p=[],m=[],h=(0,c.Z)(o);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=s[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const l=n.split(".");l.slice(0,-1).forEach((e=>{o=o[e]})),o[l[l.length-1]]=a}));const l=i.__comp;delete i.__comp;const s=i.__context;return delete i.__context,r.createElement(d.z,{value:s},r.createElement(l,(0,a.Z)({},i,n)))}})}const p=[{path:"/blog",component:f("/blog","675"),exact:!0},{path:"/blog/archive",component:f("/blog/archive","31a"),exact:!0},{path:"/blog/tags",component:f("/blog/tags","b21"),exact:!0},{path:"/blog/tags/casnode",component:f("/blog/tags/casnode","8c2"),exact:!0},{path:"/blog/tags/welcome",component:f("/blog/tags/welcome","22f"),exact:!0},{path:"/blog/welcome",component:f("/blog/welcome","b13"),exact:!0},{path:"/help",component:f("/help","f90"),exact:!0},{path:"/pdf",component:f("/pdf","a55"),exact:!0},{path:"/search",component:f("/search","903"),exact:!0},{path:"/docs",component:f("/docs","318"),routes:[{path:"/docs/api-overview",component:f("/docs/api-overview","305"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/architecture-overview",component:f("/docs/architecture-overview","15f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/bt-panel",component:f("/docs/bt-panel","223"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/category/api-reference",component:f("/docs/category/api-reference","6be"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/category/architecture",component:f("/docs/category/architecture","1bb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/category/getting-started",component:f("/docs/category/getting-started","01f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/controllers",component:f("/docs/controllers","2b4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/docker",component:f("/docs/docker","418"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/installation",component:f("/docs/installation","ea0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/internationalization",component:f("/docs/internationalization","2ca"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/main-features",component:f("/docs/main-features","d0d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/main-package",component:f("/docs/main-package","3b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/migration",component:f("/docs/migration","fb3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/overview",component:f("/docs/overview","9fa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/provider",component:f("/docs/provider","71c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/routers",component:f("/docs/routers","366"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/server-side-rendering",component:f("/docs/server-side-rendering","ab9"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/",component:f("/","2ae"),exact:!0},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6775),d=n(8790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),m=n(5742),h=n(2263),g=n(4996),b=n(6668),v=n(833),y=n(4711),w=n(9727),k=n(3320),E=n(8780),S=n(197);function x(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,h.Z)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),a=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,E.applyTrailingSlash)((0,g.Z)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function T(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(C,null),r.createElement(x,null),r.createElement(S.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const _=new Map;function A(e){if(_.has(e.pathname))return{...e,pathname:_.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return _.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return _.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),R=n(8940);function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var r;const a=(null==(r=t.default)?void 0:r[e])??t[e];return null==a?void 0:a(...n)}));return()=>a.forEach((e=>null==e?void 0:e()))}const P=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);null==t||t.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),N("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>null==e.route.component.preload?void 0:e.route.component.preload())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?N("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=N("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(P,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const D=I,M="__docusaurus-base-url-issue-banner-container",B="__docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function j(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${M}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{window[F]=!1}),[]),r.createElement(r.Fragment,null,!l.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,j(e))),r.createElement("div",{id:M}))}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(z,null):null}function $(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,h.Z)(),i=(0,g.Z)(e),{htmlLang:l,direction:s}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:l,dir:s}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var q=n(4763),G=n(2389);function H(){const e=(0,G.Z)();return r.createElement(m.Z,null,r.createElement("html",{"data-has-hydrated":e}))}function Z(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(q.Z,null,r.createElement(R.M,null,r.createElement(L.t,null,r.createElement(f,null,r.createElement($,null),r.createElement(T,null),r.createElement(U,null),r.createElement(D,{location:A(t)},e)),r.createElement(H,null))))}var V=n(6887);const W=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{var r;if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??(null==(r=document.getElementsByName("script")[0])?void 0:r.parentNode);null==o||o.appendChild(a)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var K=n(9670);const Y=new Set,Q=new Set,X=()=>{var e,t;return(null==(e=navigator.connection)?void 0:e.effectiveType.includes("2g"))||(null==(t=navigator.connection)?void 0:t.saveData)},J={prefetch(e){if(!(e=>!X()&&!Q.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(V).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?W(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!Q.has(e))(e)&&(Q.add(e),O(e))},ee=Object.freeze(J);if(l.Z.canUseDOM){window.docusaurus=ee;const e=a.hydrate;O(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(Z,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"overview","docs":[{"id":"api-overview","path":"/docs/api-overview","sidebar":"tutorialSidebar"},{"id":"architecture-overview","path":"/docs/architecture-overview","sidebar":"tutorialSidebar"},{"id":"bt-panel","path":"/docs/bt-panel","sidebar":"tutorialSidebar"},{"id":"controllers","path":"/docs/controllers","sidebar":"tutorialSidebar"},{"id":"docker","path":"/docs/docker","sidebar":"tutorialSidebar"},{"id":"installation","path":"/docs/installation","sidebar":"tutorialSidebar"},{"id":"internationalization","path":"/docs/internationalization","sidebar":"tutorialSidebar"},{"id":"main-features","path":"/docs/main-features","sidebar":"tutorialSidebar"},{"id":"main-package","path":"/docs/main-package","sidebar":"tutorialSidebar"},{"id":"migration","path":"/docs/migration","sidebar":"tutorialSidebar"},{"id":"overview","path":"/docs/overview","sidebar":"tutorialSidebar"},{"id":"provider","path":"/docs/provider","sidebar":"tutorialSidebar"},{"id":"routers","path":"/docs/routers","sidebar":"tutorialSidebar"},{"id":"server-side-rendering","path":"/docs/server-side-rendering","sidebar":"tutorialSidebar"},{"id":"/category/getting-started","path":"/docs/category/getting-started","sidebar":"tutorialSidebar"},{"id":"/category/api-reference","path":"/docs/category/api-reference","sidebar":"tutorialSidebar"},{"id":"/category/architecture","path":"/docs/category/architecture","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/category/getting-started","label":"Getting Started"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","zh","fr","de","ko","ru","ja"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"zh":{"label":"\u4e2d\u6587","direction":"ltr","htmlLang":"zh","calendar":"gregory","path":"zh"},"fr":{"label":"Fran\xe7ais","direction":"ltr","htmlLang":"fr","calendar":"gregory","path":"fr"},"de":{"label":"Deutsch","direction":"ltr","htmlLang":"de","calendar":"gregory","path":"de"},"ko":{"label":"\ud55c\uad6d\uc5b4","direction":"ltr","htmlLang":"ko","calendar":"gregory","path":"ko"},"ru":{"label":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","direction":"ltr","htmlLang":"ru","calendar":"gregory","path":"ru"},"ja":{"label":"\u65e5\u672c\u8a9e","direction":"ltr","htmlLang":"ja","calendar":"gregory","path":"ja"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"2.4.3","siteVersion":"0.0.1","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.3"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.4.3"},"docusaurus-plugin-sass":{"type":"package","name":"docusaurus-plugin-sass","version":"0.2.2"},"docusaurus-plugin-hotjar":{"type":"package","name":"docusaurus-plugin-hotjar","version":"0.0.2"}}}'),u={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(566);function s(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(s,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(l.Z,null,r.createElement(s,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,e);class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),l=n(2263),s=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}});var d=n(4996);function f(e,t){var n;let{isNavLink:f,to:p,href:m,activeClassName:h,isActive:g,"data-noBrokenLinkCheck":b,autoAddBaseUrl:v=!0,...y}=e;const{siteConfig:{trailingSlash:w,baseUrl:k}}=(0,l.Z)(),{withBaseUrl:E}=(0,d.C)(),S=(0,a.useContext)(c),x=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>x.current));const C=p||m;const T=(0,s.Z)(C),_=null==C?void 0:C.replace("pathname://","");let A=void 0!==_?(L=_,v&&(e=>e.startsWith("/"))(L)?E(L):L):void 0;var L;A&&T&&(A=(0,i.applyTrailingSlash)(A,{trailingSlash:w,baseUrl:k}));const R=(0,a.useRef)(!1),N=f?o.OL:o.rU,P=u.Z.canUseIntersectionObserver,O=(0,a.useRef)(),I=()=>{R.current||null==A||(window.docusaurus.preload(A),R.current=!0)};(0,a.useEffect)((()=>(!P&&T&&null!=A&&window.docusaurus.prefetch(A),()=>{P&&O.current&&O.current.disconnect()})),[O,A,P,T]);const D=(null==(n=A)?void 0:n.startsWith("#"))??!1,M=!A||!T||D;return M||b||S.collectLink(A),M?a.createElement("a",(0,r.Z)({ref:x,href:A},C&&!T&&{target:"_blank",rel:"noopener noreferrer"},y)):a.createElement(N,(0,r.Z)({},y,{onMouseEnter:I,onTouchStart:I,innerRef:e=>{x.current=e,P&&e&&T&&(O.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(O.current.unobserve(e),O.current.disconnect(),null!=A&&window.docusaurus.prefetch(A))}))})),O.current.observe(e))},to:A},f&&{isActive:g,activeClassName:h}))}const p=a.forwardRef(f)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s,I:()=>l});var r=n(7294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=null==t?void 0:t[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(7529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function s(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[a,o]=n;const i=r?`${r}.${a}`:a;var l;"object"==typeof(l=o)&&l&&Object.keys(l).length>0?e(o,i):t[i]=o}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...null==n?void 0:n.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>p,WS:()=>m,_r:()=>d,Jo:()=>v,zh:()=>f,yW:()=>g,gB:()=>h});var r=n(6775),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function u(e,t){const n=s(e,t),a=null==n?void 0:n.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const c={},d=()=>i("docusaurus-plugin-content-docs")??c,f=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=null==r?void 0:r[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=p(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:s(t.pluginData,n)}}function h(e){return f(e).versions}function g(e){const t=f(e);return l(t)}function b(e){const t=f(e),{pathname:n}=(0,r.TH)();return u(t,n)}function v(e){const t=f(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:u(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(7410),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const a="iconExternalLink_nPIU";function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},566:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Bt});var r=n(7294),a=n(6010),o=n(4763),i=n(833),l=n(7462),s=n(6775),u=n(5999),c=n(5936);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,l.Z)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(5281),b=n(9727);const v="skipToContent_fXgn";function y(){return r.createElement(h,{className:v})}var w=n(6668),k=n(9689);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S="closeButton_CVFx";function x(e){return r.createElement("button",(0,l.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const C="content_knG7";function T(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,l.Z)({},e,{className:(0,a.Z)(C,e.className),dangerouslySetInnerHTML:{__html:n}}))}const _="announcementBar_mb4j",A="announcementBarPlaceholder_vyr4",L="announcementBarClose_gvF7",R="announcementBarContent_xLdY";function N(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:_,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:A}),r.createElement(T,{className:R}),i&&r.createElement(x,{onClick:n,className:L}))}var P=n(3163),O=n(2466);var I=n(902),D=n(3102);const M=r.createContext(null);function B(e){let{children:t}=e;const n=function(){const e=(0,P.e)(),t=(0,D.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,I.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(M.Provider,{value:n},t)}function F(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function j(){const e=(0,r.useContext)(M);if(!e)throw new I.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,D.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:F(o)})),[a,o,t])}function z(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=j();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var U=n(2949),$=n(2389);function q(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function G(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const H={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function Z(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const l=(0,$.Z)(),s=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(H.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",H.toggleButton,!l&&H.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!l,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(q,{className:(0,a.Z)(H.toggleIcon,H.lightToggleIcon)}),r.createElement(G,{className:(0,a.Z)(H.toggleIcon,H.darkToggleIcon)})))}const V=r.memo(Z),W="darkNavbarColorModeToggle_X3D1";function K(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,U.I)();return a?null:r.createElement(V,{className:t,buttonClassName:"dark"===n?W:void 0,value:o,onChange:i})}var Y=n(1327);function Q(){return r.createElement(Y.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function X(){const e=(0,P.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function J(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(Q,null),r.createElement(K,{className:"margin-right--md"}),r.createElement(X,null))}var ee=n(9960),te=n(4996),ne=n(3919),re=n(8022),ae=n(9471);function oe(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:s,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,te.Z)(a),p=(0,te.Z)(t),m=(0,te.Z)(o,{forcePrependBaseUrl:!0}),h=i&&o&&!(0,ne.Z)(o),g=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(ae.Z,u&&{width:12,height:12}))};return o?r.createElement(ee.Z,(0,l.Z)({href:c?m:o},d,g)):r.createElement(ee.Z,(0,l.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?(0,re.F)(n,t.pathname):t.pathname.startsWith(p)},d,g))}function ie(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(oe,(0,l.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function le(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(oe,(0,l.Z)({className:(0,a.Z)("menu__link",t)},o)))}function se(e){let{mobile:t=!1,position:n,...a}=e;const o=t?le:ie;return r.createElement(o,(0,l.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ue=n(6043),ce=n(8596),de=n(2263);function fe(e,t){return e.some((e=>function(e,t){return!!(0,ce.Mg)(e.to,t)||!!(0,re.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function pe(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(oe,(0,l.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ye,(0,l.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function me(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,de.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=fe(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ue.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(oe,(0,l.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ue.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Ye,(0,l.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function he(e){let{mobile:t=!1,...n}=e;const a=t?me:pe;return r.createElement(a,n)}var ge=n(4711);function be(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const ve="iconLanguage_nlXk";function ye(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var we=n(830),ke=["translations"];function Ee(){return Ee=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Te="Ctrl";var _e=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ce(e,ke),i=a.buttonText,l=void 0===i?"Search":i,s=a.buttonAriaLabel,u=void 0===s?"Search":s,c=Se((0,r.useState)(null),2),d=c[0],f=c[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(Te))}),[]),r.createElement("button",Ee({type:"button",className:"DocSearch DocSearch-Button","aria-label":u},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(we.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===Te?r.createElement(ye,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ae=n(5742),Le=n(6177),Re=n(239),Ne=n(3320);var Pe=n(3935);const Oe={button:{buttonText:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,u.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,u.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,u.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,u.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,u.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,u.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,u.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,u.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ie=null;function De(e){let{hit:t,children:n}=e;return r.createElement(ee.Z,{to:t.url},n)}function Me(e){let{state:t,onClose:n}=e;const a=(0,Le.M)();return r.createElement(ee.Z,{to:a(t.query),onClick:n},r.createElement(u.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function Be(e){var t;let{contextualSearch:a,externalUrlRegex:o,...i}=e;const{siteMetadata:u}=(0,de.Z)(),c=(0,Re.l)(),d=function(){const{locale:e,tags:t}=(0,Ne._q)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),f=(null==(t=i.searchParameters)?void 0:t.facetFilters)??[],p=a?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(d,f):f,m={...i.searchParameters,facetFilters:p},h=(0,s.k6)(),g=(0,r.useRef)(null),b=(0,r.useRef)(null),[v,y]=(0,r.useState)(!1),[w,k]=(0,r.useState)(void 0),E=(0,r.useCallback)((()=>Ie?Promise.resolve():Promise.all([n.e(6780).then(n.bind(n,6780)),Promise.all([n.e(532),n.e(6945)]).then(n.bind(n,6945)),Promise.all([n.e(532),n.e(8894)]).then(n.bind(n,8894))]).then((e=>{let[{DocSearchModal:t}]=e;Ie=t}))),[]),S=(0,r.useCallback)((()=>{E().then((()=>{g.current=document.createElement("div"),document.body.insertBefore(g.current,document.body.firstChild),y(!0)}))}),[E,y]),x=(0,r.useCallback)((()=>{var e;y(!1),null==(e=g.current)||e.remove()}),[y]),C=(0,r.useCallback)((e=>{E().then((()=>{y(!0),k(e.key)}))}),[E,y,k]),T=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,re.F)(o,t)?window.location.href=t:h.push(t)}}).current,_=(0,r.useRef)((e=>i.transformItems?i.transformItems(e):e.map((e=>({...e,url:c(e.url)}))))).current,A=(0,r.useMemo)((()=>e=>r.createElement(Me,(0,l.Z)({},e,{onClose:x}))),[x]),L=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",u.docusaurusVersion),e)),[u.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:v,onOpen:S,onClose:x,onInput:C,searchButtonRef:b}),r.createElement(r.Fragment,null,r.createElement(Ae.Z,null,r.createElement("link",{rel:"preconnect",href:`https://${i.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})),r.createElement(_e,{onTouchStart:E,onFocus:E,onMouseOver:E,onClick:S,ref:b,translations:Oe.button}),v&&Ie&&g.current&&(0,Pe.createPortal)(r.createElement(Ie,(0,l.Z)({onClose:x,initialScrollY:window.scrollY,initialQuery:w,navigator:T,transformItems:_,hitComponent:De,transformSearchClient:L},i.searchPagePath&&{resultsFooterComponent:A},i,{searchParameters:m,placeholder:Oe.placeholder,translations:Oe.modal})),g.current))}function Fe(){const{siteConfig:e}=(0,de.Z)();return r.createElement(Be,e.themeConfig.algolia)}const je="searchBox_ZlJk";function ze(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,je)},t)}var Ue=n(143),$e=n(3438);var qe=n(373);const Ge=e=>e.docs.find((t=>t.id===e.mainDocId));function He(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(oe,(0,l.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function Ze(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(oe,(0,l.Z)({className:(0,a.Z)("menu__link",t)},o)))}function Ve(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(oe,(0,l.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function We(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(oe,(0,l.Z)({className:(0,a.Z)("menu__link",t)},o)))}const Ke={...{default:se,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,de.Z)(),f=(0,ge.l)(),{search:p,hash:m}=(0,s.TH)(),h=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(he,(0,l.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(be,{className:ve}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(ze,{className:n},r.createElement(Fe,null))},dropdown:he,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const l=i?"li":"div";return r.createElement(l,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Ue.Iw)(a),s=(0,$e.vY)(t,a);return null===s?null:r.createElement(se,(0,l.Z)({exact:!0},o,{isActive:()=>(null==i?void 0:i.path)===s.path||!(null==i||!i.sidebar)&&i.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Ue.Iw)(a),s=(0,$e.oz)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(se,(0,l.Z)({exact:!0},o,{isActive:()=>(null==i?void 0:i.sidebar)===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,$e.lO)(a)[0],s=t??i.label,u=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(se,(0,l.Z)({},o,{label:s,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,s.TH)(),p=(0,Ue.Iw)(n),m=(0,Ue.gB)(n),{savePreferredVersionName:h}=(0,qe.J)(n),g=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??Ge(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...i],b=(0,$e.lO)(n)[0],v=t&&g.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&g.length>1?void 0:Ge(b).path;return g.length<=1?r.createElement(se,(0,l.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(he,(0,l.Z)({},c,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}},"custom-casdoor":function(e){let{mobile:t=!1,position:n,src:a,...o}=e;const i=t?Ze:He;return r.createElement(i,(0,l.Z)({href:a},o,{activeClassName:o.activeClassName??(t?"menu__link--active":"navbar__link--active")}))},"custom-community":function(e){let{mobile:t=!1,position:n,...a}=e;const o=t?We:Ve,[i,s]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{"true"===localStorage.getItem("mainland")&&s(!0)}),[]),i?r.createElement(r.Fragment,null,r.createElement(o,(0,l.Z)({href:"https://cdn.casdoor.com/casdoor/resource/built-in/admin/qq_casnode.png",className:"header-community-qq"},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")})),r.createElement(o,(0,l.Z)({href:"https://cdn.casdoor.com/casdoor/resource/built-in/admin/wechat.jpg",target:"_blank",className:"header-community-wechat"},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))):r.createElement(o,(0,l.Z)({href:"https://discord.gg/d8dsAWgn43",className:"header-community-discord"},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}};function Ye(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ke[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Qe(){const e=(0,P.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ye,(0,l.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Xe(e){return r.createElement("button",(0,l.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Je(){const e=0===(0,w.L)().navbar.items.length,t=j();return r.createElement(r.Fragment,null,!e&&r.createElement(Xe,{onClick:()=>t.hide()}),t.content)}function et(){const e=(0,P.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(z,{header:r.createElement(J,null),primaryMenu:r.createElement(Qe,null),secondaryMenu:r.createElement(Je,null)}):null}const tt="navbarHideable_m1mJ",nt="navbarHidden_jGov";function rt(e){return r.createElement("div",(0,l.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function at(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,P.e)(),{navbarRef:l,isNavbarVisible:s}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,O.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:l,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[tt,!s&&nt],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(rt,{onClick:i.toggle}),r.createElement(et,null))}var ot=n(8780);const it="errorBoundaryError_a6uf";function lt(e){return r.createElement("button",(0,l.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function st(e){let{error:t}=e;const n=(0,ot.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:it},n)}class ut extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}function ct(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,l.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function dt(){const{toggle:e,shown:t}=(0,P.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(ct,null))}const ft="colorModeToggle_DEke";function pt(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(ut,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(Ye,e)))))}function mt(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function ht(){const e=(0,P.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??"right")}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(mt,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(dt,null),r.createElement(Q,null),r.createElement(pt,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(pt,{items:a}),r.createElement(K,{className:ft}),!o&&r.createElement(ze,null,r.createElement(Fe,null)))})}function gt(){return r.createElement(at,null,r.createElement(ht,null))}function bt(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...s}=t,u=(0,te.Z)(n),c=(0,te.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(ee.Z,(0,l.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},s),o,a&&!(0,ne.Z)(a)&&r.createElement(ae.Z,null))}function vt(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(bt,{item:t}))}function yt(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(vt,{key:t,item:e})))))}function wt(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(yt,{key:t,column:e}))))}function kt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function Et(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(bt,{item:t})}function St(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(Et,{item:e}),t.length!==n+1&&r.createElement(kt,null))))))}function xt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(wt,{columns:t}):r.createElement(St,{links:t})}var Ct=n(941);const Tt="footerLogoLink_BH7S";function _t(e){let{logo:t}=e;const{withBaseUrl:n}=(0,te.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(Ct.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function At(e){let{logo:t}=e;return t.href?r.createElement(ee.Z,{href:t.href,className:Tt,target:t.target},r.createElement(_t,{logo:t})):r.createElement(_t,{logo:t})}function Lt(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Rt(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function Nt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(Rt,{style:o,links:n&&n.length>0&&r.createElement(xt,{links:n}),logo:a&&r.createElement(At,{logo:a}),copyright:t&&r.createElement(Lt,{copyright:t})})}const Pt=r.memo(Nt),Ot=(0,I.Qc)([U.S,k.pl,O.OC,qe.L5,i.VC,function(e){let{children:t}=e;return r.createElement(D.n2,null,r.createElement(P.M,null,r.createElement(B,null,t)))}]);function It(e){let{children:t}=e;return r.createElement(Ot,null,t)}function Dt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(lt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(st,{error:t})))))}const Mt="mainWrapper_z2l0";function Bt(e){const{children:t,noFooter:n,wrapperClassName:l,title:s,description:u}=e;return(0,b.t)(),r.createElement(It,null,r.createElement(i.d,{title:s,description:u}),r.createElement(y,null),r.createElement(N,null),r.createElement(gt,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,Mt,l)},r.createElement(o.Z,{fallback:e=>r.createElement(Dt,e)},t)),!n&&r.createElement(Pt,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),l=n(2263),s=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},l=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},l):l}function d(e){const{siteConfig:{title:t}}=(0,l.Z)(),{navbar:{title:n,logo:u}}=(0,s.L)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.Z)((null==u?void 0:u.href)||"/"),h=n?"":t,g=(null==u?void 0:u.alt)??h;return a.createElement(o.Z,(0,r.Z)({to:m},p,(null==u?void 0:u.target)&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),l=n(2949);const s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,l.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(s.themedImage,s[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>h});var r=n(7462),a=n(7294),o=n(412),i=n(1442);function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const s={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function c(e,t){const n=t?s:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function d(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=(null==r?void 0:r.duration)??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${(null==r?void 0:r.easing)??"ease-in-out"}`,height:`${t}px`}}function l(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return c(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=s.height,e.style.overflow=s.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function f(e){if(!o.Z.canUseDOM)return e?s:u}function p(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:s}=e;const u=(0,a.useRef)(null);return d({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:s?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(c(u.current,n),null==i||i(n))},className:l},r)}function m(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[l,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&s(t)}),[o,t]),o?a.createElement(p,(0,r.Z)({},n,{collapsed:l})):null}function h(e){let{lazy:t,...n}=e;const r=t?m:p;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668);const s=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===s.get(),d=e=>s.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668);const s=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d="light",f="dark",p=e=>e===f?f:d;function m(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[o,i]=(0,r.useState)((e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e))(e));(0,r.useEffect)((()=>{t&&c.del()}),[t]);const s=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(i(t),a&&(e=>{c.set(p(e))})(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:e),c.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=c.get();null!==t&&s(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,s]);const m=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||m.current?m.current=window.matchMedia("print").matches:s(null)};return e.addListener(r),()=>e.removeListener(r)}),[s,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:s,get isDarkTheme(){return o===f},setLightTheme(){s(d)},setDarkTheme(){s(f)}})),[o,s])}function h(e){let{children:t}=e;const n=m();return r.createElement(s.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(s);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>b,Oh:()=>w});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(3438),s=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d=(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},f=(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),p=(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()};const m=r.createContext(null);function h(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>(e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}]))))(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return r.createElement(m.Provider,{value:n},t)}function b(e){let{children:t}=e;return l.cE?r.createElement(g,null,t):r.createElement(r.Fragment,null,t)}function v(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=v(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,a._r)(),[t]=v();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,b:()=>l});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function s(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t,version:n}=e;return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(null===e)throw new a.i6("DocsVersionProvider");return e}},3163:(e,t,n)=>{"use strict";n.d(t,{M:()=>d,e:()=>f});var r=n(7294),a=n(3102),o=n(7524),i=n(1980),l=n(6668),s=n(902);const u=r.createContext(void 0);function c(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,l.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[s,u]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(s)return u(!1),!1}));const c=(0,r.useCallback)((()=>{u((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&u(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:s})),[e,n,c,s])}function d(e){let{children:t}=e;const n=c();return r.createElement(u.Provider,{value:n},t)}function f(){const e=r.useContext(u);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>s,n2:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=i,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},6177:(e,t,n)=>{"use strict";n.d(t,{K:()=>i,M:()=>l});var r=n(7294),a=n(2263),o=n(1980);function i(){return(0,o.Nc)("q")}function l(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.Z)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?q=${encodeURIComponent(t)}`),[e,n])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(7294),a=n(412);const o="desktop",i="mobile",l="ssr";function s(){return a.Z.canUseDOM?window.innerWidth>996?o:i:l}function u(){const[e,t]=(0,r.useState)((()=>s()));return(0,r.useEffect)((()=>{function e(){t(s())}return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},3438:(e,t,n)=>{"use strict";n.d(t,{MN:()=>x,Wl:()=>m,_F:()=>b,cE:()=>f,hI:()=>S,jA:()=>h,lO:()=>w,oz:()=>k,s1:()=>y,vY:()=>E,xz:()=>p});var r=n(7294),a=n(6775),o=n(8790),i=n(143),l=n(373),s=n(4477),u=n(1116),c=n(7392),d=n(8596);const f=!!i._r;function p(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=m(t);if(e)return e}}}function h(){const{pathname:e}=(0,a.TH)(),t=(0,u.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=v({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t);function b(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||((e,t)=>e.some((e=>b(e,t))))(e.items,t))}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function y(){var e;const t=(0,u.V)(),{pathname:n}=(0,a.TH)();return!1!==(null==(e=(0,i.gA)())?void 0:e.pluginData.breadcrumbs)&&t?v({sidebarItems:t.items,pathname:n}):null}function w(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,c.j)([t,n,a].filter(Boolean))),[t,n,a])}function k(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.j)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function S(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,l=i.find((e=>(0,a.LX)(r.pathname,e)));if(!l)return null;const s=l.sidebar,u=s?n.docsSidebars[s]:void 0;return{docElement:(0,o.H)(i),sidebarName:s,sidebarItems:u}}function x(e){return e.filter((e=>"category"!==e.type||!!m(e)))}},2128:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(2263);function a(e){const{siteConfig:t}=(0,r.Z)(),{title:n,titleDelimiter:a}=t;return null!=e&&e.trim().length?`${e.trim()} ${a} ${n}`:n}},1980:(e,t,n)=>{"use strict";n.d(t,{Nc:()=>u,Rb:()=>l,_X:()=>s});var r=n(7294),a=n(6775),o=n(1688),i=n(902);function l(e){!function(e){const t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){return function(e){const t=(0,a.k6)();return(0,o.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function u(e){const t=s(e)??"",n=function(){const e=(0,a.k6)();return(0,r.useCallback)(((t,n,r)=>{const a=new URLSearchParams(e.location.search);n?a.set(t,n):a.delete(t),(null!=r&&r.push?e.push:e.replace)({search:a.toString()})}),[e])}();return[t,(0,r.useCallback)(((t,r)=>{n(e,t,r)}),[n,e])]}},7392:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{j:()=>a,l:()=>r})},833:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2128);function c(e){let{title:t,description:n,keywords:a,image:i,children:l}=e;const c=(0,u.p)(t),{withBaseUrl:d}=(0,s.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),l)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),l=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:l},r.createElement(o.Z,null,r.createElement("html",{className:l})),n)}function p(e){let{children:t}=e;const n=l(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>s,i6:()=>l,zX:()=>o});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){var n,r,a;super(),this.name="ReactContextError",this.message=`Hook ${(null==(n=this.stack)||null==(r=n.split("\n")[1])||null==(a=r.match(/at (?:\w+\.)?(?\w+)/))?void 0:a.groups.name)??""} is called outside the <${e}>. ${t??""}`}}function s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},8022:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>r})},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>{var t;return null==(t=!e||e.endsWith("/")?e:`${e}/`)?void 0:t.toLowerCase()};return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>p,OC:()=>s,RF:()=>d,o5:()=>f});var r=n(7294),a=n(412),o=n(2389),i=n(902);const l=r.createContext(void 0);function s(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(l.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=u(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,r.useLayoutEffect)((()=>{queueMicrotask((()=>null==n.current?void 0:n.current()))})),{blockElementScrollPositionUntilNextRender:a}}function p(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>null==e.current?void 0:e.current()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>s,os:()=>l});var r=n(143),a=n(2263),o=n(373);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,a.Z)(),t=(0,r._r)(),n=(0,r.WS)(),s=(0,o.Oh)();const u=[i,...Object.keys(t).map((function(e){const r=(null==n?void 0:n.activePlugin.pluginId)===e?n.activeVersion:void 0,a=s[e],o=t[e].versions.find((e=>e.isLast));return l(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:u}}},12:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>d,WA:()=>c});var r=n(7294),a=n(1688);const o="localStorage";function i(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function l(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const u={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=l(null==t?void 0:t.persistence);return null===n?u:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),i({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),i({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?u:c(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,a.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6775),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6775),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},6278:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){const{siteConfig:{themeConfig:e}}=(0,r.Z)();return e}},239:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(7294),a=n(8022),o=n(4996),i=n(6278);function l(){const{withBaseUrl:e}=(0,o.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.L)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.F)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},6010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>T,ob:()=>p,PP:()=>A,Ep:()=>f});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(2177);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,o){for(var i,l,s=a(e),u=1;u{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof a)){var C,T=1;if(v){if(!(C=o(k,S,e,b))||C.index>=e.length)break;var _=C.index,A=C.index+C[0].length,L=S;for(L+=E.value.length;_>=L;)L+=(E=E.next).value.length;if(S=L-=E.value.length,E.value instanceof a)continue;for(var R=E;R!==t.tail&&(Ld.reach&&(d.reach=I);var D=E.prev;if(P&&(D=s(t,D,P),S+=P.length),u(t,D,T),E=s(t,D,new a(f,g?r.tokenize(N,g):N,y,N)),O&&s(t,E,O),T>1){var M={cause:f+","+m,reach:I};i(e,t,n,E.prev,S,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var s=n;s=0&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,s(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=s(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var s=o.substring(0,l),d=u(c[a]),p=o.substring(l+a.length),m=[];if(s&&m.push(s),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},l=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var s=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=i(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof u?l.splice.apply(l,[s,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var f,p=r(s),m=c;a(m);){for(var h in f={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(f[e]=!0)}))}for(var b in d)if(!(b in c))for(var v in p(b))if(v in c){f[b]=!0;break}for(var y in m=f)c[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var a,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)a=r(e);else{var f=i(c.map((function(e){var t=u(e);return delete s[e],t})));o?a=o(f,(function(){return r(e)})):r(e)}return l[e]=a}for(var c in n)u(c);var d=[];for(var f in s)d.push(l[f]);return i(d)}(p,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(7418),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n