diff --git a/404.html b/404.html index da72953..2c5e166 100644 --- a/404.html +++ b/404.html @@ -4,8 +4,8 @@ Page Not Found | PixiJS Devtools - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/js/1df93b7f.eee4373e.js b/assets/js/1df93b7f.9c4221d7.js similarity index 64% rename from assets/js/1df93b7f.eee4373e.js rename to assets/js/1df93b7f.9c4221d7.js index 04559fd..bd2c978 100644 --- a/assets/js/1df93b7f.eee4373e.js +++ b/assets/js/1df93b7f.9c4221d7.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[583],{6066:(e,t,s)=>{s.r(t),s.d(t,{default:()=>u});var o=s(4357),n=s(2436),i=s(396),l=s(6047),r=s(4441);const a={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};var c=s(1085);function d(){const{siteConfig:e}=(0,i.A)();return(0,c.jsx)("header",{className:(0,o.A)(a.heroBanner),children:(0,c.jsxs)("div",{className:"container",children:[(0,c.jsx)(r.A,{as:"h1",children:(0,c.jsx)("img",{src:"/devtools/img/logo-main.svg",alt:"Logo",width:"50%"})}),(0,c.jsx)("p",{className:"hero__subtitle",style:{marginTop:-30},children:e.tagline}),(0,c.jsxs)("div",{className:a.buttons,children:[(0,c.jsx)(n.A,{className:"button button--primary button--lg",style:{color:"white"},to:"/docs/guide/installation",children:"Get Started"}),(0,c.jsx)(n.A,{className:"button button--primary button--lg",style:{color:"white"},to:"/docs/guide/features",children:"Features"})]})]})})}function u(){const{siteConfig:e}=(0,i.A)();return(0,c.jsxs)(l.A,{title:`${e.title}`,description:"Description will go into a meta tag in ",children:[(0,c.jsx)(d,{}),(0,c.jsx)("main",{style:{textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",marginTop:-30},children:(0,c.jsx)("img",{src:"/devtools/img/devtool-screenshot.png",alt:"Hero",style:{width:"800px",borderRadius:8,border:"1px solid #676767"}})})]})}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[583],{6066:(e,t,s)=>{s.r(t),s.d(t,{default:()=>u});var o=s(4357),n=s(2436),i=s(396),l=s(6047),r=s(4441);const a={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};var c=s(1085);function d(){const{siteConfig:e}=(0,i.A)();return(0,c.jsx)("header",{className:(0,o.A)(a.heroBanner),children:(0,c.jsxs)("div",{className:"container",children:[(0,c.jsx)(r.A,{as:"h1",children:(0,c.jsx)("img",{src:"/devtools/img/logo-main.svg",alt:"Logo",width:"50%"})}),(0,c.jsx)("p",{className:"hero__subtitle",style:{marginTop:-30},children:e.tagline}),(0,c.jsxs)("div",{className:a.buttons,children:[(0,c.jsx)(n.A,{className:"button button--primary button--lg",style:{color:"white"},to:"/docs/guide/installation",children:"Get Started"}),(0,c.jsx)(n.A,{className:"button button--primary button--lg",style:{color:"white"},to:"/docs/guide/features/scene",children:"Features"})]})]})})}function u(){const{siteConfig:e}=(0,i.A)();return(0,c.jsxs)(l.A,{title:`${e.title}`,description:"Description will go into a meta tag in ",children:[(0,c.jsx)(d,{}),(0,c.jsx)("main",{style:{textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",marginTop:-30},children:(0,c.jsx)("img",{src:"/devtools/img/devtool-screenshot.png",alt:"Hero",style:{width:"800px",borderRadius:8,border:"1px solid #676767"}})})]})}}}]); \ No newline at end of file diff --git a/assets/js/4a148559.0799df64.js b/assets/js/4a148559.0799df64.js new file mode 100644 index 0000000..56dc5f4 --- /dev/null +++ b/assets/js/4a148559.0799df64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[746],{2617:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var t=s(1085),o=s(1184);const i={sidebar_position:3},r="F.A.Q",l={id:"guide/faq",title:"F.A.Q",description:"The PixiJS Devtools don't show up",source:"@site/docs/guide/faq.md",sourceDirName:"guide",slug:"/guide/faq",permalink:"/devtools/docs/guide/faq",draft:!1,unlisted:!1,editUrl:"https://github.com/pixijs/devtools/tree/main/packages/docs/docs/guide/faq.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"guide",previous:{title:"Assets",permalink:"/devtools/docs/guide/features/assets"}},d={},h=[{value:"The PixiJS Devtools don't show up",id:"the-pixijs-devtools-dont-show-up",level:2},{value:"Scene isn't updating in the Devtools",id:"scene-isnt-updating-in-the-devtools",level:2},{value:"Property is not displayed",id:"property-is-not-displayed",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",hr:"hr",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"faq",children:"F.A.Q"}),"\n",(0,t.jsx)(n.h2,{id:"the-pixijs-devtools-dont-show-up",children:"The PixiJS Devtools don't show up"}),"\n",(0,t.jsx)(n.p,{children:"Here are some troubleshooting steps to help you if you don't the PixiJS devtools in your browser:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Check if the extension is installed and enabled:"}),"\n",(0,t.jsxs)(n.p,{children:["Open the Chrome extensions page by typing ",(0,t.jsx)(n.code,{children:"chrome://extensions"})," in the address bar. Make sure the PixiJS Devtools extension is installed and enabled.\nIf it's not installed, please read the ",(0,t.jsx)(n.a,{href:"/docs/guide/installation",children:"installation guide"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Try closing the devtools pane, refreshing the page and opening the devtools pane again**."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Try restarting the browser or the computer."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you have multiple pages with the PixiJS Devtools open, try closing all of them and opening a new one."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you have multiple versions of the devtools installed, it's recommended to disable/remove the others. n"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Look for errors in the browser Console."}),"\n",(0,t.jsxs)(n.p,{children:["If you see any errors, please report them in the ",(0,t.jsx)(n.a,{href:"https://github.com/pixijs/devtools/issues",children:"GitHub issues"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"scene-isnt-updating-in-the-devtools",children:"Scene isn't updating in the Devtools"}),"\n",(0,t.jsx)(n.p,{children:"If the scene isn't updating in the devtools, try the following steps:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Close the devtools pane."}),"\n",(0,t.jsx)(n.li,{children:"Refresh the page."}),"\n",(0,t.jsx)(n.li,{children:"Open the devtools pane again."}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"If the scene still isn't updating, try looking for errors in the console:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Open the browser console, you can do this by pressing ",(0,t.jsx)(n.code,{children:"ESC"})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:'Look for errors in the devtools Console.\nYou can open the devtools console by right-clicking on the devtools pane and selecting "Inspect".'}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"How to open the devtools console"}),(0,t.jsx)("img",{src:"/devtools/gif/devtool-right-click.gif",alt:"Right click on the devtools pane and select Inspect"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["If you see any errors, please report them in the ",(0,t.jsx)(n.a,{href:"https://github.com/pixijs/devtools/issues",children:"GitHub issues"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"property-is-not-displayed",children:"Property is not displayed"}),"\n",(0,t.jsx)(n.p,{children:"If a property is not displayed in the devtools, it might be because the property is not set on the object."}),"\n",(0,t.jsxs)(n.p,{children:["For example, the ",(0,t.jsx)(n.code,{children:"filterArea"})," property is not displayed in the devtool until it's set on the object in your code.\nTo get the property to display, you can set it on the object like this:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"const sprite = new Sprite(texture);\nsprite.filterArea = new Rectangle(0, 0, 100, 100);\n"})}),"\n",(0,t.jsxs)(n.p,{children:["If you think a property should be displayed, please report it in the ",(0,t.jsx)(n.a,{href:"https://github.com/pixijs/devtools/issues",children:"GitHub issues"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1184:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var t=s(4041);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a148559.d3416eeb.js b/assets/js/4a148559.d3416eeb.js deleted file mode 100644 index f684baa..0000000 --- a/assets/js/4a148559.d3416eeb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[746],{2617:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var t=s(1085),o=s(1184);const i={sidebar_position:3},r="F.A.Q",l={id:"guide/faq",title:"F.A.Q",description:"The PixiJS Devtools don't show up",source:"@site/docs/guide/faq.md",sourceDirName:"guide",slug:"/guide/faq",permalink:"/devtools/docs/guide/faq",draft:!1,unlisted:!1,editUrl:"https://github.com/pixijs/devtools/tree/main/packages/docs/docs/guide/faq.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"guide",previous:{title:"Features",permalink:"/devtools/docs/guide/features"}},d={},h=[{value:"The PixiJS Devtools don't show up",id:"the-pixijs-devtools-dont-show-up",level:2},{value:"Scene isn't updating in the Devtools",id:"scene-isnt-updating-in-the-devtools",level:2},{value:"Property is not displayed",id:"property-is-not-displayed",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",hr:"hr",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"faq",children:"F.A.Q"}),"\n",(0,t.jsx)(n.h2,{id:"the-pixijs-devtools-dont-show-up",children:"The PixiJS Devtools don't show up"}),"\n",(0,t.jsx)(n.p,{children:"Here are some troubleshooting steps to help you if you don't the PixiJS devtools in your browser:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Check if the extension is installed and enabled:"}),"\n",(0,t.jsxs)(n.p,{children:["Open the Chrome extensions page by typing ",(0,t.jsx)(n.code,{children:"chrome://extensions"})," in the address bar. Make sure the PixiJS Devtools extension is installed and enabled.\nIf it's not installed, please read the ",(0,t.jsx)(n.a,{href:"/docs/guide/installation",children:"installation guide"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Try closing the devtools pane, refreshing the page and opening the devtools pane again**."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Try restarting the browser or the computer."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you have multiple pages with the PixiJS Devtools open, try closing all of them and opening a new one."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you have multiple versions of the devtools installed, it's recommended to disable/remove the others. n"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Look for errors in the browser Console."}),"\n",(0,t.jsxs)(n.p,{children:["If you see any errors, please report them in the ",(0,t.jsx)(n.a,{href:"https://github.com/pixijs/devtools/issues",children:"GitHub issues"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"scene-isnt-updating-in-the-devtools",children:"Scene isn't updating in the Devtools"}),"\n",(0,t.jsx)(n.p,{children:"If the scene isn't updating in the devtools, try the following steps:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Close the devtools pane."}),"\n",(0,t.jsx)(n.li,{children:"Refresh the page."}),"\n",(0,t.jsx)(n.li,{children:"Open the devtools pane again."}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"If the scene still isn't updating, try looking for errors in the console:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Open the browser console, you can do this by pressing ",(0,t.jsx)(n.code,{children:"ESC"})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:'Look for errors in the devtools Console.\nYou can open the devtools console by right-clicking on the devtools pane and selecting "Inspect".'}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"How to open the devtools console"}),(0,t.jsx)("img",{src:"/devtools/gif/devtool-right-click.gif",alt:"Right click on the devtools pane and select Inspect"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["If you see any errors, please report them in the ",(0,t.jsx)(n.a,{href:"https://github.com/pixijs/devtools/issues",children:"GitHub issues"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"property-is-not-displayed",children:"Property is not displayed"}),"\n",(0,t.jsx)(n.p,{children:"If a property is not displayed in the devtools, it might be because the property is not set on the object."}),"\n",(0,t.jsxs)(n.p,{children:["For example, the ",(0,t.jsx)(n.code,{children:"filterArea"})," property is not displayed in the devtool until it's set on the object in your code.\nTo get the property to display, you can set it on the object like this:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"const sprite = new Sprite(texture);\nsprite.filterArea = new Rectangle(0, 0, 100, 100);\n"})}),"\n",(0,t.jsxs)(n.p,{children:["If you think a property should be displayed, please report it in the ",(0,t.jsx)(n.a,{href:"https://github.com/pixijs/devtools/issues",children:"GitHub issues"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1184:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var t=s(4041);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5a4245e4.f23128c8.js b/assets/js/5a4245e4.f23128c8.js new file mode 100644 index 0000000..9863df0 --- /dev/null +++ b/assets/js/5a4245e4.f23128c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[465],{2123:(e,i,n)=>{n.r(i),n.d(i,{Gif:()=>d,assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var o=n(1085),t=n(1184);n(4041);const s={sidebar_position:0,title:"Scene"},l="Scene Panel",r={id:"guide/features/scene",title:"Scene",description:"The Scene Panel is a powerful tool that allows you to inspect and manipulate the scene graph of your PixiJS application in real-time.",source:"@site/docs/guide/features/scene.mdx",sourceDirName:"guide/features",slug:"/guide/features/scene",permalink:"/devtools/docs/guide/features/scene",draft:!1,unlisted:!1,editUrl:"https://github.com/pixijs/devtools/tree/main/packages/docs/docs/guide/features/scene.mdx",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Scene"},sidebar:"guide",previous:{title:"Installation",permalink:"/devtools/docs/guide/installation"},next:{title:"Assets",permalink:"/devtools/docs/guide/features/assets"}},a={},d=({src:e,alt:i})=>{const n={div:"div",img:"img",...(0,t.R)()};return(0,o.jsx)(n.div,{style:{display:"flex",justifyContent:"center",padding:"2rem 4rem",paddingTop:"1rem"},children:(0,o.jsx)(n.img,{src:e,alt:i,style:{maxWidth:"100%",borderRadius:"0.5rem",border:"1px solid #676767"}})})},c=[{value:"Editing PixiJS Objects",id:"editing-pixijs-objects",level:2},{value:"Searching for PixiJS Objects",id:"searching-for-pixijs-objects",level:3},{value:"Overlay Highlight",id:"overlay-highlight",level:2},{value:"Selection",id:"selection",level:2},{value:"$pixi",id:"pixi",level:3},{value:"Stats",id:"stats",level:2},{value:"Rename Nodes",id:"rename-nodes",level:2},{value:"Deleting Nodes",id:"deleting-nodes",level:2},{value:"Reparenting Nodes",id:"reparenting-nodes",level:2},{value:"Locking Nodes",id:"locking-nodes",level:2},{value:"Copying Properties",id:"copying-properties",level:2},{value:"Ignoring Nodes",id:"ignoring-nodes",level:2}];function h(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.h1,{id:"scene-panel",children:"Scene Panel"}),"\n",(0,o.jsx)(i.p,{children:"The Scene Panel is a powerful tool that allows you to inspect and manipulate the scene graph of your PixiJS application in real-time.\nIt provides a visual representation of the scene graph, allowing you to view and edit the properties of PixiJS objects, search for objects, and more."}),"\n",(0,o.jsx)(i.p,{children:"See below for a detailed overview of the features available in the Scene Panel."}),"\n",(0,o.jsx)(i.h2,{id:"editing-pixijs-objects",children:"Editing PixiJS Objects"}),"\n",(0,o.jsx)(i.p,{children:"The PixiJS Devtools allows you to edit the properties of PixiJS objects in real-time."}),"\n",(0,o.jsx)(i.p,{children:"You can change the properties of a PixiJS object and see the changes reflected in the scene immediately.\nThis includes properties such as position, scale, rotation, and more."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-properties.gif",alt:"Editing PixiJS objects in the PixiJS Devtools"}),"\n",(0,o.jsxs)(i.admonition,{type:"info",children:[(0,o.jsx)(i.p,{children:"By default pixi properties that do not exist on the object are not shown."}),(0,o.jsxs)(i.p,{children:["For example ",(0,o.jsx)(i.code,{children:"filterArea"})," is not shown in the devtools until it's set on the object in your code."]}),(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-js",children:"const sprite = new Sprite(texture);\nsprite.filterArea = new Rectangle(0, 0, 100, 100);\n"})})]}),"\n",(0,o.jsx)(i.h3,{id:"searching-for-pixijs-objects",children:"Searching for PixiJS Objects"}),"\n",(0,o.jsx)(i.p,{children:"The search feature in the PixiJS Devtools allows you to search for specific PixiJS objects in the scene by their name or other properties,\nmaking it easier to locate and edit objects in complex scenes."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-search.gif",alt:"Searching for PixiJS objects in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"overlay-highlight",children:"Overlay Highlight"}),"\n",(0,o.jsx)(i.p,{children:"The overlay feature in the PixiJS Devtools allows you to highlight the bounds of a PixiJS object in the scene.\nThis is useful for debugging layout and alignment issues."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-highlight.gif",alt:"Highlight overlay for the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"selection",children:"Selection"}),"\n",(0,o.jsx)(i.p,{children:"The selection feature in the PixiJS Devtools allows you to select specific PixiJS objects in the scene, enabling focused editing and inspection."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-selection.gif",alt:"Selecting nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.h3,{id:"pixi",children:"$pixi"}),"\n",(0,o.jsxs)(i.p,{children:["When a PixiJS object is selected in the PixiJS Devtools, you can access it in the console using the ",(0,o.jsx)(i.code,{children:"$pixi"})," variable."]}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"stats",children:"Stats"}),"\n",(0,o.jsx)(i.p,{children:"The stats feature in the PixiJS Devtools allows you to view the total number of PixiJS objects in the scene.\nThis can help you identify performance issues and optimize your application."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-stats.gif",alt:"Viewing stats in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"rename-nodes",children:"Rename Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The rename nodes feature in the PixiJS Devtools allows you to rename specific PixiJS objects in the scene,\nwhich is particularly useful for organizing and managing your scene graph."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-rename.gif",alt:"Renaming nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"deleting-nodes",children:"Deleting Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The delete nodes feature in the PixiJS Devtools allows you to delete specific PixiJS objects from the scene, helping you to manage debug your scene graph."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-delete.gif",alt:"Deleting nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"reparenting-nodes",children:"Reparenting Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The reparent nodes feature in the PixiJS Devtools allows you to move your PixiJS objects around the scene.\nThis can be useful for debugging layout issues."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-reparent.gif",alt:"Reparenting nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"locking-nodes",children:"Locking Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The lock nodes feature in the PixiJS Devtools allows you to lock specific PixiJS objects in the scene."}),"\n",(0,o.jsx)(i.p,{children:"This means that the node can no longer by edited, moved, deleted, or selected using the selection tool."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-lock.gif",alt:"Locking nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"copying-properties",children:"Copying Properties"}),"\n",(0,o.jsx)(i.p,{children:"The copy properties feature in the PixiJS Devtools allows you to copy specific properties of a PixiJS object and paste them back into your code, saving you time and effort."}),"\n",(0,o.jsx)(d,{src:"/devtools/gif/devtool-copy.gif",alt:"Copying properties in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"ignoring-nodes",children:"Ignoring Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The ignore nodes feature in the PixiJS Devtools allows you to hide specific PixiJS objects in the scene.\nThis can be useful when you have a large number of objects in the scene and you are seeing performance issues with the devtools."}),"\n",(0,o.jsx)(i.p,{children:"You have the option to ignore a node and its children, or just its children."}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-js",children:"// Example of ignoring a node\nconst manyChildren = new Container();\nmanyChildren.__devtoolsIgnore = true;\nmanyChildren.__devtoolsIgnoreChildren = true;\n"})}),"\n",(0,o.jsx)(i.admonition,{type:"info",children:(0,o.jsxs)(i.p,{children:["Installing ",(0,o.jsx)(i.code,{children:"@pixi/devtools"})," will automatically add the ",(0,o.jsx)(i.code,{children:"__devtoolsIgnore"})," and ",(0,o.jsx)(i.code,{children:"__devtoolsIgnoreChildren"})," types"]})})]})}function p(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},1184:(e,i,n)=>{n.d(i,{R:()=>l,x:()=>r});var o=n(4041);const t={},s=o.createContext(t);function l(e){const i=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),o.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8b0130ea.8c61cca7.js b/assets/js/8b0130ea.8c61cca7.js deleted file mode 100644 index 0578009..0000000 --- a/assets/js/8b0130ea.8c61cca7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[663],{6754:(e,i,n)=>{n.r(i),n.d(i,{Gif:()=>c,assets:()=>d,contentTitle:()=>l,default:()=>g,frontMatter:()=>s,metadata:()=>r,toc:()=>a});var o=n(1085),t=n(1184);n(4041);const s={sidebar_position:2,title:"Features"},l="Features",r={id:"guide/features",title:"Features",description:"Editing PixiJS Objects",source:"@site/docs/guide/features.mdx",sourceDirName:"guide",slug:"/guide/features",permalink:"/devtools/docs/guide/features",draft:!1,unlisted:!1,editUrl:"https://github.com/pixijs/devtools/tree/main/packages/docs/docs/guide/features.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Features"},sidebar:"guide",previous:{title:"Installation",permalink:"/devtools/docs/guide/installation"},next:{title:"F.A.Q",permalink:"/devtools/docs/guide/faq"}},d={},c=({src:e,alt:i})=>{const n={div:"div",img:"img",...(0,t.R)()};return(0,o.jsx)(n.div,{style:{display:"flex",justifyContent:"center",padding:"2rem 4rem",paddingTop:"1rem"},children:(0,o.jsx)(n.img,{src:e,alt:i,style:{maxWidth:"100%",borderRadius:"0.5rem",border:"1px solid #676767"}})})},a=[{value:"Editing PixiJS Objects",id:"editing-pixijs-objects",level:2},{value:"Searching for PixiJS Objects",id:"searching-for-pixijs-objects",level:3},{value:"$pixi",id:"pixi",level:3},{value:"Overlay Highlight",id:"overlay-highlight",level:2},{value:"Selection",id:"selection",level:2},{value:"Stats",id:"stats",level:2},{value:"Rename Nodes",id:"rename-nodes",level:2},{value:"Deleting Nodes",id:"deleting-nodes",level:2},{value:"Reparenting Nodes",id:"reparenting-nodes",level:2},{value:"Locking Nodes",id:"locking-nodes",level:2},{value:"Copying Properties",id:"copying-properties",level:2},{value:"Ignoring Nodes",id:"ignoring-nodes",level:2}];function h(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.h1,{id:"features",children:"Features"}),"\n",(0,o.jsx)(i.h2,{id:"editing-pixijs-objects",children:"Editing PixiJS Objects"}),"\n",(0,o.jsx)(i.p,{children:"The PixiJS Devtools allows you to edit the properties of PixiJS objects in real-time."}),"\n",(0,o.jsx)(i.p,{children:"You can change the properties of a PixiJS object and see the changes reflected in the scene immediately.\nThis includes properties such as position, scale, rotation, and more."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-properties.gif",alt:"Editing PixiJS objects in the PixiJS Devtools"}),"\n",(0,o.jsxs)(i.admonition,{type:"info",children:[(0,o.jsx)(i.p,{children:"By default pixi properties that do not exist on the object are not shown."}),(0,o.jsxs)(i.p,{children:["For example ",(0,o.jsx)(i.code,{children:"filterArea"})," is not shown in the devtools until it's set on the object in your code."]}),(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-js",children:"const sprite = new Sprite(texture);\nsprite.filterArea = new Rectangle(0, 0, 100, 100);\n"})})]}),"\n",(0,o.jsx)(i.h3,{id:"searching-for-pixijs-objects",children:"Searching for PixiJS Objects"}),"\n",(0,o.jsx)(i.p,{children:"The search feature in the PixiJS Devtools allows you to search for specific PixiJS objects in the scene by their name or other properties,\nmaking it easier to locate and edit objects in complex scenes."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-search.gif",alt:"Searching for PixiJS objects in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h3,{id:"pixi",children:"$pixi"}),"\n",(0,o.jsxs)(i.p,{children:["When a PixiJS object is selected in the PixiJS Devtools, you can access it in the console using the ",(0,o.jsx)(i.code,{children:"$pixi"})," variable."]}),"\n",(0,o.jsx)(i.h2,{id:"overlay-highlight",children:"Overlay Highlight"}),"\n",(0,o.jsx)(i.p,{children:"The overlay feature in the PixiJS Devtools allows you to highlight the bounds of a PixiJS object in the scene.\nThis is useful for debugging layout and alignment issues."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-highlight.gif",alt:"Highlight overlay for the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"selection",children:"Selection"}),"\n",(0,o.jsx)(i.p,{children:"The selection feature in the PixiJS Devtools allows you to select specific PixiJS objects in the scene, enabling focused editing and inspection."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-selection.gif",alt:"Selecting nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"stats",children:"Stats"}),"\n",(0,o.jsx)(i.p,{children:"The stats feature in the PixiJS Devtools allows you to view the total number of PixiJS objects in the scene.\nThis can help you identify performance issues and optimize your application."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-stats.gif",alt:"Viewing stats in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"rename-nodes",children:"Rename Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The rename nodes feature in the PixiJS Devtools allows you to rename specific PixiJS objects in the scene,\nwhich is particularly useful for organizing and managing your scene graph."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-rename.gif",alt:"Renaming nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"deleting-nodes",children:"Deleting Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The delete nodes feature in the PixiJS Devtools allows you to delete specific PixiJS objects from the scene, helping you to manage debug your scene graph."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-delete.gif",alt:"Deleting nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"reparenting-nodes",children:"Reparenting Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The reparent nodes feature in the PixiJS Devtools allows you to move your PixiJS objects around the scene.\nThis can be useful for debugging layout issues."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-reparent.gif",alt:"Reparenting nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"locking-nodes",children:"Locking Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The lock nodes feature in the PixiJS Devtools allows you to lock specific PixiJS objects in the scene."}),"\n",(0,o.jsx)(i.p,{children:"This means that the node can no longer by edited, moved, deleted, or selected using the selection tool."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-lock.gif",alt:"Locking nodes in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"copying-properties",children:"Copying Properties"}),"\n",(0,o.jsx)(i.p,{children:"The copy properties feature in the PixiJS Devtools allows you to copy specific properties of a PixiJS object and paste them back into your code, saving you time and effort."}),"\n",(0,o.jsx)(c,{src:"/devtools/gif/devtool-copy.gif",alt:"Copying properties in the PixiJS Devtools"}),"\n",(0,o.jsx)(i.hr,{}),"\n",(0,o.jsx)(i.h2,{id:"ignoring-nodes",children:"Ignoring Nodes"}),"\n",(0,o.jsx)(i.p,{children:"The ignore nodes feature in the PixiJS Devtools allows you to hide specific PixiJS objects in the scene.\nThis can be useful when you have a large number of objects in the scene and you are seeing performance issues with the devtools."}),"\n",(0,o.jsx)(i.p,{children:"You have the option to ignore a node and its children, or just its children."}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-js",children:"// Example of ignoring a node\nconst manyChildren = new Container();\nmanyChildren.__devtoolsIgnore = true;\nmanyChildren.__devtoolsIgnoreChildren = true;\n"})}),"\n",(0,o.jsx)(i.admonition,{type:"info",children:(0,o.jsxs)(i.p,{children:["Installing ",(0,o.jsx)(i.code,{children:"@pixi/devtools"})," will automatically add the ",(0,o.jsx)(i.code,{children:"__devtoolsIgnore"})," and ",(0,o.jsx)(i.code,{children:"__devtoolsIgnoreChildren"})," types"]})})]})}function g(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},1184:(e,i,n)=>{n.d(i,{R:()=>l,x:()=>r});var o=n(4041);const t={},s=o.createContext(t);function l(e){const i=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),o.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d12cf10f.844e6a03.js b/assets/js/d12cf10f.844e6a03.js deleted file mode 100644 index ef75561..0000000 --- a/assets/js/d12cf10f.844e6a03.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[990],{4355:(e,o,n)=>{n.r(o),n.d(o,{CustomLink:()=>h,CustomLinks:()=>p,assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var t=n(1085),i=n(1184),s=n(4041),r=n(2727);const l={sidebar_position:1,title:"Installation"},a="Installation",d={id:"guide/installation",title:"Installation",description:"hoverLogo = hoverLogo || logo;",source:"@site/docs/guide/installation.mdx",sourceDirName:"guide",slug:"/guide/installation",permalink:"/devtools/docs/guide/installation",draft:!1,unlisted:!1,editUrl:"https://github.com/pixijs/devtools/tree/main/packages/docs/docs/guide/installation.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Installation"},sidebar:"guide",next:{title:"Features",permalink:"/devtools/docs/guide/features"}},c={},h=({logo:e,hoverLogo:o,label:n,href:l,external:a})=>{const d={a:"a",img:"img",...(0,i.R)()},[c,h]=s.useState(!1),{colorMode:p}=(0,r.G)();o=o||e;const u="dark"===p?"var(--ifm-color-primary-darker)":"var(--ifm-color-primary-light)",x={border:"1px solid #f3f4f6",borderRadius:"0.375rem",display:"flex",alignItems:"center",gap:"1rem",padding:"1rem",textDecoration:"none",color:c?"white":"inherit",backgroundColor:c?u:"transparent",borderColor:c?u:"#f3f4f6"};return(0,t.jsxs)(d.a,{href:l,target:a?"_blank":void 0,rel:a?"noopener noreferrer":void 0,style:x,onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[(0,t.jsx)(d.img,{src:c?o:e,alt:n,style:{maxWidth:"2rem",maxHeight:"2rem"}}),n]})},p=({links:e})=>{const o={div:"div",...(0,i.R)()};return(0,t.jsx)(o.div,{style:{display:"flex",flexDirection:"column",gap:"1rem",justifyContent:"center"},children:e.map(((e,o)=>(0,t.jsx)(h,{...e},o)))})},u=[{value:"Extensions",id:"extensions",level:2},{value:"Application Setup",id:"application-setup",level:2},{value:"Automatic Setup",id:"automatic-setup",level:3},{value:"Manual Setup",id:"manual-setup",level:3},{value:"LastRenderedObject",id:"lastrenderedobject",level:3},{value:"Unofficial Setup",id:"unofficial-setup",level:3}];function x(e){const o={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"installation",children:"Installation"}),"\n",(0,t.jsx)(o.admonition,{title:"PixiJS Support",type:"info",children:(0,t.jsxs)(o.p,{children:["This extension is designed to work with PixiJS ",(0,t.jsx)(o.code,{children:"v7"}),"/",(0,t.jsx)(o.code,{children:"v8"})," applications."]})}),"\n",(0,t.jsx)(o.h2,{id:"extensions",children:"Extensions"}),"\n",(0,t.jsx)(o.p,{children:"Install the PixiJS Devtools extension through the Chrome Web Store, or download the latest release from GitHub."}),"\n",(0,t.jsx)(p,{links:[{label:"Install on Chrome",logo:"/devtools/img/logo-chrome.svg",hoverLogo:"/devtools/img/logo-chrome-light.svg",href:"https://chrome.google.com/webstore/detail/pixijs-devtools/dlkffcaaoccbofklocbjcmppahjjboce",external:!0},{label:"Install latest release",logo:"/devtools/img/logo.svg",hoverLogo:"/devtools/img/logo-light.svg",href:"https://github.com/pixijs/devtools/releases",external:!0}]}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h2,{id:"application-setup",children:"Application Setup"}),"\n",(0,t.jsx)(o.p,{children:"To use the extension, you need to set up the devtool in your application. There are a couple of ways to do this:"}),"\n",(0,t.jsx)(o.h3,{id:"automatic-setup",children:"Automatic Setup"}),"\n",(0,t.jsxs)(o.p,{children:["The preferred method for setting up the devtool is to install the ",(0,t.jsx)(o.code,{children:"@pixi/devtools"})," package."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-bash",children:"npm install @pixi/devtools\n"})}),"\n",(0,t.jsxs)(o.p,{children:["To enable the devtool, you need to configure it with your PixiJS application. This is done by setting the ",(0,t.jsx)(o.code,{children:"app"})," property in the configuration object,\nor you can pass the ",(0,t.jsx)(o.code,{children:"stage"})," and ",(0,t.jsx)(o.code,{children:"renderer"})," properties directly if you are not using the ",(0,t.jsx)(o.code,{children:"Application"})," class."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"import { initDevtools } from '@pixi/devtools';\n\ninitDevtools({ app });\n// or\ninitDevtools({ stage, renderer });\n"})}),"\n",(0,t.jsxs)(o.p,{children:["The benefit of using the ",(0,t.jsx)(o.code,{children:"@pixi/devtools"})," package is that you get TypeScript support for extension development,\nand the package will automatically import ",(0,t.jsx)(o.code,{children:"pixi.js"})," dynamically if you do not provide pixi in the configuration."]}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h3,{id:"manual-setup",children:"Manual Setup"}),"\n",(0,t.jsxs)(o.p,{children:["Alternatively, you can manually set up the devtool by configuring the ",(0,t.jsx)(o.code,{children:"window.__PIXI_DEVTOOLS__"})," object directly."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_DEVTOOLS__ = {\n app\n};\n"})}),"\n",(0,t.jsxs)(o.p,{children:["If you are not using the PixiJS ",(0,t.jsx)(o.code,{children:"Application"})," class, you can set the ",(0,t.jsx)(o.code,{children:"stage"})," and ",(0,t.jsx)(o.code,{children:"renderer"})," properties directly."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_DEVTOOLS__ = {\n stage,\n renderer\n};\n"})}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h3,{id:"lastrenderedobject",children:"LastRenderedObject"}),"\n",(0,t.jsxs)(o.p,{children:["If you do not provide a ",(0,t.jsx)(o.code,{children:"stage"})," then the devtool will use the last rendered object as the root of the tree. This is less accurate than providing the ",(0,t.jsx)(o.code,{children:"stage"})," directly,\nso it is recommended to provide the ",(0,t.jsx)(o.code,{children:"stage"})," if possible."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_DEVTOOLS__ = {\n renderer\n};\n"})}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h3,{id:"unofficial-setup",children:"Unofficial Setup"}),"\n",(0,t.jsxs)(o.p,{children:["Before the PixiJS team released our extension, there was an unofficial ",(0,t.jsx)(o.code,{children:"pixi-inspector"})," extension available. Due to the popularity of this extension we have made an effort to\nmake the same setup work with the our extension."]}),"\n",(0,t.jsx)(o.p,{children:"The setup below is not recommended but is still available for those who are using the other extension."}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_APP__ = app;\n// or\nwindow.__PIXI_STAGE__ = yourContainer;\nwindow.__PIXI_RENDERER__ = yourRenderer;\n"})})]})}function g(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},1184:(e,o,n)=>{n.d(o,{R:()=>r,x:()=>l});var t=n(4041);const i={},s=t.createContext(i);function r(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d12cf10f.bf2fde4b.js b/assets/js/d12cf10f.bf2fde4b.js new file mode 100644 index 0000000..7dc9df4 --- /dev/null +++ b/assets/js/d12cf10f.bf2fde4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[990],{4355:(e,o,n)=>{n.r(o),n.d(o,{CustomLink:()=>h,CustomLinks:()=>p,assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var t=n(1085),i=n(1184),s=n(4041),r=n(2727);const l={sidebar_position:0,title:"Installation"},a="Installation",d={id:"guide/installation",title:"Installation",description:"hoverLogo = hoverLogo || logo;",source:"@site/docs/guide/installation.mdx",sourceDirName:"guide",slug:"/guide/installation",permalink:"/devtools/docs/guide/installation",draft:!1,unlisted:!1,editUrl:"https://github.com/pixijs/devtools/tree/main/packages/docs/docs/guide/installation.mdx",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Installation"},sidebar:"guide",next:{title:"Scene",permalink:"/devtools/docs/guide/features/scene"}},c={},h=({logo:e,hoverLogo:o,label:n,href:l,external:a})=>{const d={a:"a",img:"img",...(0,i.R)()},[c,h]=s.useState(!1),{colorMode:p}=(0,r.G)();o=o||e;const u="dark"===p?"var(--ifm-color-primary-darker)":"var(--ifm-color-primary-light)",x={border:"1px solid #f3f4f6",borderRadius:"0.375rem",display:"flex",alignItems:"center",gap:"1rem",padding:"1rem",textDecoration:"none",color:c?"white":"inherit",backgroundColor:c?u:"transparent",borderColor:c?u:"#f3f4f6"};return(0,t.jsxs)(d.a,{href:l,target:a?"_blank":void 0,rel:a?"noopener noreferrer":void 0,style:x,onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[(0,t.jsx)(d.img,{src:c?o:e,alt:n,style:{maxWidth:"2rem",maxHeight:"2rem"}}),n]})},p=({links:e})=>{const o={div:"div",...(0,i.R)()};return(0,t.jsx)(o.div,{style:{display:"flex",flexDirection:"column",gap:"1rem",justifyContent:"center"},children:e.map(((e,o)=>(0,t.jsx)(h,{...e},o)))})},u=[{value:"Extensions",id:"extensions",level:2},{value:"Application Setup",id:"application-setup",level:2},{value:"Automatic Setup",id:"automatic-setup",level:3},{value:"Manual Setup",id:"manual-setup",level:3},{value:"LastRenderedObject",id:"lastrenderedobject",level:3},{value:"Unofficial Setup",id:"unofficial-setup",level:3}];function x(e){const o={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"installation",children:"Installation"}),"\n",(0,t.jsx)(o.admonition,{title:"PixiJS Support",type:"info",children:(0,t.jsxs)(o.p,{children:["This extension is designed to work with PixiJS ",(0,t.jsx)(o.code,{children:"v7"}),"/",(0,t.jsx)(o.code,{children:"v8"})," applications."]})}),"\n",(0,t.jsx)(o.h2,{id:"extensions",children:"Extensions"}),"\n",(0,t.jsx)(o.p,{children:"Install the PixiJS Devtools extension through the Chrome Web Store, or download the latest release from GitHub."}),"\n",(0,t.jsx)(p,{links:[{label:"Install on Chrome",logo:"/devtools/img/logo-chrome.svg",hoverLogo:"/devtools/img/logo-chrome-light.svg",href:"https://chrome.google.com/webstore/detail/pixijs-devtools/dlkffcaaoccbofklocbjcmppahjjboce",external:!0},{label:"Install latest release",logo:"/devtools/img/logo.svg",hoverLogo:"/devtools/img/logo-light.svg",href:"https://github.com/pixijs/devtools/releases",external:!0}]}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h2,{id:"application-setup",children:"Application Setup"}),"\n",(0,t.jsx)(o.p,{children:"To use the extension, you need to set up the devtool in your application. There are a couple of ways to do this:"}),"\n",(0,t.jsx)(o.h3,{id:"automatic-setup",children:"Automatic Setup"}),"\n",(0,t.jsxs)(o.p,{children:["The preferred method for setting up the devtool is to install the ",(0,t.jsx)(o.code,{children:"@pixi/devtools"})," package."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-bash",children:"npm install @pixi/devtools\n"})}),"\n",(0,t.jsxs)(o.p,{children:["To enable the devtool, you need to configure it with your PixiJS application. This is done by setting the ",(0,t.jsx)(o.code,{children:"app"})," property in the configuration object,\nor you can pass the ",(0,t.jsx)(o.code,{children:"stage"})," and ",(0,t.jsx)(o.code,{children:"renderer"})," properties directly if you are not using the ",(0,t.jsx)(o.code,{children:"Application"})," class."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"import { initDevtools } from '@pixi/devtools';\n\ninitDevtools({ app });\n// or\ninitDevtools({ stage, renderer });\n"})}),"\n",(0,t.jsxs)(o.p,{children:["The benefit of using the ",(0,t.jsx)(o.code,{children:"@pixi/devtools"})," package is that you get TypeScript support for extension development,\nand the package will automatically import ",(0,t.jsx)(o.code,{children:"pixi.js"})," dynamically if you do not provide pixi in the configuration."]}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h3,{id:"manual-setup",children:"Manual Setup"}),"\n",(0,t.jsxs)(o.p,{children:["Alternatively, you can manually set up the devtool by configuring the ",(0,t.jsx)(o.code,{children:"window.__PIXI_DEVTOOLS__"})," object directly."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_DEVTOOLS__ = {\n app\n};\n"})}),"\n",(0,t.jsxs)(o.p,{children:["If you are not using the PixiJS ",(0,t.jsx)(o.code,{children:"Application"})," class, you can set the ",(0,t.jsx)(o.code,{children:"stage"})," and ",(0,t.jsx)(o.code,{children:"renderer"})," properties directly."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_DEVTOOLS__ = {\n stage,\n renderer\n};\n"})}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h3,{id:"lastrenderedobject",children:"LastRenderedObject"}),"\n",(0,t.jsxs)(o.p,{children:["If you do not provide a ",(0,t.jsx)(o.code,{children:"stage"})," then the devtool will use the last rendered object as the root of the tree. This is less accurate than providing the ",(0,t.jsx)(o.code,{children:"stage"})," directly,\nso it is recommended to provide the ",(0,t.jsx)(o.code,{children:"stage"})," if possible."]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_DEVTOOLS__ = {\n renderer\n};\n"})}),"\n",(0,t.jsx)(o.hr,{}),"\n",(0,t.jsx)(o.h3,{id:"unofficial-setup",children:"Unofficial Setup"}),"\n",(0,t.jsxs)(o.p,{children:["Before the PixiJS team released our extension, there was an unofficial ",(0,t.jsx)(o.code,{children:"pixi-inspector"})," extension available. Due to the popularity of this extension we have made an effort to\nmake the same setup work with the our extension."]}),"\n",(0,t.jsx)(o.p,{children:"The setup below is not recommended but is still available for those who are using the other extension."}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-js",children:"window.__PIXI_APP__ = app;\n// or\nwindow.__PIXI_STAGE__ = yourContainer;\nwindow.__PIXI_RENDERER__ = yourRenderer;\n"})})]})}function g(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},1184:(e,o,n)=>{n.d(o,{R:()=>r,x:()=>l});var t=n(4041);const i={},s=t.createContext(i);function r(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e69dd2f0.be96db53.js b/assets/js/e69dd2f0.be96db53.js new file mode 100644 index 0000000..e6b5be1 --- /dev/null +++ b/assets/js/e69dd2f0.be96db53.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[874],{7484:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"guide":[{"type":"link","label":"Installation","href":"/devtools/docs/guide/installation","docId":"guide/installation","unlisted":false},{"type":"category","label":"Features","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Scene","href":"/devtools/docs/guide/features/scene","docId":"guide/features/scene","unlisted":false},{"type":"link","label":"Assets","href":"/devtools/docs/guide/features/assets","docId":"guide/features/assets","unlisted":false}]},{"type":"link","label":"F.A.Q","href":"/devtools/docs/guide/faq","docId":"guide/faq","unlisted":false}],"plugin":[{"type":"link","label":"Getting Started","href":"/devtools/docs/plugin/","docId":"plugin/index","unlisted":false},{"type":"category","label":"Scene Extensions","items":[{"type":"link","label":"Properties","href":"/devtools/docs/plugin/properties","docId":"plugin/properties","unlisted":false},{"type":"link","label":"Overlay","href":"/devtools/docs/plugin/overlay","docId":"plugin/overlay","unlisted":false},{"type":"link","label":"Stats","href":"/devtools/docs/plugin/stats","docId":"plugin/stats","unlisted":false},{"type":"link","label":"Tree","href":"/devtools/docs/plugin/tree","docId":"plugin/tree","unlisted":false}],"collapsed":false,"collapsible":false}]},"docs":{"guide/faq":{"id":"guide/faq","title":"F.A.Q","description":"The PixiJS Devtools don\'t show up","sidebar":"guide"},"guide/features/assets":{"id":"guide/features/assets","title":"Assets","description":"The Asset Panel in PixiJS provides a detailed view of all assets currently utilized by your application. This tool is invaluable for monitoring GPU memory usage","sidebar":"guide"},"guide/features/scene":{"id":"guide/features/scene","title":"Scene","description":"The Scene Panel is a powerful tool that allows you to inspect and manipulate the scene graph of your PixiJS application in real-time.","sidebar":"guide"},"guide/installation":{"id":"guide/installation","title":"Installation","description":"hoverLogo = hoverLogo || logo;","sidebar":"guide"},"plugin/index":{"id":"plugin/index","title":"Getting Started","description":"This guide will help you create your own extensions for the devtools.","sidebar":"plugin"},"plugin/overlay":{"id":"plugin/overlay","title":"Overlay","description":"The overlay extension allows you to highlight the bounds of a PixiJS object in the scene. This is useful for debugging layout and alignment issues.","sidebar":"plugin"},"plugin/properties":{"id":"plugin/properties","title":"Properties","description":"The Properties extension enhances the PixiJS Devtools by enabling you to display and edit the properties of any node within the devtools interface. This powerful feature provides flexibility and customization options, allowing you to:","sidebar":"plugin"},"plugin/stats":{"id":"plugin/stats","title":"Stats","description":"The stats extension allows you to provided valuable insights into the current scene by displaying various metrics, such as the number of specific nodes or any other data you wish to track. This tool enhances your ability to monitor and optimize your PixiJS application.","sidebar":"plugin"},"plugin/tree":{"id":"plugin/tree","title":"Tree","description":"The Tree extension allows you to filter and display the scene graph in a tree view. This extension is useful for navigating complex scenes and debugging issues related to the structure of your PixiJS application.","sidebar":"plugin"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/e69dd2f0.d2c47ae0.js b/assets/js/e69dd2f0.d2c47ae0.js deleted file mode 100644 index b8667cb..0000000 --- a/assets/js/e69dd2f0.d2c47ae0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[874],{7484:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"guide":[{"type":"link","label":"Installation","href":"/devtools/docs/guide/installation","docId":"guide/installation","unlisted":false},{"type":"link","label":"Features","href":"/devtools/docs/guide/features","docId":"guide/features","unlisted":false},{"type":"link","label":"F.A.Q","href":"/devtools/docs/guide/faq","docId":"guide/faq","unlisted":false}],"plugin":[{"type":"link","label":"Getting Started","href":"/devtools/docs/plugin/","docId":"plugin/index","unlisted":false},{"type":"category","label":"Scene Extensions","items":[{"type":"link","label":"Properties","href":"/devtools/docs/plugin/properties","docId":"plugin/properties","unlisted":false},{"type":"link","label":"Overlay","href":"/devtools/docs/plugin/overlay","docId":"plugin/overlay","unlisted":false},{"type":"link","label":"Stats","href":"/devtools/docs/plugin/stats","docId":"plugin/stats","unlisted":false},{"type":"link","label":"Tree","href":"/devtools/docs/plugin/tree","docId":"plugin/tree","unlisted":false}],"collapsed":false,"collapsible":false}]},"docs":{"guide/faq":{"id":"guide/faq","title":"F.A.Q","description":"The PixiJS Devtools don\'t show up","sidebar":"guide"},"guide/features":{"id":"guide/features","title":"Features","description":"Editing PixiJS Objects","sidebar":"guide"},"guide/installation":{"id":"guide/installation","title":"Installation","description":"hoverLogo = hoverLogo || logo;","sidebar":"guide"},"plugin/index":{"id":"plugin/index","title":"Getting Started","description":"This guide will help you create your own extensions for the devtools.","sidebar":"plugin"},"plugin/overlay":{"id":"plugin/overlay","title":"Overlay","description":"The overlay extension allows you to highlight the bounds of a PixiJS object in the scene. This is useful for debugging layout and alignment issues.","sidebar":"plugin"},"plugin/properties":{"id":"plugin/properties","title":"Properties","description":"The Properties extension enhances the PixiJS Devtools by enabling you to display and edit the properties of any node within the devtools interface. This powerful feature provides flexibility and customization options, allowing you to:","sidebar":"plugin"},"plugin/stats":{"id":"plugin/stats","title":"Stats","description":"The stats extension allows you to provided valuable insights into the current scene by displaying various metrics, such as the number of specific nodes or any other data you wish to track. This tool enhances your ability to monitor and optimize your PixiJS application.","sidebar":"plugin"},"plugin/tree":{"id":"plugin/tree","title":"Tree","description":"The Tree extension allows you to filter and display the scene graph in a tree view. This extension is useful for navigating complex scenes and debugging issues related to the structure of your PixiJS application.","sidebar":"plugin"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/ff0a531e.a161f894.js b/assets/js/ff0a531e.a161f894.js new file mode 100644 index 0000000..108204e --- /dev/null +++ b/assets/js/ff0a531e.a161f894.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[524],{908:(e,t,s)=>{s.r(t),s.d(t,{Gif:()=>d,assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var i=s(1085),n=s(1184);s(4041);const r={sidebar_position:1,title:"Assets"},o="Asset Panel",a={id:"guide/features/assets",title:"Assets",description:"The Asset Panel in PixiJS provides a detailed view of all assets currently utilized by your application. This tool is invaluable for monitoring GPU memory usage",source:"@site/docs/guide/features/assets.mdx",sourceDirName:"guide/features",slug:"/guide/features/assets",permalink:"/devtools/docs/guide/features/assets",draft:!1,unlisted:!1,editUrl:"https://github.com/pixijs/devtools/tree/main/packages/docs/docs/guide/features/assets.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Assets"},sidebar:"guide",previous:{title:"Scene",permalink:"/devtools/docs/guide/features/scene"},next:{title:"F.A.Q",permalink:"/devtools/docs/guide/faq"}},l={},d=({src:e,alt:t})=>{const s={div:"div",img:"img",...(0,n.R)()};return(0,i.jsx)(s.div,{style:{display:"flex",justifyContent:"center",padding:"2rem 4rem",paddingTop:"1rem"},children:(0,i.jsx)(s.img,{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"0.5rem",border:"1px solid #676767"}})})},u=[{value:"Texture Inspection",id:"texture-inspection",level:2},{value:"Texture Search",id:"texture-search",level:2},{value:"Texture Sorting",id:"texture-sorting",level:2}];function c(e){const t={h1:"h1",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"asset-panel",children:"Asset Panel"}),"\n",(0,i.jsx)(t.p,{children:"The Asset Panel in PixiJS provides a detailed view of all assets currently utilized by your application. This tool is invaluable for monitoring GPU memory usage\nand identifying which textures are loaded onto the GPU."}),"\n",(0,i.jsx)(t.p,{children:"By visualizing your assets, the Asset Panel becomes a powerful resource for debugging and optimizing your PixiJS application. It helps you detect and remove\nunused assets that are still loaded on the GPU, ensuring efficient memory usage and improved performance."}),"\n",(0,i.jsx)(t.h2,{id:"texture-inspection",children:"Texture Inspection"}),"\n",(0,i.jsx)(t.p,{children:"The Asset Panel displays all textures currently loaded onto the GPU. You can view the texture's dimensions, format, and memory usage. The panel also provides\na preview of the texture, making it easy to identify the asset."}),"\n",(0,i.jsx)(d,{src:"/devtools/gif/devtool-asset-selection.gif",alt:"Selecting texture"}),"\n",(0,i.jsx)(t.h2,{id:"texture-search",children:"Texture Search"}),"\n",(0,i.jsx)(t.p,{children:"The Asset Panel includes a search feature that allows you to quickly find a specific texture."}),"\n",(0,i.jsx)(d,{src:"/devtools/gif/devtool-asset-search.gif",alt:"Searching for texture"}),"\n",(0,i.jsx)(t.h2,{id:"texture-sorting",children:"Texture Sorting"}),"\n",(0,i.jsx)(t.p,{children:"You can sort the textures in the Asset Panel by various criteria, such as memory usage or dimensions. This feature helps you identify large textures that may\nbe impacting your application's performance."}),"\n",(0,i.jsx)(d,{src:"/devtools/gif/devtool-asset-sorting.gif",alt:"Sorting textures"})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1184:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>a});var i=s(4041);const n={},r=i.createContext(n);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.30236a31.js b/assets/js/main.30236a31.js new file mode 100644 index 0000000..aff7f21 --- /dev/null +++ b/assets/js/main.30236a31.js @@ -0,0 +1,2 @@ +/*! For license information please see main.30236a31.js.LICENSE.txt */ +(self.webpackChunk_devtool_docs=self.webpackChunk_devtool_docs||[]).push([[792],{8415:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(4041),o=n(1085);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},7059:(e,t,n)=>{"use strict";var r=n(4041),o=n(5873),a=n(2004),i=n(3664),l=n(4784),s=n(9531);const u=[n(1255),n(2200),n(5268),n(5080)];var c=n(7694),d=n(6090),p=n(8150),f=n(1085);function m(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var g=n(9058),h=n(396),y=n(5215),b=n(2520),v=n(145),w=n(1893),k=n(9924),x=n(7789),S=n(2102),E=n(6613);function C(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(g.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.A)(),{pathname:r}=(0,d.zy)();return e+(0,S.applyTrailingSlash)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(g.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function A(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,b.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(g.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:k.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(C,{}),(0,f.jsx)(E.A,{tag:x.Cy,locale:e}),(0,f.jsx)(g.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const T=new Map;var j=n(8415),N=n(4553),L=n(3351);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,L.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.A.canUseDOM?R("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=R("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(0,f.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.qh,{location:t,render:()=>e})})}}const I=D,M="__docusaurus-base-url-issue-banner-container",F="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${M}';\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(/{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,f.jsx)(I,{location:e,children:W})}function K(){return(0,f.jsx)(H.A,{children:(0,f.jsx)(N.l,{children:(0,f.jsxs)(j.x,{children:[(0,f.jsxs)(m,{children:[(0,f.jsx)(q,{}),(0,f.jsx)(A,{}),(0,f.jsx)(U,{}),(0,f.jsx)(Q,{})]}),(0,f.jsx)(V,{})]})})})}var Y=n(4054);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}: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 X=n(1411);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,p.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),O(e))},re=Object.freeze(ne);function oe(e){let{children:t}=e;return"hash"===l.default.future.experimental_router?(0,f.jsx)(i.I9,{children:t}):(0,f.jsx)(i.Kd,{children:t})}const ae=Boolean(!0);if(s.A.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.vd,{children:(0,f.jsx)(oe,{children:(0,f.jsx)(K,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ae)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};O(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},4553:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(4041),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/devtools/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/devtools/docs","mainDocId":"guide/installation","docs":[{"id":"guide/faq","path":"/devtools/docs/guide/faq","sidebar":"guide"},{"id":"guide/features/assets","path":"/devtools/docs/guide/features/assets","sidebar":"guide"},{"id":"guide/features/scene","path":"/devtools/docs/guide/features/scene","sidebar":"guide"},{"id":"guide/installation","path":"/devtools/docs/guide/installation","sidebar":"guide"},{"id":"plugin/index","path":"/devtools/docs/plugin/","sidebar":"plugin"},{"id":"plugin/overlay","path":"/devtools/docs/plugin/overlay","sidebar":"plugin"},{"id":"plugin/properties","path":"/devtools/docs/plugin/properties","sidebar":"plugin"},{"id":"plugin/stats","path":"/devtools/docs/plugin/stats","sidebar":"plugin"},{"id":"plugin/tree","path":"/devtools/docs/plugin/tree","sidebar":"plugin"}],"draftIds":[],"sidebars":{"guide":{"link":{"path":"/devtools/docs/guide/installation","label":"guide/installation"}},"plugin":{"link":{"path":"/devtools/docs/plugin/","label":"plugin/index"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.4.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.4.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.4.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.4.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.4.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.4.0"}}}');var u=n(1085);const c={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},9903:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var r=n(4041),o=n(9531),a=n(9058),i=n(2102),l=n(6047),s=n(4720),u=n(1085);function c(e){let{error:t,tryAgain:n}=e;return(0,u.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,u.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,u.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,u.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,u.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)(p,{children:(0,u.jsxs)(g,{fallback:()=>(0,u.jsx)(c,{error:t,tryAgain:n}),children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("title",{children:"Page Error"})}),(0,u.jsx)(l.A,{children:(0,u.jsx)(c,{error:t,tryAgain:n})})]})})}const m=e=>(0,u.jsx)(f,{...e});class g extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.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??m)(e)}return e??null}}},9531:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},9058:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(4041);var r=n(2004),o=n(1085);function a(e){return(0,o.jsx)(r.mg,{...e})}},2436:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(4041),o=n(3664),a=n(2102),i=n(396),l=n(5436),s=n(9531),u=n(6357),c=n(5215),d=n(1085);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,c.hH)(),E=(0,u.A)(),C=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>C.current));const _=p||f;const A=(0,l.A)(_),T=_?.replace("pathname://","");let j=void 0!==T?(N=T,y&&(e=>e.startsWith("/"))(N)?S(N):N):void 0;var N;"hash"===x&&j?.startsWith("./")&&(j=j?.slice(1)),j&&A&&(j=(0,a.applyTrailingSlash)(j,{trailingSlash:w,baseUrl:k}));const L=(0,r.useRef)(!1),R=n?o.k2:o.N_,P=s.A.canUseIntersectionObserver,O=(0,r.useRef)(),D=()=>{L.current||null==j||(window.docusaurus.preload(j),L.current=!0)};(0,r.useEffect)((()=>(!P&&A&&null!=j&&window.docusaurus.prefetch(j),()=>{P&&O.current&&O.current.disconnect()})),[O,j,P,A]);const I=j?.startsWith("#")??!1,M=!b.target||"_self"===b.target,F=!j||!A||!M;return h||!I&&F||E.collectLink(j),b.id&&E.collectAnchor(b.id),F?(0,d.jsx)("a",{ref:C,href:j,..._&&!A&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(R,{...b,onMouseEnter:D,onTouchStart:D,innerRef:e=>{C.current=e,P&&e&&A&&(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!=j&&window.docusaurus.prefetch(j))}))})),O.current.observe(e))},to:j,...n&&{isActive:g,activeClassName:m}})}const f=r.forwardRef(p)},1540:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=()=>null},9082:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(4041),o=n(1085);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=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 i=n(2654);function l(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 i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},467:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},5436:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},5215:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(4041),o=n(396),a=n(5436);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,l=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:l}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===l)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const s=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+s:s}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:l}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},6357:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(4041);n(1085);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},396:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(4041),o=n(4553);function a(){return(0,r.useContext)(o.o)}},213:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(4041),o=n(8415);function a(){return(0,r.useContext)(o.o)}},3351:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(4041);const o=n(9531).A.canUseDOM?r.useLayoutEffect:r.useEffect},1411:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},4720:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(4041),o=n(1085);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(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,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},8016:(e,t,n)=>{"use strict";n.d(t,{zK:()=>g,vT:()=>p,Gy:()=>c,HW:()=>h,ht:()=>d,r7:()=>m,jh:()=>f});var r=n(6090),o=n(396),a=n(467);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();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=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function p(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&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 a}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function g(e){const t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},5268:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(9586),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},2200:(e,t,n)=>{"use strict";n.r(t);var r=n(4370),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(1803),n(7850)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},4441:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(4041);var r=n(4357),o=n(9082),a=n(2520),i=n(2436),l=n(6357);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_fF9Z",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_Yh18"};var u=n(1085);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.A)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},2196:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(4041);const r={iconExternalLink:"iconExternalLink_awgD"};var o=n(1085);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("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"})})}},6047:(e,t,n)=>{"use strict";n.d(t,{A:()=>ft});var r=n(4041),o=n(4357),a=n(9903),i=n(145),l=n(6090),s=n(9082),u=n(9404),c=n(1085);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({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 g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(7473),y=n(9924);const b={skipToContent:"skipToContent_G6ar"};function v(){return(0,c.jsx)(g,{className:b.skipToContent})}var w=n(2520),k=n(9303);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:o,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_rfix"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_L1uV"};function _(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,o.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_ncOr",announcementBarPlaceholder:"announcementBarPlaceholder_ajMw",announcementBarClose:"announcementBarClose_c9u4",announcementBarContent:"announcementBarContent__57G"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,c.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,c.jsx)("div",{className:A.announcementBarPlaceholder}),(0,c.jsx)(_,{className:A.announcementBarContent}),a&&(0,c.jsx)(E,{onClick:n,className:A.announcementBarClose})]})}var j=n(2106),N=n(1034);var L=n(1786),R=n(7226);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,R.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,L.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,c.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(P);if(!e)throw new L.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,R.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:D(a)})),[o,a,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=I();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var F=n(2727),z=n(213);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("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 $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("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 U={toggle:"toggle_OLSw",toggleButton:"toggleButton_wYmb",darkToggleIcon:"darkToggleIcon_Yem1",lightToggleIcon:"lightToggleIcon_Sxwe",toggleButtonDisabled:"toggleButtonDisabled_vaDU"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.A)(),l=(0,s.T)({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"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,o.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,o.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,o.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,o.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),G={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_wZ1H"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,F.G)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?G.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(1631);function Q(){return(0,c.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,j.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({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(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(Q,{}),(0,c.jsx)(V,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(2436),X=n(5215),J=n(5436);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(2196);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Ay)(r),p=(0,X.Ay)(t),f=(0,X.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,J.A)(o),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[a,m&&(0,c.jsx)(te.A,{...l&&{width:12,height:12}})]})};return o?(0,c.jsx)(Z.A,{href:s?f:o,...u,...g}):(0,c.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,c.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,c.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6476),le=n(4271),se=n(396);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_yXZl"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.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)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,o.A)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ce,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,o.A)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ce,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var me=n(1893);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("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 he="iconLanguage_xrmG";var ye=n(1540);const be={navbarSearchContainer:"navbarSearchContainer_bmvg"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,o.A)(n,be.navbarSearchContainer),children:t})}var we=n(8016),ke=n(5096);var xe=n(9599);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.A)(),p=(0,me.o)(),{search:f,hash:m}=(0,l.zy)(),g=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;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":""}})),...r],h=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...a,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.A,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,c.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.zK)(r),i=(0,ke.QB)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.zK)(r),i=(0,ke.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ke.Vd)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,c.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:u,hash:d}=(0,l.zy)(),p=(0,we.zK)(n),f=(0,we.jh)(n),{savePreferredVersionName:m}=(0,xe.g1)(n),g=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...a],h=(0,ke.Vd)(n)[0],y=t&&g.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,b=t&&g.length>1?void 0:Se(h).path;return g.length<=1?(0,c.jsx)(ae,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:y,to:b,items:g,isActive:r?()=>!1:void 0})}};function Ce(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ee[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(o,{...n})}function _e(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ce,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ae(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.A,{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)",children:"\u2190 Back to main menu"})})}function Te(){const e=0===(0,w.p)().navbar.items.length,t=I();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Ae,{onClick:()=>t.hide()}),t.content]})}function je(){const e=(0,j.M)();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?(0,c.jsx)(M,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(_e,{}),secondaryMenu:(0,c.jsx)(Te,{})}):null}const Ne={navbarHideable:"navbarHideable_bChn",navbarHidden:"navbarHidden_zsXl"};function Le(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,N.Mq)(((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 o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Ne.navbarHideable,!d&&Ne.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Le,{onClick:i.toggle}),(0,c.jsx)(je,{})]})}var Pe=n(2102);const Oe={errorBoundaryError:"errorBoundaryError_FiLL",errorBoundaryFallback:"errorBoundaryFallback_lv4I"};function De(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ie(e){let{error:t}=e;const n=(0,Pe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Oe.errorBoundaryError,children:n})}class Me extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Fe="right";function ze(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,j.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.T)({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",children:(0,c.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_Hg9V"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Me,{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}),children:(0,c.jsx)(Ce,{...e})},t)))})}function qe(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function He(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Fe)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,c.jsx)(qe,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(Q,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(V,{className:$e.colorModeToggle}),!o&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.A,{})})]})})}function Ge(){return(0,c.jsx)(Re,{children:(0,c.jsx)(He,{})})}function Ve(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,X.Ay)(n),s=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function We(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ve,{item:t})},t.href??t.to)}function Qe(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(We,{item:e},t)))})]})}function Ke(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Qe,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ze(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ve,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ze,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Ke,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(1220);const tt={footerLogoLink:"footerLogoLink_zxYv"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function ot(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function at(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,c.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function it(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,c.jsx)(at,{style:o,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(ot,{copyright:t})})}const lt=r.memo(it),st=(0,L.fM)([F.a,k.o,N.Tv,xe.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(R.y_,{children:(0,c.jsx)(j.e,{children:(0,c.jsx)(O,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(4441);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Ie,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_UyTV"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.J)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.be,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(T,{}),(0,c.jsx)(Ge,{}),(0,c.jsx)("div",{id:d,className:(0,o.A)(h.G.wrapper.main,pt.mainWrapper,r),children:(0,c.jsx)(a.A,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},1631:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(4041);var r=n(2436),o=n(5215),a=n(396),i=n(2520),l=n(1220),s=n(1085);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,o.Ay)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.A,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:g,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},6613:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(4041);var r=n(9058),o=n(1085);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},1220:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(4041),o=n(4357),a=n(213),i=n(2727);const l={themedComponent:"themedComponent_DHUr","themedComponent--light":"themedComponent--light_DIHH","themedComponent--dark":"themedComponent--dark_Bv2M"};var s=n(1085);function u(e){let{className:t,children:n}=e;const u=(0,a.A)(),{colorMode:c}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function c(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},6476:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(4041),o=n(9531),a=n(3351),i=n(2631),l=n(1085);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?c:d}function g(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:s,children:o})}function h(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&u(t)}),[o,t]),o?(0,l.jsx)(g,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,l.jsx)(r,{...n})}},9303:(e,t,n)=>{"use strict";n.d(t,{M:()=>g,o:()=>m});var r=n(4041),o=n(213),a=n(8821),i=n(1786),l=n(2520),s=n(1085);const u=(0,a.Wf)("docusaurus.announcement.dismiss"),c=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},2727:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>h});var r=n(4041),o=n(9531),a=n(1786),i=n(8821),l=n(2520),s=n(1085);const u=r.createContext(void 0),c="theme",d=(0,i.Wf)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&g(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(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||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},9599:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>y,g1:()=>v});var r=n(4041),o=n(8016),a=n(467),i=n(2520),l=n(5096),s=n(1786),u=n(8821),c=n(1085);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.C5?(0,c.jsx)(h,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(m);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=b(),{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])}}},7186:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(4041),o=n(1786),a=n(1085);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},6738:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(4041),o=n(1786),a=n(1085);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},2106:(e,t,n)=>{"use strict";n.d(t,{e:()=>f,M:()=>m});var r=n(4041),o=n(7226),a=n(1187),i=n(6090),l=n(1786);function s(e){!function(e){const t=(0,i.W6)(),n=(0,l._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(2520),c=n(1085);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,u.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},7226:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>s,y_:()=>l});var r=n(4041),o=n(1786),a=n(1085);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9924:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(4041);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},1187:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(4041),o=n(9531);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7473:(e,t,n)=>{"use strict";n.d(t,{G:()=>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",unlistedBanner:"theme-unlisted-banner",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:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},2631:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},5096:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>f,w8:()=>h,C5:()=>p,B5:()=>E,Vd:()=>k,QB:()=>S,fW:()=>x,OF:()=>w,Y:()=>b});var r=n(4041),o=n(6090),a=n(8150),i=n(8016),l=n(9599),s=n(6738),u=n(7186);function c(e){return Array.from(new Set(e))}var d=n(4271);const p=!!i.Gy;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const m=(e,t)=>void 0!==e&&(0,d.ys)(e,t),g=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||g(e.items,t))}function y(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function w(){const e=(0,u.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,l.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>c([t,n,o].filter(Boolean))),[t,n,o])}function x(e,t){const n=k(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 S(e,t){const n=k(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- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,s.r)(),i=t.routes,l=i.find((e=>(0,o.B6)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,a.v)(i),sidebarName:u,sidebarItems:c}}},145:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>d,Jx:()=>m});var r=n(4041),o=n(4357),a=n(9058),i=n(4720);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(5215),u=n(396);var c=n(1085);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.hH)(),p=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.A,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,o.A)(i,t);return(0,c.jsxs)(p.Provider,{value:l,children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,o.A)(r,a),children:t})}},1786:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>c});var r=n(4041),o=n(3351),a=n(1085);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},4271:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(4041),o=n(7694),a=n(396);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},1034:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>u,gk:()=>f});var r=n(4041),o=n(9531),a=n(213),i=(n(3351),n(1786)),l=n(1085);const s=r.createContext(void 0);function u(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(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"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 o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},7789:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,tU:()=>o});n(396);const r="default";function o(e,t){return`docs-${e}-${t}`}},8821:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u});n(4041);const r=JSON.parse('{"N":"localStorage","M":""}'),o=r.N;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(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,l||(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),l=!0),null}var t}let l=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${r.M}`;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}}(n);const o=i(t?.persistence);return null===o?s:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},1893:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(396),o=n(6090),a=n(2102);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,o.zy)(),u=(0,a.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}`}}}},9404:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(4041),o=n(6090),a=n(1786);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},2520:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(396);function o(){return(0,r.A)().siteConfig.themeConfig}},3105:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(8268);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),l="/"===i||i===r?i:(s=i,n?o(s):a(s));var s;return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a},8783:(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]}},2102: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.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(3105);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return o.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return o.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return o.removeTrailingSlash}});var a=n(8268);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return a.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return a.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return a.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return a.removePrefix}});var i=n(8783);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},8268:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},7694:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(4041);var r=n(2780),o=n.n(r),a=n(4054);const i={"03adb305":[()=>n.e(431).then(n.bind(n,60)),"@site/docs/plugin/index.md",60],17896441:[()=>Promise.all([n.e(869),n.e(401)]).then(n.bind(n,2347)),"@theme/DocItem",2347],"1df93b7f":[()=>Promise.all([n.e(869),n.e(583)]).then(n.bind(n,6066)),"@site/src/pages/index.tsx",6066],"4a148559":[()=>n.e(746).then(n.bind(n,2617)),"@site/docs/guide/faq.md",2617],"5a4245e4":[()=>n.e(465).then(n.bind(n,2123)),"@site/docs/guide/features/scene.mdx",2123],"5bb1b958":[()=>n.e(557).then(n.bind(n,5428)),"@site/docs/plugin/overlay.md",5428],"5e95c892":[()=>n.e(647).then(n.bind(n,3531)),"@theme/DocsRoot",3531],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],a2dc670e:[()=>n.e(493).then(n.bind(n,6126)),"@site/docs/plugin/tree.md",6126],a7456010:[()=>n.e(235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(98).then(n.bind(n,3118)),"@theme/DocVersionRoot",3118],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,7541)),"@theme/DocRoot",7541],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],d12cf10f:[()=>n.e(990).then(n.bind(n,4355)),"@site/docs/guide/installation.mdx",4355],e69dd2f0:[()=>n.e(874).then(n.t.bind(n,7484,19)),"@generated/docusaurus-plugin-content-docs/default/p/devtools-docs-a38.json",7484],e996f0d2:[()=>n.e(116).then(n.bind(n,2335)),"@site/docs/plugin/properties.md",2335],ee162cae:[()=>n.e(587).then(n.bind(n,6987)),"@site/docs/plugin/stats.md",6987],ff0a531e:[()=>n.e(524).then(n.bind(n,908)),"@site/docs/guide/features/assets.mdx",908]};var l=n(1085);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("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%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("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",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(1411),c=n(4720);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(723).then(n.bind(n,5723)),modules:["@theme/NotFound"],webpack:()=>[5723],render(e,t){const n=e.default;return(0,l.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,u.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));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 i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const s=o.__props;return delete o.__props,(0,l.jsx)(c.W,{value:i,children:(0,l.jsx)(a,{...o,...s,...n})})}})}const p=[{path:"/devtools/docs/",component:d("/devtools/docs/","dc9"),routes:[{path:"/devtools/docs/",component:d("/devtools/docs/","01f"),routes:[{path:"/devtools/docs/",component:d("/devtools/docs/","509"),routes:[{path:"/devtools/docs/guide/faq/",component:d("/devtools/docs/guide/faq/","d19"),exact:!0,sidebar:"guide"},{path:"/devtools/docs/guide/features/assets/",component:d("/devtools/docs/guide/features/assets/","dbc"),exact:!0,sidebar:"guide"},{path:"/devtools/docs/guide/features/scene/",component:d("/devtools/docs/guide/features/scene/","10f"),exact:!0,sidebar:"guide"},{path:"/devtools/docs/guide/installation/",component:d("/devtools/docs/guide/installation/","4db"),exact:!0,sidebar:"guide"},{path:"/devtools/docs/plugin/",component:d("/devtools/docs/plugin/","0cd"),exact:!0,sidebar:"plugin"},{path:"/devtools/docs/plugin/overlay/",component:d("/devtools/docs/plugin/overlay/","836"),exact:!0,sidebar:"plugin"},{path:"/devtools/docs/plugin/properties/",component:d("/devtools/docs/plugin/properties/","93a"),exact:!0,sidebar:"plugin"},{path:"/devtools/docs/plugin/stats/",component:d("/devtools/docs/plugin/stats/","9f4"),exact:!0,sidebar:"plugin"},{path:"/devtools/docs/plugin/tree/",component:d("/devtools/docs/plugin/tree/","038"),exact:!0,sidebar:"plugin"}]}]}]},{path:"/devtools/",component:d("/devtools/","b6e"),exact:!0},{path:"*",component:d("*")}]},9626:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>_,yJ:()=>f,sC:()=>T,AO:()=>p});var r=n(9575);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(7730);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 p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!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,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,g(),w.location);c.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(524),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={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]||o}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,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h{"use strict";e.exports=function(e,t,n,r,o,a,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,o,a,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},1255:(e,t,n)=>{"use strict";n.r(t)},5080:(e,t,n)=>{"use strict";n.r(t)},9586:function(e,t,n){var r,o;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 o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}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=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),u=a.querySelector(r.barSelector),c=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{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)*o(Math.random()*t,.1,.95)),t=o(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 o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),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&&f(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,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},3673:(e,t,n)=>{var r=n(574);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(l+=e.slice(i,f),i=f+d.length,p)l+=p[1];else{var m=e[i],g=n[2],h=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=g&&null!=m&&m!==g,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||c,C=y||b;r.push({name:h||a++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:C?u(C):w?".*":"[^"+s(E)+"]+?"})}}return i{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},1750: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"}}})},2677:(e,t,n)=>{const r=n(1750),o=n(4275),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(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(7850).resolve(t)],delete Prism.languages[e],n(7850)(t),a.add(e)}))}i.silent=!1,e.exports=i},1803:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),m=p.indexOf(f);if(m>-1){++o;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},7850:(e,t,n)=>{var r={"./":2677};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=7850},4275: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 o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}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 p,f=r(s),m=c;o(m);){for(var g in p={},m){var h=s[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var b in f(y))if(b in c){p[y]=!0;break}for(var v in m=p)c[v]=!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,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var o,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)o=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete s[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return l[e]=o}for(var c in n)u(c);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},6999:(e,t,n)=>{"use strict";var r=n(6848);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,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:a,resetWarningCache:o};return n.PropTypes=n,n}},9067:(e,t,n)=>{e.exports=n(6999)()},6848:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},7400:(e,t,n)=>{"use strict";var r=n(4041),o=n(7967);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n