From 2f9d62e8e4299e34dcc7de7e5d19379aceea165e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 21 Mar 2023 16:21:39 +0000 Subject: [PATCH] deploy: de1aa71c47570437a44ce99f36b4b22742601e6b --- 404.html | 8 +++---- assets/js/499ddca7.bb51d060.js | 1 - assets/js/499ddca7.dccb3169.js | 1 + assets/js/55960ee5.9ac77484.js | 1 - assets/js/55960ee5.b9a54470.js | 1 + assets/js/583db3ef.8f8728cf.js | 1 + assets/js/6194ac84.60267ec0.js | 1 + assets/js/6194ac84.fadf2565.js | 1 - ...1d420.28cf6b58.js => 7591d420.f4d8532f.js} | 2 +- assets/js/7bdcd7a7.6fd67667.js | 1 + assets/js/846a5e19.f0a218a9.js | 1 + ...f2afb.be505891.js => 935f2afb.0092c41e.js} | 2 +- assets/js/94fb813f.62bf5a08.js | 1 + assets/js/9cb03f5d.2eaba62e.js | 1 + assets/js/9d9f8394.64962efe.js | 1 - assets/js/9d9f8394.6babf4b5.js | 1 + assets/js/9e8f4e9c.c2a17e26.js | 1 + assets/js/d4840880.44d89cfe.js | 1 + assets/js/main.29b062d6.js | 2 -- assets/js/main.f4881722.js | 2 ++ ...CENSE.txt => main.f4881722.js.LICENSE.txt} | 0 assets/js/runtime~main.2f976413.js | 1 + assets/js/runtime~main.51e38d91.js | 1 - blog.html | 8 +++---- blog/archive.html | 8 +++---- blog/develop-using-devcontainer.html | 8 +++---- blog/podman-desktop-release-0.10.html | 8 +++---- blog/podman-desktop-release-0.11.html | 8 +++---- blog/podman-desktop-release-0.12.html | 8 +++---- blog/tags.html | 8 +++---- blog/tags/codespaces.html | 8 +++---- blog/tags/devcontainer.html | 8 +++---- blog/tags/kubernetes.html | 8 +++---- blog/tags/podman-desktop.html | 8 +++---- blog/tags/release.html | 8 +++---- core-values.html | 8 +++---- docs/Installation.html | 10 ++++---- docs/Installation/linux-install.html | 10 ++++---- ...an-desktop-from-a-compressed-tar-file.html | 10 ++++---- ...-podman-desktop-from-a-flatpak-bundle.html | 10 ++++---- docs/Installation/macos-install.html | 10 ++++---- docs/Installation/windows-install.html | 10 ++++---- ...nd-podman-in-a-restricted-environment.html | 10 ++++---- ...p-silently-with-the-windows-installer.html | 10 ++++---- ...alling-podman-desktop-with-chocolatey.html | 10 ++++---- .../installing-podman-desktop-with-scoop.html | 10 ++++---- ...installing-podman-desktop-with-winget.html | 10 ++++---- ...nstalling-podman-with-openshift-local.html | 10 ++++---- ...installing-podman-with-podman-desktop.html | 10 ++++---- docs/compose/compose-spec.html | 10 ++++---- docs/compose/podman-compose.html | 10 ++++---- docs/extensions.html | 22 +++++++++++++++++ docs/extensions/install.html | 22 +++++++++++++++++ docs/extensions/publish.html | 24 +++++++++++++++++++ docs/extensions/write.html | 22 +++++++++++++++++ docs/getting-started/getting-started.html | 10 ++++---- docs/intro.html | 10 ++++---- docs/kubernetes.html | 10 ++++---- docs/kubernetes/kind.html | 10 ++++---- docs/migrating-from-docker.html | 10 ++++---- .../emulating-docker-cli-with-podman.html | 10 ++++---- .../importing-saved-containers.html | 10 ++++---- .../using-podman-mac-helper.html | 10 ++++---- ...-the-docker_host-environment-variable.html | 10 ++++---- ...verifying-your-tools-are-using-podman.html | 10 ++++---- docs/tags.html | 10 ++++---- docs/tags/chocolatey.html | 8 +++---- docs/tags/extension.html | 22 +++++++++++++++++ docs/tags/flathub.html | 8 +++---- docs/tags/flatpak.html | 8 +++---- docs/tags/getting-started.html | 8 +++---- docs/tags/installing.html | 8 +++---- docs/tags/kind.html | 8 +++---- docs/tags/linux.html | 8 +++---- docs/tags/mac-0-s.html | 8 +++---- docs/tags/macos.html | 8 +++---- docs/tags/migrating-from-docker.html | 8 +++---- docs/tags/migrating-to-kubernetes.html | 12 +++++----- docs/tags/openshift-local.html | 8 +++---- docs/tags/podman-desktop.html | 12 +++++----- docs/tags/podman.html | 8 +++---- docs/tags/publishing.html | 22 +++++++++++++++++ docs/tags/restricted-environment.html | 8 +++---- docs/tags/scoop.html | 8 +++---- docs/tags/windows.html | 8 +++---- docs/tags/winget.html | 8 +++---- docs/tags/writing.html | 22 +++++++++++++++++ docs/troubleshooting.html | 12 +++++----- downloads.html | 8 +++---- downloads/linux.html | 8 +++---- downloads/macOS.html | 8 +++---- downloads/windows.html | 8 +++---- extend.html | 8 +++---- features.html | 8 +++---- index.html | 8 +++---- search.html | 8 +++---- sitemap.xml | 2 +- 97 files changed, 473 insertions(+), 310 deletions(-) delete mode 100644 assets/js/499ddca7.bb51d060.js create mode 100644 assets/js/499ddca7.dccb3169.js delete mode 100644 assets/js/55960ee5.9ac77484.js create mode 100644 assets/js/55960ee5.b9a54470.js create mode 100644 assets/js/583db3ef.8f8728cf.js create mode 100644 assets/js/6194ac84.60267ec0.js delete mode 100644 assets/js/6194ac84.fadf2565.js rename assets/js/{7591d420.28cf6b58.js => 7591d420.f4d8532f.js} (73%) create mode 100644 assets/js/7bdcd7a7.6fd67667.js create mode 100644 assets/js/846a5e19.f0a218a9.js rename assets/js/{935f2afb.be505891.js => 935f2afb.0092c41e.js} (88%) create mode 100644 assets/js/94fb813f.62bf5a08.js create mode 100644 assets/js/9cb03f5d.2eaba62e.js delete mode 100644 assets/js/9d9f8394.64962efe.js create mode 100644 assets/js/9d9f8394.6babf4b5.js create mode 100644 assets/js/9e8f4e9c.c2a17e26.js create mode 100644 assets/js/d4840880.44d89cfe.js delete mode 100644 assets/js/main.29b062d6.js create mode 100644 assets/js/main.f4881722.js rename assets/js/{main.29b062d6.js.LICENSE.txt => main.f4881722.js.LICENSE.txt} (100%) create mode 100644 assets/js/runtime~main.2f976413.js delete mode 100644 assets/js/runtime~main.51e38d91.js create mode 100644 docs/extensions.html create mode 100644 docs/extensions/install.html create mode 100644 docs/extensions/publish.html create mode 100644 docs/extensions/write.html create mode 100644 docs/tags/extension.html create mode 100644 docs/tags/publishing.html create mode 100644 docs/tags/writing.html diff --git a/404.html b/404.html index a66a5d784bb..9daa15b8dc7 100644 --- a/404.html +++ b/404.html @@ -10,13 +10,13 @@ - - + +
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.

- - + + \ No newline at end of file diff --git a/assets/js/499ddca7.bb51d060.js b/assets/js/499ddca7.bb51d060.js deleted file mode 100644 index 893dc211b2c..00000000000 --- a/assets/js/499ddca7.bb51d060.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7673],{5318:(e,t,o)=>{o.d(t,{Zo:()=>m,kt:()=>u});var n=o(7378);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var p=n.createContext({}),c=function(e){var t=n.useContext(p),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},m=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,r=e.originalType,p=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=c(o),u=a,h=d["".concat(p,".").concat(u)]||d[u]||l[u]||r;return o?n.createElement(h,i(i({ref:t},m),{},{components:o})):n.createElement(h,i({ref:t},m))}));function u(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=o.length,i=new Array(r);i[0]=d;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var n=o(5773),a=(o(7378),o(5318));const r={title:"Podman Compose with Podman Desktop",sidebar_position:2},i=void 0,s={unversionedId:"compose/podman-compose",id:"compose/podman-compose",title:"Podman Compose with Podman Desktop",description:"Introduction",source:"@site/docs/compose/podman-compose.md",sourceDirName:"compose",slug:"/compose/podman-compose",permalink:"/docs/compose/podman-compose",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/compose/podman-compose.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Podman Compose with Podman Desktop",sidebar_position:2},sidebar:"mySidebar",previous:{title:"Compose spec with Podman Desktop",permalink:"/docs/compose/compose-spec"},next:{title:"Troubleshooting",permalink:"/docs/troubleshooting"}},p={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Requirements",id:"requirements",level:3},{value:"Getting started",id:"getting-started",level:2}],m={toc:c};function l(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"introduction"},"Introduction"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose#readme"},"Podman Compose")," is a community-driven tool that allows developers to use the ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io"},"Compose spec")," to run many containers at the same time. Podman Compose requires a ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose YAML")," file with definitions about the containers that need to communicate."),(0,a.kt)("p",null,"If you have not used a ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md#compose-file"},"Compose file")," or the ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose spec"),", visit ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md"},"this guide")," for more information. "),(0,a.kt)("h3",{id:"requirements"},"Requirements"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/docs/installation"},"Podman Desktop installed")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/containers/podman-compose#installation"},"Podman Compose installed"))),(0,a.kt)("h2",{id:"getting-started"},"Getting started"),(0,a.kt)("p",null,"Spin up your ",(0,a.kt)("inlineCode",{parentName:"p"},"compose.yaml")," with the ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose")," binary and Podman Desktop will automatically detect it! "),(0,a.kt)("p",null,"Use the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose/tree/master/flask-redis"},"Flask Redis project")," from the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose"},"awesome-compose repository")," as an example project. "),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Git clone the project and ",(0,a.kt)("inlineCode",{parentName:"li"},"cd")," into the directory:")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"git clone https://github.com/docker/awesome-compose\ncd awesome-compose/redis-flask\n")),(0,a.kt)("ol",{start:2},(0,a.kt)("li",{parentName:"ol"},"Run the ",(0,a.kt)("inlineCode",{parentName:"li"},"podman-compose")," command:")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"podman-compose -f compose.yaml up -d\n")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img1",src:o(8760).Z,width:"1282",height:"882"})),(0,a.kt)("ol",{start:3},(0,a.kt)("li",{parentName:"ol"},"Manage Compose with Podman Desktop")),(0,a.kt)("p",null,"To confirm if the containers are running, open Podman Desktop and click on the \u2018Containers\u2019 option on the left side of the application. You will have the containers bundled together under a Pod named ",(0,a.kt)("inlineCode",{parentName:"p"},"flask-redis (compose)")," in this case. Here, the compose within the bracket indicates it has been generated from a Compose YAML file. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img2",src:o(9685).Z,width:"1999",height:"1103"})),(0,a.kt)("p",null,"You can further configure or work with these containers within the Podman Desktop application now that they are visible. Here, clicking on the \u2018Open Browser\u2019 button allows us to confirm if the application is running expectedly. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img3",src:o(4744).Z,width:"1999",height:"877"})),(0,a.kt)("p",null,"You can do much more such as checking logs, opening the terminal or inspecting the files for more details."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img4",src:o(4618).Z,width:"1999",height:"1103"})))}l.isMDXComponent=!0},8760:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_1-79ba096000581d2067cd2fbc31c7d20f.png"},9685:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_2-fd0c6791568797c6a5670c72e53687ca.png"},4744:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_3-50808a5d4b1e003e5979c3d50a1e0e1c.png"},4618:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_4-b6ef9b2966e93143a04e6118e83d7101.png"}}]); \ No newline at end of file diff --git a/assets/js/499ddca7.dccb3169.js b/assets/js/499ddca7.dccb3169.js new file mode 100644 index 00000000000..b778920ddbe --- /dev/null +++ b/assets/js/499ddca7.dccb3169.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7673],{5318:(e,t,o)=>{o.d(t,{Zo:()=>m,kt:()=>u});var n=o(7378);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var p=n.createContext({}),c=function(e){var t=n.useContext(p),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},m=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,r=e.originalType,p=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=c(o),u=a,h=d["".concat(p,".").concat(u)]||d[u]||l[u]||r;return o?n.createElement(h,i(i({ref:t},m),{},{components:o})):n.createElement(h,i({ref:t},m))}));function u(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=o.length,i=new Array(r);i[0]=d;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var n=o(5773),a=(o(7378),o(5318));const r={title:"Podman Compose with Podman Desktop",sidebar_position:2},i=void 0,s={unversionedId:"compose/podman-compose",id:"compose/podman-compose",title:"Podman Compose with Podman Desktop",description:"Introduction",source:"@site/docs/compose/podman-compose.md",sourceDirName:"compose",slug:"/compose/podman-compose",permalink:"/docs/compose/podman-compose",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/compose/podman-compose.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Podman Compose with Podman Desktop",sidebar_position:2},sidebar:"mySidebar",previous:{title:"Compose spec with Podman Desktop",permalink:"/docs/compose/compose-spec"},next:{title:"Extensions",permalink:"/docs/extensions/"}},p={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Requirements",id:"requirements",level:3},{value:"Getting started",id:"getting-started",level:2}],m={toc:c};function l(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"introduction"},"Introduction"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose#readme"},"Podman Compose")," is a community-driven tool that allows developers to use the ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io"},"Compose spec")," to run many containers at the same time. Podman Compose requires a ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose YAML")," file with definitions about the containers that need to communicate."),(0,a.kt)("p",null,"If you have not used a ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md#compose-file"},"Compose file")," or the ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose spec"),", visit ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md"},"this guide")," for more information. "),(0,a.kt)("h3",{id:"requirements"},"Requirements"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/docs/installation"},"Podman Desktop installed")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/containers/podman-compose#installation"},"Podman Compose installed"))),(0,a.kt)("h2",{id:"getting-started"},"Getting started"),(0,a.kt)("p",null,"Spin up your ",(0,a.kt)("inlineCode",{parentName:"p"},"compose.yaml")," with the ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose")," binary and Podman Desktop will automatically detect it! "),(0,a.kt)("p",null,"Use the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose/tree/master/flask-redis"},"Flask Redis project")," from the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose"},"awesome-compose repository")," as an example project. "),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Git clone the project and ",(0,a.kt)("inlineCode",{parentName:"li"},"cd")," into the directory:")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"git clone https://github.com/docker/awesome-compose\ncd awesome-compose/redis-flask\n")),(0,a.kt)("ol",{start:2},(0,a.kt)("li",{parentName:"ol"},"Run the ",(0,a.kt)("inlineCode",{parentName:"li"},"podman-compose")," command:")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"podman-compose -f compose.yaml up -d\n")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img1",src:o(8760).Z,width:"1282",height:"882"})),(0,a.kt)("ol",{start:3},(0,a.kt)("li",{parentName:"ol"},"Manage Compose with Podman Desktop")),(0,a.kt)("p",null,"To confirm if the containers are running, open Podman Desktop and click on the \u2018Containers\u2019 option on the left side of the application. You will have the containers bundled together under a Pod named ",(0,a.kt)("inlineCode",{parentName:"p"},"flask-redis (compose)")," in this case. Here, the compose within the bracket indicates it has been generated from a Compose YAML file. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img2",src:o(9685).Z,width:"1999",height:"1103"})),(0,a.kt)("p",null,"You can further configure or work with these containers within the Podman Desktop application now that they are visible. Here, clicking on the \u2018Open Browser\u2019 button allows us to confirm if the application is running expectedly. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img3",src:o(4744).Z,width:"1999",height:"877"})),(0,a.kt)("p",null,"You can do much more such as checking logs, opening the terminal or inspecting the files for more details."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img4",src:o(4618).Z,width:"1999",height:"1103"})))}l.isMDXComponent=!0},8760:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_1-79ba096000581d2067cd2fbc31c7d20f.png"},9685:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_2-fd0c6791568797c6a5670c72e53687ca.png"},4744:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_3-50808a5d4b1e003e5979c3d50a1e0e1c.png"},4618:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/compose_doc_image_4-b6ef9b2966e93143a04e6118e83d7101.png"}}]); \ No newline at end of file diff --git a/assets/js/55960ee5.9ac77484.js b/assets/js/55960ee5.9ac77484.js deleted file mode 100644 index a6c161eccfd..00000000000 --- a/assets/js/55960ee5.9ac77484.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4121],{8070:a=>{a.exports=JSON.parse('[{"label":"podman-desktop","permalink":"/docs/tags/podman-desktop","count":12},{"label":"getting-started","permalink":"/docs/tags/getting-started","count":1},{"label":"installing","permalink":"/docs/tags/installing","count":12},{"label":"windows","permalink":"/docs/tags/windows","count":9},{"label":"macos","permalink":"/docs/tags/macos","count":1},{"label":"linux","permalink":"/docs/tags/linux","count":4},{"label":"flathub","permalink":"/docs/tags/flathub","count":2},{"label":"flatpak","permalink":"/docs/tags/flatpak","count":2},{"label":"restricted-environment","permalink":"/docs/tags/restricted-environment","count":2},{"label":"chocolatey","permalink":"/docs/tags/chocolatey","count":1},{"label":"scoop","permalink":"/docs/tags/scoop","count":1},{"label":"winget","permalink":"/docs/tags/winget","count":1},{"label":"openshift-local","permalink":"/docs/tags/openshift-local","count":1},{"label":"podman","permalink":"/docs/tags/podman","count":2},{"label":"migrating-to-kubernetes","permalink":"/docs/tags/migrating-to-kubernetes","count":2},{"label":"kind","permalink":"/docs/tags/kind","count":1},{"label":"migrating-from-docker","permalink":"/docs/tags/migrating-from-docker","count":6},{"label":"mac0S","permalink":"/docs/tags/mac-0-s","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/55960ee5.b9a54470.js b/assets/js/55960ee5.b9a54470.js new file mode 100644 index 00000000000..da8b8d80236 --- /dev/null +++ b/assets/js/55960ee5.b9a54470.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4121],{8070:a=>{a.exports=JSON.parse('[{"label":"migrating-to-kubernetes","permalink":"/docs/tags/migrating-to-kubernetes","count":3},{"label":"podman-desktop","permalink":"/docs/tags/podman-desktop","count":15},{"label":"extension","permalink":"/docs/tags/extension","count":3},{"label":"publishing","permalink":"/docs/tags/publishing","count":2},{"label":"writing","permalink":"/docs/tags/writing","count":1},{"label":"getting-started","permalink":"/docs/tags/getting-started","count":1},{"label":"installing","permalink":"/docs/tags/installing","count":12},{"label":"windows","permalink":"/docs/tags/windows","count":9},{"label":"macos","permalink":"/docs/tags/macos","count":1},{"label":"linux","permalink":"/docs/tags/linux","count":4},{"label":"flathub","permalink":"/docs/tags/flathub","count":2},{"label":"flatpak","permalink":"/docs/tags/flatpak","count":2},{"label":"restricted-environment","permalink":"/docs/tags/restricted-environment","count":2},{"label":"chocolatey","permalink":"/docs/tags/chocolatey","count":1},{"label":"scoop","permalink":"/docs/tags/scoop","count":1},{"label":"winget","permalink":"/docs/tags/winget","count":1},{"label":"openshift-local","permalink":"/docs/tags/openshift-local","count":1},{"label":"podman","permalink":"/docs/tags/podman","count":2},{"label":"kind","permalink":"/docs/tags/kind","count":1},{"label":"migrating-from-docker","permalink":"/docs/tags/migrating-from-docker","count":6},{"label":"mac0S","permalink":"/docs/tags/mac-0-s","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/583db3ef.8f8728cf.js b/assets/js/583db3ef.8f8728cf.js new file mode 100644 index 00000000000..1a1b2775e20 --- /dev/null +++ b/assets/js/583db3ef.8f8728cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7363],{5318:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var r=n(7378);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=r.createContext({}),l=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=l(e.components);return r.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=l(n),m=o,f=d["".concat(p,".").concat(m)]||d[m]||u[m]||i;return n?r.createElement(f,s(s({ref:t},c),{},{components:n})):r.createElement(f,s({ref:t},c))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=d;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var l=2;l{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=n(5773),o=(n(7378),n(5318));const i={sidebar_position:7,title:"Extensions",description:"Writing or deploying extensions.",keywords:["podman desktop","podman","extension"],tags:["migrating-to-kubernetes"]},s="Podman Desktop extensions",a={unversionedId:"extensions/index",id:"extensions/index",title:"Extensions",description:"Writing or deploying extensions.",source:"@site/docs/extensions/index.md",sourceDirName:"extensions",slug:"/extensions/",permalink:"/docs/extensions/",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/extensions/index.md",tags:[{label:"migrating-to-kubernetes",permalink:"/docs/tags/migrating-to-kubernetes"}],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Extensions",description:"Writing or deploying extensions.",keywords:["podman desktop","podman","extension"],tags:["migrating-to-kubernetes"]},sidebar:"mySidebar",previous:{title:"Podman Compose with Podman Desktop",permalink:"/docs/compose/podman-compose"},next:{title:"Writing",permalink:"/docs/extensions/write/"}},p={},l=[{value:"Next steps",id:"next-steps",level:4}],c={toc:l};function u(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"podman-desktop-extensions"},"Podman Desktop extensions"),(0,o.kt)("p",null,"Podman Desktop extensions contribute to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Container engine support, such as Podman, Docker, Lima."),(0,o.kt)("li",{parentName:"ul"},"Podman Desktop extension points such as tray icon menu, status bar items, icons, menus, and commands."),(0,o.kt)("li",{parentName:"ul"},"Integration with third parties tools, such as Kind or Compose.")),(0,o.kt)("h4",{id:"next-steps"},"Next steps"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"extensions/write"},"Writing a Podman Desktop extension entry point")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"extensions/publish"},"Publishing a Podman Desktop extension")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"extensions/install"},"Installing a Podman Desktop extension"))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6194ac84.60267ec0.js b/assets/js/6194ac84.60267ec0.js new file mode 100644 index 00000000000..c09e3353201 --- /dev/null +++ b/assets/js/6194ac84.60267ec0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[397],{299:n=>{n.exports=JSON.parse('{"label":"podman-desktop","permalink":"/docs/tags/podman-desktop","allTagsPath":"/docs/tags","count":15,"items":[{"id":"getting-started/getting-started","title":"Getting Started with Podman Desktop","description":"This blog will help you build and run your first container image on Podman Desktop","permalink":"/docs/getting-started/getting-started"},{"id":"extensions/install/index","title":"Installing","description":"Install Podman Desktop extension","permalink":"/docs/extensions/install/"},{"id":"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","title":"Installing from a compressed tar file","description":"You can install Podman Desktop on Linux from a compressed tar file.","permalink":"/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file"},{"id":"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","title":"Installing from a Flatpak bundle","description":"You can install Podman Desktop on Linux from a Flatpak bundle.","permalink":"/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle"},{"id":"Installation/index","title":"Installing Podman Desktop","description":"You can install Podman Desktop on Windows, macOS, and Linux.","permalink":"/docs/Installation/"},{"id":"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","title":"Installing Podman Desktop in a restricted environment","description":"Installing Podman Desktop on Windows in a restricted environment","permalink":"/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment"},{"id":"Installation/windows-install/index","title":"Installing Podman Desktop on Windows","description":"How to install Podman on Windows.","permalink":"/docs/Installation/windows-install/"},{"id":"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","title":"Installing Podman Desktop silently","description":"Installing Podman Desktop silently on Windows with the installer","permalink":"/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer"},{"id":"Installation/windows-install/installing-podman-desktop-with-chocolatey","title":"Installing Podman Desktop with Chocolatey","description":"Installing Podman Desktop on Windows with Chocolatey","permalink":"/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey"},{"id":"Installation/windows-install/installing-podman-desktop-with-scoop","title":"Installing Podman Desktop with Scoop","description":"Installing Podman Desktop on Windows with Scoop","permalink":"/docs/Installation/windows-install/installing-podman-desktop-with-scoop"},{"id":"Installation/windows-install/installing-podman-desktop-with-winget","title":"Installing Podman Desktop with Winget","description":"Installing Podman Desktop on Windows with Winget","permalink":"/docs/Installation/windows-install/installing-podman-desktop-with-winget"},{"id":"Installation/windows-install/installing-podman-with-podman-desktop","title":"Installing Podman on Windows","description":"Podman Desktop can assist you to install Podman on Windows.","permalink":"/docs/Installation/windows-install/installing-podman-with-podman-desktop"},{"id":"Installation/linux-install/index","title":"Linux","description":"You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.","permalink":"/docs/Installation/linux-install/"},{"id":"extensions/publish/index","title":"Publishing","description":"Publishing a Podman Desktop extension","permalink":"/docs/extensions/publish/"},{"id":"extensions/write/index","title":"Writing","description":"Writing a Podman Desktop extension","permalink":"/docs/extensions/write/"}]}')}}]); \ No newline at end of file diff --git a/assets/js/6194ac84.fadf2565.js b/assets/js/6194ac84.fadf2565.js deleted file mode 100644 index 18cff640438..00000000000 --- a/assets/js/6194ac84.fadf2565.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[397],{299:n=>{n.exports=JSON.parse('{"label":"podman-desktop","permalink":"/docs/tags/podman-desktop","allTagsPath":"/docs/tags","count":12,"items":[{"id":"getting-started/getting-started","title":"Getting Started with Podman Desktop","description":"This blog will help you build and run your first container image on Podman Desktop","permalink":"/docs/getting-started/getting-started"},{"id":"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","title":"Installing from a compressed tar file","description":"You can install Podman Desktop on Linux from a compressed tar file.","permalink":"/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file"},{"id":"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","title":"Installing from a Flatpak bundle","description":"You can install Podman Desktop on Linux from a Flatpak bundle.","permalink":"/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle"},{"id":"Installation/index","title":"Installing Podman Desktop","description":"You can install Podman Desktop on Windows, macOS, and Linux.","permalink":"/docs/Installation/"},{"id":"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","title":"Installing Podman Desktop in a restricted environment","description":"Installing Podman Desktop on Windows in a restricted environment","permalink":"/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment"},{"id":"Installation/windows-install/index","title":"Installing Podman Desktop on Windows","description":"How to install Podman on Windows.","permalink":"/docs/Installation/windows-install/"},{"id":"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","title":"Installing Podman Desktop silently","description":"Installing Podman Desktop silently on Windows with the installer","permalink":"/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer"},{"id":"Installation/windows-install/installing-podman-desktop-with-chocolatey","title":"Installing Podman Desktop with Chocolatey","description":"Installing Podman Desktop on Windows with Chocolatey","permalink":"/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey"},{"id":"Installation/windows-install/installing-podman-desktop-with-scoop","title":"Installing Podman Desktop with Scoop","description":"Installing Podman Desktop on Windows with Scoop","permalink":"/docs/Installation/windows-install/installing-podman-desktop-with-scoop"},{"id":"Installation/windows-install/installing-podman-desktop-with-winget","title":"Installing Podman Desktop with Winget","description":"Installing Podman Desktop on Windows with Winget","permalink":"/docs/Installation/windows-install/installing-podman-desktop-with-winget"},{"id":"Installation/windows-install/installing-podman-with-podman-desktop","title":"Installing Podman on Windows","description":"Podman Desktop can assist you to install Podman on Windows.","permalink":"/docs/Installation/windows-install/installing-podman-with-podman-desktop"},{"id":"Installation/linux-install/index","title":"Linux","description":"You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.","permalink":"/docs/Installation/linux-install/"}]}')}}]); \ No newline at end of file diff --git a/assets/js/7591d420.28cf6b58.js b/assets/js/7591d420.f4d8532f.js similarity index 73% rename from assets/js/7591d420.28cf6b58.js rename to assets/js/7591d420.f4d8532f.js index 2248ad1addd..93711ddea4e 100644 --- a/assets/js/7591d420.28cf6b58.js +++ b/assets/js/7591d420.f4d8532f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7220],{7304:e=>{e.exports=JSON.parse('{"label":"migrating-to-kubernetes","permalink":"/docs/tags/migrating-to-kubernetes","allTagsPath":"/docs/tags","count":2,"items":[{"id":"kubernetes/kind","title":"Kind support","description":"Kind is one way to get Kubernetes running on your workstation.","permalink":"/docs/kubernetes/kind"},{"id":"kubernetes/index","title":"Kubernetes","description":"Migrate transparently from Podman to Kubernetes, and continue using familiar workflows.","permalink":"/docs/kubernetes/"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7220],{7304:e=>{e.exports=JSON.parse('{"label":"migrating-to-kubernetes","permalink":"/docs/tags/migrating-to-kubernetes","allTagsPath":"/docs/tags","count":3,"items":[{"id":"extensions/index","title":"Extensions","description":"Writing or deploying extensions.","permalink":"/docs/extensions/"},{"id":"kubernetes/kind","title":"Kind support","description":"Kind is one way to get Kubernetes running on your workstation.","permalink":"/docs/kubernetes/kind"},{"id":"kubernetes/index","title":"Kubernetes","description":"Migrate transparently from Podman to Kubernetes, and continue using familiar workflows.","permalink":"/docs/kubernetes/"}]}')}}]); \ No newline at end of file diff --git a/assets/js/7bdcd7a7.6fd67667.js b/assets/js/7bdcd7a7.6fd67667.js new file mode 100644 index 00000000000..f09cd3dbe38 --- /dev/null +++ b/assets/js/7bdcd7a7.6fd67667.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7714],{5318:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>u});var i=n(7378);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=i.createContext({}),l=function(e){var t=i.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=l(e.components);return i.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},c=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,p=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),c=l(n),u=a,k=c["".concat(p,".").concat(u)]||c[u]||d[u]||r;return n?i.createElement(k,o(o({ref:t},m),{},{components:n})):i.createElement(k,o({ref:t},m))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=c;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var i=n(5773),a=(n(7378),n(5318));const r={sidebar_position:1,title:"Writing",description:"Writing a Podman Desktop extension",tags:["podman-desktop","extension","writing"],keywords:["podman desktop","extension","writing"]},o="Writing a Podman Desktop extension",s={unversionedId:"extensions/write/index",id:"extensions/write/index",title:"Writing",description:"Writing a Podman Desktop extension",source:"@site/docs/extensions/write/index.md",sourceDirName:"extensions/write",slug:"/extensions/write/",permalink:"/docs/extensions/write/",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/extensions/write/index.md",tags:[{label:"podman-desktop",permalink:"/docs/tags/podman-desktop"},{label:"extension",permalink:"/docs/tags/extension"},{label:"writing",permalink:"/docs/tags/writing"}],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Writing",description:"Writing a Podman Desktop extension",tags:["podman-desktop","extension","writing"],keywords:["podman desktop","extension","writing"]},sidebar:"mySidebar",previous:{title:"Extensions",permalink:"/docs/extensions/"},next:{title:"Publishing",permalink:"/docs/extensions/publish/"}},p={},l=[{value:"Initializing a Podman Desktop extension",id:"initializing-a-podman-desktop-extension",level:2},{value:"Prerequisites",id:"prerequisites",level:4},{value:"Procedure",id:"procedure",level:4},{value:"Verification",id:"verification",level:4},{value:"Writing a Podman Desktop extension entry point",id:"writing-a-podman-desktop-extension-entry-point",level:2},{value:"Prerequisites",id:"prerequisites-1",level:4},{value:"Procedure",id:"procedure-1",level:4},{value:"Verification",id:"verification-1",level:4},{value:"Additional resources",id:"additional-resources",level:4},{value:"Next steps",id:"next-steps",level:4}],m={toc:l};function d(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,i.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"writing-a-podman-desktop-extension"},"Writing a Podman Desktop extension"),(0,a.kt)("p",null,"To write a Podman Desktop extension, start a Node.js or TypeScript project calling the Podman Desktop API, and ensure all runtime dependencies are inside the final binary."),(0,a.kt)("h2",{id:"initializing-a-podman-desktop-extension"},"Initializing a Podman Desktop extension"),(0,a.kt)("p",null,"Write the Podman Desktop extension Node.js package metadata."),(0,a.kt)("h4",{id:"prerequisites"},"Prerequisites"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"JavaScript or TypeScript")),(0,a.kt)("h4",{id:"procedure"},"Procedure"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Create and edit a ",(0,a.kt)("inlineCode",{parentName:"p"},"package.json")," file."),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-json"},"{\n}\n"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Add TypeScript and Podman Desktop API to the development dependencies:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-json",metastring:"lines",lines:!0},' "devDependencies": {\n "@podman-desktop/api": "latest",\n "typescript": "latest"\n },\n'))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Add the required metadata:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-json",metastring:"lines",lines:!0},' "name": "my-extension",\n "displayName": "My Hello World extension",\n "description": "How to write my first extension",\n "version": "0.0.1",\n "icon": "icon.png",\n "publisher": "benoitf",\n'))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Add the Podman Desktop version that might run this extension:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-json",metastring:"lines",lines:!0},' "engines": {\n "podman-desktop": "latest"\n },\n'))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Add the main entry point:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-json",metastring:"lines",lines:!0},' "main": "./dist/extension.js"\n'))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Add a Hello World command contribution"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-json",metastring:"lines",lines:!0},' "contributes": {\n "commands": [\n {\n "command": "my.first.command",\n "title": "My First Extension: Hello World"\n }\n ]\n }\n'))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Add an ",(0,a.kt)("inlineCode",{parentName:"p"},"icon.png")," file to the project."))),(0,a.kt)("h4",{id:"verification"},"Verification"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Full ",(0,a.kt)("inlineCode",{parentName:"p"},"package.json")," example:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "devDependencies": {\n "@podman-desktop/api": "latest",\n "typescript": "latest"\n },\n "name": "my-extension",\n "displayName": "My Hello World extension",\n "description": "How to write my first extension",\n "version": "0.0.1",\n "icon": "icon.png",\n "publisher": "benoitf",\n "engines": {\n "podman-desktop": "latest"\n },\n "main": "./dist/extension.js",\n "contributes": {\n "commands": [\n {\n "command": "my.first.command",\n "title": "My First Extension: Hello World"\n }\n ]\n }\n}\n')))),(0,a.kt)("h2",{id:"writing-a-podman-desktop-extension-entry-point"},"Writing a Podman Desktop extension entry point"),(0,a.kt)("p",null,"Write the extension features."),(0,a.kt)("h4",{id:"prerequisites-1"},"Prerequisites"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"JavaScript or TypeScript")),(0,a.kt)("h4",{id:"procedure-1"},"Procedure"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Create and edit a ",(0,a.kt)("inlineCode",{parentName:"p"},"dist/extension.js")," file.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Import the Podman Desktop API"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"import * as podmanDesktopAPI from '@podman-desktop/api';\n"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Expose the ",(0,a.kt)("inlineCode",{parentName:"p"},"activate")," function to call on activation."),(0,a.kt)("p",{parentName:"li"},"The signature of the function can be:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Synchronous"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"export function activate(): void\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Asynchronous"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"export async function activate(): Promise\n"))))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"(Optional) Add an extension context to the ",(0,a.kt)("inlineCode",{parentName:"p"},"activate")," function enabling the extension to register disposable resources:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"export async function activate(extensionContext: podmanDesktopAPI.ExtensionContext): Promise {\n}\n"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Register the command and the callback"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"import * as podmanDesktopAPI from '@podman-desktop/api';\nexport async function activate(extensionContext: podmanDesktopAPI.ExtensionContext): Promise {\n\n // register the command referenced in package.json file\n const myFirstCommand = extensionApi.commands.registerCommand('my.first.command', async () => {\n \n // display a choice to the user for selecting some values\n const result = await extensionApi.window.showQuickPick(['un', 'deux', 'trois'], {\n canPickMany: true, // user can select more than one choice\n });\n\n // display an information message with the user choice\n await extensionApi.window.showInformationMessage(`The choice was: ${result}`);\n });\n\n // create an item in the status bar to run our command\n // it will stick on the left of the status bar\n const item = extensionApi.window.createStatusBarItem(extensionApi.StatusBarAlignLeft, 100);\n item.text = 'My first command';\n item.command = 'my.first.command';\n item.show();\n\n // register disposable resources to it's removed when we deactivte the extension\n extensionContext.subscriptions.push(myFirstCommand);\n extensionContext.subscriptions.push(item);\n\n}\n"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"(Optional) Expose the ",(0,a.kt)("inlineCode",{parentName:"p"},"deactivate")," function to call on deactivation."),(0,a.kt)("p",{parentName:"li"},"The signature of the function can be:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Synchronous"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"export function deactivate(): void\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Asynchronous"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-typescript"},"export async function deactivate(): Promise\n")))))),(0,a.kt)("h4",{id:"verification-1"},"Verification"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"The extension compiles and produces the output in the ",(0,a.kt)("inlineCode",{parentName:"p"},"dist")," folder.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"All runtime dependencies are inside the final binary."))),(0,a.kt)("h4",{id:"additional-resources"},"Additional resources"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Consider a packer such as ",(0,a.kt)("a",{parentName:"li",href:"https://rollupjs.org"},"Rollup")," or ",(0,a.kt)("a",{parentName:"li",href:"https://webpack.js.org"},"Webpack")," to shrink the size of the artifact.")),(0,a.kt)("h4",{id:"next-steps"},"Next steps"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"publish"},"Publishing a Podman Desktop extension"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/846a5e19.f0a218a9.js b/assets/js/846a5e19.f0a218a9.js new file mode 100644 index 00000000000..c7e7c27e095 --- /dev/null +++ b/assets/js/846a5e19.f0a218a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3317],{7958:e=>{e.exports=JSON.parse('{"label":"extension","permalink":"/docs/tags/extension","allTagsPath":"/docs/tags","count":3,"items":[{"id":"extensions/install/index","title":"Installing","description":"Install Podman Desktop extension","permalink":"/docs/extensions/install/"},{"id":"extensions/publish/index","title":"Publishing","description":"Publishing a Podman Desktop extension","permalink":"/docs/extensions/publish/"},{"id":"extensions/write/index","title":"Writing","description":"Writing a Podman Desktop extension","permalink":"/docs/extensions/write/"}]}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.be505891.js b/assets/js/935f2afb.0092c41e.js similarity index 88% rename from assets/js/935f2afb.be505891.js rename to assets/js/935f2afb.0092c41e.js index e5c6a7bd1f5..e3a86cba5be 100644 --- a/assets/js/935f2afb.be505891.js +++ b/assets/js/935f2afb.0092c41e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:n=>{n.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"mySidebar":[{"type":"link","label":"Introduction","href":"/docs/intro","docId":"intro"},{"type":"category","label":"Installing Podman Desktop","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Installing Podman Desktop on Windows","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installing Podman Desktop silently","href":"/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","docId":"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer"},{"type":"link","label":"Installing Podman Desktop with Chocolatey","href":"/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey","docId":"Installation/windows-install/installing-podman-desktop-with-chocolatey"},{"type":"link","label":"Installing Podman Desktop with Scoop","href":"/docs/Installation/windows-install/installing-podman-desktop-with-scoop","docId":"Installation/windows-install/installing-podman-desktop-with-scoop"},{"type":"link","label":"Installing Podman Desktop in a restricted environment","href":"/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","docId":"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment"},{"type":"link","label":"Installing Podman Desktop with Winget","href":"/docs/Installation/windows-install/installing-podman-desktop-with-winget","docId":"Installation/windows-install/installing-podman-desktop-with-winget"},{"type":"link","label":"Installing Podman on Windows","href":"/docs/Installation/windows-install/installing-podman-with-podman-desktop","docId":"Installation/windows-install/installing-podman-with-podman-desktop"},{"type":"link","label":"Installing Podman with OpenShift Local","href":"/docs/Installation/windows-install/installing-podman-with-openshift-local","docId":"Installation/windows-install/installing-podman-with-openshift-local"}],"href":"/docs/Installation/windows-install/"},{"type":"link","label":"MacOS","href":"/docs/Installation/macos-install","docId":"Installation/macos-install"},{"type":"category","label":"Linux","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installing from a Flatpak bundle","href":"/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","docId":"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle"},{"type":"link","label":"Installing from a compressed tar file","href":"/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","docId":"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file"}],"href":"/docs/Installation/linux-install/"}],"href":"/docs/Installation/"},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started with Podman Desktop","href":"/docs/getting-started/getting-started","docId":"getting-started/getting-started"}]},{"type":"category","label":"Migrating from Docker","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Importing saved containers","href":"/docs/migrating-from-docker/importing-saved-containers","docId":"migrating-from-docker/importing-saved-containers"},{"type":"link","label":"Using the `DOCKER_HOST` environment variable","href":"/docs/migrating-from-docker/using-the-docker_host-environment-variable","docId":"migrating-from-docker/using-the-docker_host-environment-variable"},{"type":"link","label":"Using `podman-mac-helper` on macOS","href":"/docs/migrating-from-docker/using-podman-mac-helper","docId":"migrating-from-docker/using-podman-mac-helper"},{"type":"link","label":"Emulating Docker CLI with Podman","href":"/docs/migrating-from-docker/emulating-docker-cli-with-podman","docId":"migrating-from-docker/emulating-docker-cli-with-podman"},{"type":"link","label":"Verifying your tools are using Podman","href":"/docs/migrating-from-docker/verifying-your-tools-are-using-podman","docId":"migrating-from-docker/verifying-your-tools-are-using-podman"}],"href":"/docs/migrating-from-docker/"},{"type":"category","label":"Kubernetes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Kind support","href":"/docs/kubernetes/kind","docId":"kubernetes/kind"}],"href":"/docs/kubernetes/"},{"type":"category","label":"Compose","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Compose spec with Podman Desktop","href":"/docs/compose/compose-spec","docId":"compose/compose-spec"},{"type":"link","label":"Podman Compose with Podman Desktop","href":"/docs/compose/podman-compose","docId":"compose/podman-compose"}]},{"type":"link","label":"Troubleshooting","href":"/docs/troubleshooting","docId":"troubleshooting"}]},"docs":{"compose/compose-spec":{"id":"compose/compose-spec","title":"Compose spec with Podman Desktop","description":"Introduction","sidebar":"mySidebar"},"compose/podman-compose":{"id":"compose/podman-compose","title":"Podman Compose with Podman Desktop","description":"Introduction","sidebar":"mySidebar"},"getting-started/getting-started":{"id":"getting-started/getting-started","title":"Getting Started with Podman Desktop","description":"This blog will help you build and run your first container image on Podman Desktop","sidebar":"mySidebar"},"Installation/index":{"id":"Installation/index","title":"Installing Podman Desktop","description":"You can install Podman Desktop on Windows, macOS, and Linux.","sidebar":"mySidebar"},"Installation/linux-install/index":{"id":"Installation/linux-install/index","title":"Linux","description":"You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.","sidebar":"mySidebar"},"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file":{"id":"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","title":"Installing from a compressed tar file","description":"You can install Podman Desktop on Linux from a compressed tar file.","sidebar":"mySidebar"},"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle":{"id":"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","title":"Installing from a Flatpak bundle","description":"You can install Podman Desktop on Linux from a Flatpak bundle.","sidebar":"mySidebar"},"Installation/macos-install":{"id":"Installation/macos-install","title":"MacOS","description":"This page contains information regarding installation of Podman Desktop on MacOS.","sidebar":"mySidebar"},"Installation/windows-install/index":{"id":"Installation/windows-install/index","title":"Installing Podman Desktop on Windows","description":"How to install Podman on Windows.","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment":{"id":"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","title":"Installing Podman Desktop in a restricted environment","description":"Installing Podman Desktop on Windows in a restricted environment","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer":{"id":"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","title":"Installing Podman Desktop silently","description":"Installing Podman Desktop silently on Windows with the installer","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-with-chocolatey":{"id":"Installation/windows-install/installing-podman-desktop-with-chocolatey","title":"Installing Podman Desktop with Chocolatey","description":"Installing Podman Desktop on Windows with Chocolatey","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-with-scoop":{"id":"Installation/windows-install/installing-podman-desktop-with-scoop","title":"Installing Podman Desktop with Scoop","description":"Installing Podman Desktop on Windows with Scoop","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-with-winget":{"id":"Installation/windows-install/installing-podman-desktop-with-winget","title":"Installing Podman Desktop with Winget","description":"Installing Podman Desktop on Windows with Winget","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-with-openshift-local":{"id":"Installation/windows-install/installing-podman-with-openshift-local","title":"Installing Podman with OpenShift Local","description":"OpenShift Local can assist you to install Podman on Windows.","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-with-podman-desktop":{"id":"Installation/windows-install/installing-podman-with-podman-desktop","title":"Installing Podman on Windows","description":"Podman Desktop can assist you to install Podman on Windows.","sidebar":"mySidebar"},"intro":{"id":"intro","title":"Introduction","description":"Let\'s discover Podman Desktop in less than 5 minutes.","sidebar":"mySidebar"},"kubernetes/index":{"id":"kubernetes/index","title":"Kubernetes","description":"Migrate transparently from Podman to Kubernetes, and continue using familiar workflows.","sidebar":"mySidebar"},"kubernetes/kind":{"id":"kubernetes/kind","title":"Kind support","description":"Kind is one way to get Kubernetes running on your workstation.","sidebar":"mySidebar"},"migrating-from-docker/emulating-docker-cli-with-podman":{"id":"migrating-from-docker/emulating-docker-cli-with-podman","title":"Emulating Docker CLI with Podman","description":"Emulation Docker CLI with Podman can make it easier to migrate from Docker to Podman, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.","sidebar":"mySidebar"},"migrating-from-docker/importing-saved-containers":{"id":"migrating-from-docker/importing-saved-containers","title":"Importing saved containers","description":"Import saved containers to migrate transparently to Podman, and continue using familiar containers.","sidebar":"mySidebar"},"migrating-from-docker/index":{"id":"migrating-from-docker/index","title":"Migrating from Docker","description":"Migrate transparently from Docker to Podman, and continue using familiar workflows.","sidebar":"mySidebar"},"migrating-from-docker/using-podman-mac-helper":{"id":"migrating-from-docker/using-podman-mac-helper","title":"Using `podman-mac-helper` on macOS","description":"Using the `podman-mac-helper` tool can make it easier to migrate from Docker to Podman on macOS, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.","sidebar":"mySidebar"},"migrating-from-docker/using-the-docker_host-environment-variable":{"id":"migrating-from-docker/using-the-docker_host-environment-variable","title":"Using the `DOCKER_HOST` environment variable","description":"Using the `DOCKER_HOST` environment variable can make it easier to migrate from Docker to Podman Desktop, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.","sidebar":"mySidebar"},"migrating-from-docker/verifying-your-tools-are-using-podman":{"id":"migrating-from-docker/verifying-your-tools-are-using-podman","title":"Verifying your tools are using Podman","description":"Verify that your tools are using Podman rather than Docker.","sidebar":"mySidebar"},"troubleshooting":{"id":"troubleshooting","title":"Troubleshooting","description":"If you cannot find your issue here or in the documentation, please fill an issue on our repository. You can also explore the discussions and do a search on similar issues on the repository.","sidebar":"mySidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:n=>{n.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"mySidebar":[{"type":"link","label":"Introduction","href":"/docs/intro","docId":"intro"},{"type":"category","label":"Installing Podman Desktop","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Installing Podman Desktop on Windows","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installing Podman Desktop silently","href":"/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","docId":"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer"},{"type":"link","label":"Installing Podman Desktop with Chocolatey","href":"/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey","docId":"Installation/windows-install/installing-podman-desktop-with-chocolatey"},{"type":"link","label":"Installing Podman Desktop with Scoop","href":"/docs/Installation/windows-install/installing-podman-desktop-with-scoop","docId":"Installation/windows-install/installing-podman-desktop-with-scoop"},{"type":"link","label":"Installing Podman Desktop in a restricted environment","href":"/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","docId":"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment"},{"type":"link","label":"Installing Podman Desktop with Winget","href":"/docs/Installation/windows-install/installing-podman-desktop-with-winget","docId":"Installation/windows-install/installing-podman-desktop-with-winget"},{"type":"link","label":"Installing Podman on Windows","href":"/docs/Installation/windows-install/installing-podman-with-podman-desktop","docId":"Installation/windows-install/installing-podman-with-podman-desktop"},{"type":"link","label":"Installing Podman with OpenShift Local","href":"/docs/Installation/windows-install/installing-podman-with-openshift-local","docId":"Installation/windows-install/installing-podman-with-openshift-local"}],"href":"/docs/Installation/windows-install/"},{"type":"link","label":"MacOS","href":"/docs/Installation/macos-install","docId":"Installation/macos-install"},{"type":"category","label":"Linux","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installing from a Flatpak bundle","href":"/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","docId":"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle"},{"type":"link","label":"Installing from a compressed tar file","href":"/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","docId":"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file"}],"href":"/docs/Installation/linux-install/"}],"href":"/docs/Installation/"},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started with Podman Desktop","href":"/docs/getting-started/getting-started","docId":"getting-started/getting-started"}]},{"type":"category","label":"Migrating from Docker","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Importing saved containers","href":"/docs/migrating-from-docker/importing-saved-containers","docId":"migrating-from-docker/importing-saved-containers"},{"type":"link","label":"Using the `DOCKER_HOST` environment variable","href":"/docs/migrating-from-docker/using-the-docker_host-environment-variable","docId":"migrating-from-docker/using-the-docker_host-environment-variable"},{"type":"link","label":"Using `podman-mac-helper` on macOS","href":"/docs/migrating-from-docker/using-podman-mac-helper","docId":"migrating-from-docker/using-podman-mac-helper"},{"type":"link","label":"Emulating Docker CLI with Podman","href":"/docs/migrating-from-docker/emulating-docker-cli-with-podman","docId":"migrating-from-docker/emulating-docker-cli-with-podman"},{"type":"link","label":"Verifying your tools are using Podman","href":"/docs/migrating-from-docker/verifying-your-tools-are-using-podman","docId":"migrating-from-docker/verifying-your-tools-are-using-podman"}],"href":"/docs/migrating-from-docker/"},{"type":"category","label":"Kubernetes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Kind support","href":"/docs/kubernetes/kind","docId":"kubernetes/kind"}],"href":"/docs/kubernetes/"},{"type":"category","label":"Compose","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Compose spec with Podman Desktop","href":"/docs/compose/compose-spec","docId":"compose/compose-spec"},{"type":"link","label":"Podman Compose with Podman Desktop","href":"/docs/compose/podman-compose","docId":"compose/podman-compose"}]},{"type":"category","label":"Extensions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Writing","href":"/docs/extensions/write/","docId":"extensions/write/index"},{"type":"link","label":"Publishing","href":"/docs/extensions/publish/","docId":"extensions/publish/index"},{"type":"link","label":"Installing","href":"/docs/extensions/install/","docId":"extensions/install/index"}],"href":"/docs/extensions/"},{"type":"link","label":"Troubleshooting","href":"/docs/troubleshooting","docId":"troubleshooting"}]},"docs":{"compose/compose-spec":{"id":"compose/compose-spec","title":"Compose spec with Podman Desktop","description":"Introduction","sidebar":"mySidebar"},"compose/podman-compose":{"id":"compose/podman-compose","title":"Podman Compose with Podman Desktop","description":"Introduction","sidebar":"mySidebar"},"extensions/index":{"id":"extensions/index","title":"Extensions","description":"Writing or deploying extensions.","sidebar":"mySidebar"},"extensions/install/index":{"id":"extensions/install/index","title":"Installing","description":"Install Podman Desktop extension","sidebar":"mySidebar"},"extensions/publish/index":{"id":"extensions/publish/index","title":"Publishing","description":"Publishing a Podman Desktop extension","sidebar":"mySidebar"},"extensions/write/index":{"id":"extensions/write/index","title":"Writing","description":"Writing a Podman Desktop extension","sidebar":"mySidebar"},"getting-started/getting-started":{"id":"getting-started/getting-started","title":"Getting Started with Podman Desktop","description":"This blog will help you build and run your first container image on Podman Desktop","sidebar":"mySidebar"},"Installation/index":{"id":"Installation/index","title":"Installing Podman Desktop","description":"You can install Podman Desktop on Windows, macOS, and Linux.","sidebar":"mySidebar"},"Installation/linux-install/index":{"id":"Installation/linux-install/index","title":"Linux","description":"You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.","sidebar":"mySidebar"},"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file":{"id":"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","title":"Installing from a compressed tar file","description":"You can install Podman Desktop on Linux from a compressed tar file.","sidebar":"mySidebar"},"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle":{"id":"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","title":"Installing from a Flatpak bundle","description":"You can install Podman Desktop on Linux from a Flatpak bundle.","sidebar":"mySidebar"},"Installation/macos-install":{"id":"Installation/macos-install","title":"MacOS","description":"This page contains information regarding installation of Podman Desktop on MacOS.","sidebar":"mySidebar"},"Installation/windows-install/index":{"id":"Installation/windows-install/index","title":"Installing Podman Desktop on Windows","description":"How to install Podman on Windows.","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment":{"id":"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","title":"Installing Podman Desktop in a restricted environment","description":"Installing Podman Desktop on Windows in a restricted environment","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer":{"id":"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","title":"Installing Podman Desktop silently","description":"Installing Podman Desktop silently on Windows with the installer","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-with-chocolatey":{"id":"Installation/windows-install/installing-podman-desktop-with-chocolatey","title":"Installing Podman Desktop with Chocolatey","description":"Installing Podman Desktop on Windows with Chocolatey","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-with-scoop":{"id":"Installation/windows-install/installing-podman-desktop-with-scoop","title":"Installing Podman Desktop with Scoop","description":"Installing Podman Desktop on Windows with Scoop","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-desktop-with-winget":{"id":"Installation/windows-install/installing-podman-desktop-with-winget","title":"Installing Podman Desktop with Winget","description":"Installing Podman Desktop on Windows with Winget","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-with-openshift-local":{"id":"Installation/windows-install/installing-podman-with-openshift-local","title":"Installing Podman with OpenShift Local","description":"OpenShift Local can assist you to install Podman on Windows.","sidebar":"mySidebar"},"Installation/windows-install/installing-podman-with-podman-desktop":{"id":"Installation/windows-install/installing-podman-with-podman-desktop","title":"Installing Podman on Windows","description":"Podman Desktop can assist you to install Podman on Windows.","sidebar":"mySidebar"},"intro":{"id":"intro","title":"Introduction","description":"Let\'s discover Podman Desktop in less than 5 minutes.","sidebar":"mySidebar"},"kubernetes/index":{"id":"kubernetes/index","title":"Kubernetes","description":"Migrate transparently from Podman to Kubernetes, and continue using familiar workflows.","sidebar":"mySidebar"},"kubernetes/kind":{"id":"kubernetes/kind","title":"Kind support","description":"Kind is one way to get Kubernetes running on your workstation.","sidebar":"mySidebar"},"migrating-from-docker/emulating-docker-cli-with-podman":{"id":"migrating-from-docker/emulating-docker-cli-with-podman","title":"Emulating Docker CLI with Podman","description":"Emulation Docker CLI with Podman can make it easier to migrate from Docker to Podman, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.","sidebar":"mySidebar"},"migrating-from-docker/importing-saved-containers":{"id":"migrating-from-docker/importing-saved-containers","title":"Importing saved containers","description":"Import saved containers to migrate transparently to Podman, and continue using familiar containers.","sidebar":"mySidebar"},"migrating-from-docker/index":{"id":"migrating-from-docker/index","title":"Migrating from Docker","description":"Migrate transparently from Docker to Podman, and continue using familiar workflows.","sidebar":"mySidebar"},"migrating-from-docker/using-podman-mac-helper":{"id":"migrating-from-docker/using-podman-mac-helper","title":"Using `podman-mac-helper` on macOS","description":"Using the `podman-mac-helper` tool can make it easier to migrate from Docker to Podman on macOS, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.","sidebar":"mySidebar"},"migrating-from-docker/using-the-docker_host-environment-variable":{"id":"migrating-from-docker/using-the-docker_host-environment-variable","title":"Using the `DOCKER_HOST` environment variable","description":"Using the `DOCKER_HOST` environment variable can make it easier to migrate from Docker to Podman Desktop, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.","sidebar":"mySidebar"},"migrating-from-docker/verifying-your-tools-are-using-podman":{"id":"migrating-from-docker/verifying-your-tools-are-using-podman","title":"Verifying your tools are using Podman","description":"Verify that your tools are using Podman rather than Docker.","sidebar":"mySidebar"},"troubleshooting":{"id":"troubleshooting","title":"Troubleshooting","description":"If you cannot find your issue here or in the documentation, please fill an issue on our repository. You can also explore the discussions and do a search on similar issues on the repository.","sidebar":"mySidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/94fb813f.62bf5a08.js b/assets/js/94fb813f.62bf5a08.js new file mode 100644 index 00000000000..f9455fac897 --- /dev/null +++ b/assets/js/94fb813f.62bf5a08.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1705],{8161:s=>{s.exports=JSON.parse('{"label":"publishing","permalink":"/docs/tags/publishing","allTagsPath":"/docs/tags","count":2,"items":[{"id":"extensions/install/index","title":"Installing","description":"Install Podman Desktop extension","permalink":"/docs/extensions/install/"},{"id":"extensions/publish/index","title":"Publishing","description":"Publishing a Podman Desktop extension","permalink":"/docs/extensions/publish/"}]}')}}]); \ No newline at end of file diff --git a/assets/js/9cb03f5d.2eaba62e.js b/assets/js/9cb03f5d.2eaba62e.js new file mode 100644 index 00000000000..fd6ee53671d --- /dev/null +++ b/assets/js/9cb03f5d.2eaba62e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4059],{4947:e=>{e.exports=JSON.parse('{"label":"writing","permalink":"/docs/tags/writing","allTagsPath":"/docs/tags","count":1,"items":[{"id":"extensions/write/index","title":"Writing","description":"Writing a Podman Desktop extension","permalink":"/docs/extensions/write/"}]}')}}]); \ No newline at end of file diff --git a/assets/js/9d9f8394.64962efe.js b/assets/js/9d9f8394.64962efe.js deleted file mode 100644 index 826f31167fc..00000000000 --- a/assets/js/9d9f8394.64962efe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9360],{5318:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>c});var a=t(7378);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},m=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,m=r(e,["components","mdxType","originalType","parentName"]),u=p(t),c=o,h=u["".concat(s,".").concat(c)]||u[c]||d[c]||i;return t?a.createElement(h,l(l({ref:n},m),{},{components:t})):a.createElement(h,l({ref:n},m))}));function c(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,l=new Array(i);l[0]=u;var r={};for(var s in n)hasOwnProperty.call(n,s)&&(r[s]=n[s]);r.originalType=e,r.mdxType="string"==typeof e?e:o,l[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var a=t(5773),o=(t(7378),t(5318));const i={sidebar_position:7},l="Troubleshooting",r={unversionedId:"troubleshooting",id:"troubleshooting",title:"Troubleshooting",description:"If you cannot find your issue here or in the documentation, please fill an issue on our repository. You can also explore the discussions and do a search on similar issues on the repository.",source:"@site/docs/troubleshooting.md",sourceDirName:".",slug:"/troubleshooting",permalink:"/docs/troubleshooting",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/troubleshooting.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7},sidebar:"mySidebar",previous:{title:"Podman Compose with Podman Desktop",permalink:"/docs/compose/podman-compose"}},s={},p=[{value:"Podman Issues",id:"podman-issues",level:2},{value:"Unable to see any image or container after downloading Podman Desktop",id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop",level:3},{value:"System Requirements",id:"system-requirements",level:4},{value:"Check connection",id:"check-connection",level:4},{value:"Unable to locate Podman Engine",id:"unable-to-locate-podman-engine",level:3},{value:"Issue:",id:"issue",level:4},{value:"Explanation:",id:"explanation",level:4},{value:"Solution:",id:"solution",level:4},{value:"Unable to see information about active containers",id:"unable-to-see-information-about-active-containers",level:3},{value:"Issue:",id:"issue-1",level:4},{value:"Solution:",id:"solution-1",level:4},{value:"Unable to set custom binary path for Podman on macOS",id:"unable-to-set-custom-binary-path-for-podman-on-macos",level:3},{value:"Issue:",id:"issue-2",level:4},{value:"Solution:",id:"solution-2",level:4},{value:"Warning about Docker compatibility mode",id:"warning-about-docker-compatibility-mode",level:3},{value:"Issue:",id:"issue-3",level:4},{value:"Solution:",id:"solution-3",level:4},{value:"Code Ready Containers",id:"code-ready-containers",level:2},{value:"Other Issues",id:"other-issues",level:2},{value:"Fixing corrupted Podman Machine in Windows",id:"fixing-corrupted-podman-machine-in-windows",level:3},{value:"Podman machine on Apple Silicon",id:"podman-machine-on-apple-silicon",level:3},{value:"Issue",id:"issue-4",level:4},{value:"Explanation",id:"explanation-1",level:4},{value:"Solution",id:"solution-4",level:4}],m={toc:p};function d(e){let{components:n,...i}=e;return(0,o.kt)("wrapper",(0,a.Z)({},m,i,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("p",null,"If you cannot find your issue here or in the documentation, please fill an issue on our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),". You can also explore the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/discussions"},"discussions")," and do a search on similar issues on the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),"."),(0,o.kt)("h2",{id:"podman-issues"},"Podman Issues"),(0,o.kt)("h3",{id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop"},"Unable to see any image or container after downloading Podman Desktop"),(0,o.kt)("h4",{id:"system-requirements"},"System Requirements"),(0,o.kt)("p",null,"The tool connects to Podman using the socket on the host on macOS and on a named pipe on Windows.\nThis is available only on Podman 4.0.2+\nSo, please check your version and update."),(0,o.kt)("p",null,"On Windows, the named pipe is ",(0,o.kt)("inlineCode",{parentName:"p"},"//./pipe/docker_engine")," when Docker Desktop is not installed. It will be solved by ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/13502"},"https://github.com/containers/podman/issues/13502")," / ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/pull/13655"},"https://github.com/containers/podman/pull/13655"),". During that time, you may start Docker Desktop so the named pipe is the one expected."),(0,o.kt)("h4",{id:"check-connection"},"Check connection"),(0,o.kt)("p",null,"Check at least a Podman machine is running on Windows & macOS:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"podman machine list\n")),(0,o.kt)("p",null,"And check a connection can be made with the CLI"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'$ podman run quay.io/podman/hello\n!... Hello Podman World ...!\n\n .--"--.\n / - - \\\n / (O) (O) \\\n ~~~| -=(,Y,)=- |\n .---. /` \\ |~~\n ~/ o o \\~~~~.----. ~~\n | =(X)= |~ / (O (O) \\\n ~~~~~~~ ~| =(Y_)=- |\n ~~~~ ~~~| U |~~\n\nProject: https://github.com/containers/podman\nWebsite: https://podman.io\nDocuments: https://docs.podman.io\nTwitter: @Podman_io\n')),(0,o.kt)("h3",{id:"unable-to-locate-podman-engine"},"Unable to locate Podman Engine"),(0,o.kt)("h4",{id:"issue"},"Issue:"),(0,o.kt)("p",null,"Despite having Podman Engine installed, you may receive an error as follows -\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: No such keg: /usr/local/Cellar/podman"),"\nor any similar error denoting that Podman Engine does not exist. "),(0,o.kt)("h4",{id:"explanation"},"Explanation:"),(0,o.kt)("p",null,"The Podman Installer and Homebrew use different locations to store the Podman Engine files in the file system. For example, Podman Installer installs Podman Engine in the path ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman")," whereas Homebrew uses the path ",(0,o.kt)("inlineCode",{parentName:"p"},"/usr/local")," for macOS Intel, ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/homebrew")," for Apple Silicon and ",(0,o.kt)("inlineCode",{parentName:"p"},"/home/linuxbrew/.linuxbrew")," for Linux."),(0,o.kt)("h4",{id:"solution"},"Solution:"),(0,o.kt)("p",null,"To check where exactly is your Podman Engine installed, run the command-"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"which podman\n")),(0,o.kt)("p",null,"This returns the path where the Podman Engine would be installed. This would help determine further action. "),(0,o.kt)("p",null,"For example, if you\u2019re looking to completely uninstall Podman Engine from your system for a fresh installation, running ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman")," returns the exact path where Podman still exists. This could be the path where Podman Installer stores Podman Engine i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman"),". Once you know the path, run:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf /opt/podman\n")),(0,o.kt)("p",null,"Or "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf path-where-podman-exists\n")),(0,o.kt)("p",null,"Here, you would replace ",(0,o.kt)("inlineCode",{parentName:"p"},"path-where-podman-exists")," with the output of ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman"),"."),(0,o.kt)("p",null,"You can now proceed for a fresh installation of Podman Desktop"),(0,o.kt)("h3",{id:"unable-to-see-information-about-active-containers"},"Unable to see information about active containers"),(0,o.kt)("h4",{id:"issue-1"},"Issue:"),(0,o.kt)("p",null,'In this scenario, the screen may be displaying "No Containers" as shown below despite active containers runnning in the background.\n',(0,o.kt)("img",{alt:"img",src:t(9590).Z,width:"2880",height:"1800"})),(0,o.kt)("h4",{id:"solution-1"},"Solution:"),(0,o.kt)("p",null,"There are three ways to work this out."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"To solve this issue, open the Terminal and run the following commands- ")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine stop\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine start\n")),(0,o.kt)("ol",{start:2},(0,o.kt)("li",{parentName:"ol"},"If this does not work for you, you may proceed with the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine rm\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine init\n")),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"If both of the abovementioned steps don't work for you, run the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.local/share/containers/podman\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.config/containers/\n")),(0,o.kt)("p",null,"After this, you can start off again by initializing a new Podman Machine and loading up the containers."),(0,o.kt)("h3",{id:"unable-to-set-custom-binary-path-for-podman-on-macos"},"Unable to set custom binary path for Podman on macOS"),(0,o.kt)("h4",{id:"issue-2"},"Issue:"),(0,o.kt)("p",null,"When setting a custom binary path (under Preferences -> Custom binary path), Podman is unable to find ",(0,o.kt)("inlineCode",{parentName:"p"},"gvproxy")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),":"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'Error: unable to start host networking: "could not find \\"gvproxy\\" in one of [/usr/local/opt/podman/libexec /opt/homebrew/bin /opt/homebrew/opt/podman/libexec /usr/local/bin /usr/local/libexec/podman /usr/local/lib/podman /usr/libexec/podman /usr/lib/podman $BINDIR/../libexec/podman]. To resolve this error, set the helper_binaries_dir key in the `[engine]` section of containers.conf to the directory containing your helper binaries."\n')),(0,o.kt)("h4",{id:"solution-2"},"Solution:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Download ",(0,o.kt)("inlineCode",{parentName:"li"},"gvproxy")," from the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/gvisor-tap-vsock/releases"},"gvisor-tap-vsock release page"),"."),(0,o.kt)("li",{parentName:"ol"},"Build the ",(0,o.kt)("inlineCode",{parentName:"li"},"podman-mac-helper")," from the source code on the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/podman/tree/main/cmd/podman-mac-helper"},"Podman GitHub page"),"."),(0,o.kt)("li",{parentName:"ol"},"Add the ",(0,o.kt)("inlineCode",{parentName:"li"},"helpers_binaries_dir")," entry to ",(0,o.kt)("inlineCode",{parentName:"li"},"~/.config/containers/conf"),":")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'[containers]\n\nhelper_binaries_dir=["/Users/user/example_directory"]\n')),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"NOTE"),": A pre-built binary will be added to the Podman release page so you do not have to build ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),". An ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/16746"},"issue is open for this"),"."),(0,o.kt)("h3",{id:"warning-about-docker-compatibility-mode"},"Warning about Docker compatibility mode"),(0,o.kt)("h4",{id:"issue-3"},"Issue:"),(0,o.kt)("p",null,"When running the Podman provider, a warning shows regarding Docker compatibility mode on the dashboard:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"\u26a0\ufe0f Docker Socket Compatibility: Podman is not emulating the default Docker socket path: '/var/run/docker.sock'. Docker-specific tools may not work. See troubleshooting page on podman-desktop.io for more information.\n")),(0,o.kt)("p",null,"This may appear when either:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The Docker socket is not mounted correctly"),(0,o.kt)("li",{parentName:"ul"},"Docker Desktop is also being ran at the same time ")),(0,o.kt)("h4",{id:"solution-3"},"Solution:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On macOS:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Stop Docker Desktop (if install)")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Run the ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper")," binary:"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo podman-mac-helper install\n")),(0,o.kt)("p",{parentName:"li"},"for additional options please run the command:"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo podman-mac-helper install --help\n"))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)"))),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On Linux / Windows:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Stop Docker Desktop (if installed)"),(0,o.kt)("li",{parentName:"ol"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)")),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note:")," If Docker Desktop is started again, it will automatically re-alias the default Docker socket location and the Podman compatibilty warning will re-appear."),(0,o.kt)("h2",{id:"code-ready-containers"},"Code Ready Containers"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Check that Podman preset is defined. (",(0,o.kt)("inlineCode",{parentName:"li"},"crc config get preset"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc")," binary is available in the user PATH (",(0,o.kt)("inlineCode",{parentName:"li"},"/usr/local/bin/crc"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc setup --check-only")," is running without errors.")),(0,o.kt)("h2",{id:"other-issues"},"Other Issues"),(0,o.kt)("h3",{id:"fixing-corrupted-podman-machine-in-windows"},"Fixing corrupted Podman Machine in Windows"),(0,o.kt)("p",null,"If at all you are not able to stop your Podman Machine, you will find such an error in the Logs-\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: Error stopping sysd: exit status 1")),(0,o.kt)("p",null,"It is highly unlikely that you may be stuck in such a situation but if you are, here's a quick fix for it."),(0,o.kt)("p",null,"Assuming the name of the Podman Machine to be ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine"),", run the following commands in the terminal:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --list\n")),(0,o.kt)("p",null,"This shall display a list of active distributions i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," in this case."),(0,o.kt)("p",null,"Then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --unregister my-machine\n")),(0,o.kt)("p",null,"(Replacing ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," with the name that is displayed under ",(0,o.kt)("inlineCode",{parentName:"p"},"wsl --list")," for your Podman Machine)"),(0,o.kt)("p",null,"This will stop the Podman Machine for you."),(0,o.kt)("h3",{id:"podman-machine-on-apple-silicon"},"Podman machine on Apple Silicon"),(0,o.kt)("h4",{id:"issue-4"},"Issue"),(0,o.kt)("p",null,"If you are using an Apple Silicon and brew, you might encounter the following error when starting Podman from Podman Desktop"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: invalid accelerator hvf\nqemu-system-x86_64: falling back to tcg\nqemu-system-x86_64: unable to find CPU model 'host'\n")),(0,o.kt)("h4",{id:"explanation-1"},"Explanation"),(0,o.kt)("p",null,"Podman machine is running as a ",(0,o.kt)("inlineCode",{parentName:"p"},"x86_64")," process and it could be due to a dual install of homebrew: one for ",(0,o.kt)("inlineCode",{parentName:"p"},"x86_64")," and one for ",(0,o.kt)("inlineCode",{parentName:"p"},"arm64"),"."),(0,o.kt)("h4",{id:"solution-4"},"Solution"),(0,o.kt)("p",null,"You can"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Uninstall Podman machine on your ",(0,o.kt)("inlineCode",{parentName:"li"},"x86_64")," brew install (for example from a terminal running under rosetta) ",(0,o.kt)("inlineCode",{parentName:"li"},"brew uninstall podman-machine")),(0,o.kt)("li",{parentName:"ol"},"or uninstall brew ",(0,o.kt)("inlineCode",{parentName:"li"},"x86_64")," as most brew receipe have now arm64 support: follow ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/homebrew/install#uninstall-homebrew"},"these instructions")," from a terminal running under rosetta")),(0,o.kt)("p",null,"Then run a terminal in native mode (default) and install Podman machine ",(0,o.kt)("inlineCode",{parentName:"p"},"brew install podman-machine")),(0,o.kt)("p",null,"Finally clean the poddman machine VMs that had been previously created, a create new ones."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"podman machine rm podman-machine-default\npodman machine init\n")),(0,o.kt)("p",null,"You should be a happy camper from here."))}d.isMDXComponent=!0},9590:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/containers_error-2ddfc1139b9345ae8d06c597551608ad.png"}}]); \ No newline at end of file diff --git a/assets/js/9d9f8394.6babf4b5.js b/assets/js/9d9f8394.6babf4b5.js new file mode 100644 index 00000000000..726374d8e4f --- /dev/null +++ b/assets/js/9d9f8394.6babf4b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9360],{5318:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>c});var a=t(7378);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},m=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,m=r(e,["components","mdxType","originalType","parentName"]),u=p(t),c=o,h=u["".concat(s,".").concat(c)]||u[c]||d[c]||i;return t?a.createElement(h,l(l({ref:n},m),{},{components:t})):a.createElement(h,l({ref:n},m))}));function c(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,l=new Array(i);l[0]=u;var r={};for(var s in n)hasOwnProperty.call(n,s)&&(r[s]=n[s]);r.originalType=e,r.mdxType="string"==typeof e?e:o,l[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var a=t(5773),o=(t(7378),t(5318));const i={sidebar_position:7},l="Troubleshooting",r={unversionedId:"troubleshooting",id:"troubleshooting",title:"Troubleshooting",description:"If you cannot find your issue here or in the documentation, please fill an issue on our repository. You can also explore the discussions and do a search on similar issues on the repository.",source:"@site/docs/troubleshooting.md",sourceDirName:".",slug:"/troubleshooting",permalink:"/docs/troubleshooting",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/troubleshooting.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7},sidebar:"mySidebar",previous:{title:"Installing",permalink:"/docs/extensions/install/"}},s={},p=[{value:"Podman Issues",id:"podman-issues",level:2},{value:"Unable to see any image or container after downloading Podman Desktop",id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop",level:3},{value:"System Requirements",id:"system-requirements",level:4},{value:"Check connection",id:"check-connection",level:4},{value:"Unable to locate Podman Engine",id:"unable-to-locate-podman-engine",level:3},{value:"Issue:",id:"issue",level:4},{value:"Explanation:",id:"explanation",level:4},{value:"Solution:",id:"solution",level:4},{value:"Unable to see information about active containers",id:"unable-to-see-information-about-active-containers",level:3},{value:"Issue:",id:"issue-1",level:4},{value:"Solution:",id:"solution-1",level:4},{value:"Unable to set custom binary path for Podman on macOS",id:"unable-to-set-custom-binary-path-for-podman-on-macos",level:3},{value:"Issue:",id:"issue-2",level:4},{value:"Solution:",id:"solution-2",level:4},{value:"Warning about Docker compatibility mode",id:"warning-about-docker-compatibility-mode",level:3},{value:"Issue:",id:"issue-3",level:4},{value:"Solution:",id:"solution-3",level:4},{value:"Code Ready Containers",id:"code-ready-containers",level:2},{value:"Other Issues",id:"other-issues",level:2},{value:"Fixing corrupted Podman Machine in Windows",id:"fixing-corrupted-podman-machine-in-windows",level:3},{value:"Podman machine on Apple Silicon",id:"podman-machine-on-apple-silicon",level:3},{value:"Issue",id:"issue-4",level:4},{value:"Explanation",id:"explanation-1",level:4},{value:"Solution",id:"solution-4",level:4}],m={toc:p};function d(e){let{components:n,...i}=e;return(0,o.kt)("wrapper",(0,a.Z)({},m,i,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("p",null,"If you cannot find your issue here or in the documentation, please fill an issue on our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),". You can also explore the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/discussions"},"discussions")," and do a search on similar issues on the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),"."),(0,o.kt)("h2",{id:"podman-issues"},"Podman Issues"),(0,o.kt)("h3",{id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop"},"Unable to see any image or container after downloading Podman Desktop"),(0,o.kt)("h4",{id:"system-requirements"},"System Requirements"),(0,o.kt)("p",null,"The tool connects to Podman using the socket on the host on macOS and on a named pipe on Windows.\nThis is available only on Podman 4.0.2+\nSo, please check your version and update."),(0,o.kt)("p",null,"On Windows, the named pipe is ",(0,o.kt)("inlineCode",{parentName:"p"},"//./pipe/docker_engine")," when Docker Desktop is not installed. It will be solved by ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/13502"},"https://github.com/containers/podman/issues/13502")," / ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/pull/13655"},"https://github.com/containers/podman/pull/13655"),". During that time, you may start Docker Desktop so the named pipe is the one expected."),(0,o.kt)("h4",{id:"check-connection"},"Check connection"),(0,o.kt)("p",null,"Check at least a Podman machine is running on Windows & macOS:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"podman machine list\n")),(0,o.kt)("p",null,"And check a connection can be made with the CLI"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'$ podman run quay.io/podman/hello\n!... Hello Podman World ...!\n\n .--"--.\n / - - \\\n / (O) (O) \\\n ~~~| -=(,Y,)=- |\n .---. /` \\ |~~\n ~/ o o \\~~~~.----. ~~\n | =(X)= |~ / (O (O) \\\n ~~~~~~~ ~| =(Y_)=- |\n ~~~~ ~~~| U |~~\n\nProject: https://github.com/containers/podman\nWebsite: https://podman.io\nDocuments: https://docs.podman.io\nTwitter: @Podman_io\n')),(0,o.kt)("h3",{id:"unable-to-locate-podman-engine"},"Unable to locate Podman Engine"),(0,o.kt)("h4",{id:"issue"},"Issue:"),(0,o.kt)("p",null,"Despite having Podman Engine installed, you may receive an error as follows -\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: No such keg: /usr/local/Cellar/podman"),"\nor any similar error denoting that Podman Engine does not exist. "),(0,o.kt)("h4",{id:"explanation"},"Explanation:"),(0,o.kt)("p",null,"The Podman Installer and Homebrew use different locations to store the Podman Engine files in the file system. For example, Podman Installer installs Podman Engine in the path ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman")," whereas Homebrew uses the path ",(0,o.kt)("inlineCode",{parentName:"p"},"/usr/local")," for macOS Intel, ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/homebrew")," for Apple Silicon and ",(0,o.kt)("inlineCode",{parentName:"p"},"/home/linuxbrew/.linuxbrew")," for Linux."),(0,o.kt)("h4",{id:"solution"},"Solution:"),(0,o.kt)("p",null,"To check where exactly is your Podman Engine installed, run the command-"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"which podman\n")),(0,o.kt)("p",null,"This returns the path where the Podman Engine would be installed. This would help determine further action. "),(0,o.kt)("p",null,"For example, if you\u2019re looking to completely uninstall Podman Engine from your system for a fresh installation, running ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman")," returns the exact path where Podman still exists. This could be the path where Podman Installer stores Podman Engine i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman"),". Once you know the path, run:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf /opt/podman\n")),(0,o.kt)("p",null,"Or "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf path-where-podman-exists\n")),(0,o.kt)("p",null,"Here, you would replace ",(0,o.kt)("inlineCode",{parentName:"p"},"path-where-podman-exists")," with the output of ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman"),"."),(0,o.kt)("p",null,"You can now proceed for a fresh installation of Podman Desktop"),(0,o.kt)("h3",{id:"unable-to-see-information-about-active-containers"},"Unable to see information about active containers"),(0,o.kt)("h4",{id:"issue-1"},"Issue:"),(0,o.kt)("p",null,'In this scenario, the screen may be displaying "No Containers" as shown below despite active containers runnning in the background.\n',(0,o.kt)("img",{alt:"img",src:t(9590).Z,width:"2880",height:"1800"})),(0,o.kt)("h4",{id:"solution-1"},"Solution:"),(0,o.kt)("p",null,"There are three ways to work this out."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"To solve this issue, open the Terminal and run the following commands- ")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine stop\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine start\n")),(0,o.kt)("ol",{start:2},(0,o.kt)("li",{parentName:"ol"},"If this does not work for you, you may proceed with the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine rm\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine init\n")),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"If both of the abovementioned steps don't work for you, run the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.local/share/containers/podman\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.config/containers/\n")),(0,o.kt)("p",null,"After this, you can start off again by initializing a new Podman Machine and loading up the containers."),(0,o.kt)("h3",{id:"unable-to-set-custom-binary-path-for-podman-on-macos"},"Unable to set custom binary path for Podman on macOS"),(0,o.kt)("h4",{id:"issue-2"},"Issue:"),(0,o.kt)("p",null,"When setting a custom binary path (under Preferences -> Custom binary path), Podman is unable to find ",(0,o.kt)("inlineCode",{parentName:"p"},"gvproxy")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),":"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'Error: unable to start host networking: "could not find \\"gvproxy\\" in one of [/usr/local/opt/podman/libexec /opt/homebrew/bin /opt/homebrew/opt/podman/libexec /usr/local/bin /usr/local/libexec/podman /usr/local/lib/podman /usr/libexec/podman /usr/lib/podman $BINDIR/../libexec/podman]. To resolve this error, set the helper_binaries_dir key in the `[engine]` section of containers.conf to the directory containing your helper binaries."\n')),(0,o.kt)("h4",{id:"solution-2"},"Solution:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Download ",(0,o.kt)("inlineCode",{parentName:"li"},"gvproxy")," from the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/gvisor-tap-vsock/releases"},"gvisor-tap-vsock release page"),"."),(0,o.kt)("li",{parentName:"ol"},"Build the ",(0,o.kt)("inlineCode",{parentName:"li"},"podman-mac-helper")," from the source code on the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/podman/tree/main/cmd/podman-mac-helper"},"Podman GitHub page"),"."),(0,o.kt)("li",{parentName:"ol"},"Add the ",(0,o.kt)("inlineCode",{parentName:"li"},"helpers_binaries_dir")," entry to ",(0,o.kt)("inlineCode",{parentName:"li"},"~/.config/containers/conf"),":")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'[containers]\n\nhelper_binaries_dir=["/Users/user/example_directory"]\n')),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"NOTE"),": A pre-built binary will be added to the Podman release page so you do not have to build ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),". An ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/16746"},"issue is open for this"),"."),(0,o.kt)("h3",{id:"warning-about-docker-compatibility-mode"},"Warning about Docker compatibility mode"),(0,o.kt)("h4",{id:"issue-3"},"Issue:"),(0,o.kt)("p",null,"When running the Podman provider, a warning shows regarding Docker compatibility mode on the dashboard:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"\u26a0\ufe0f Docker Socket Compatibility: Podman is not emulating the default Docker socket path: '/var/run/docker.sock'. Docker-specific tools may not work. See troubleshooting page on podman-desktop.io for more information.\n")),(0,o.kt)("p",null,"This may appear when either:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The Docker socket is not mounted correctly"),(0,o.kt)("li",{parentName:"ul"},"Docker Desktop is also being ran at the same time ")),(0,o.kt)("h4",{id:"solution-3"},"Solution:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On macOS:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Stop Docker Desktop (if install)")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Run the ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper")," binary:"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo podman-mac-helper install\n")),(0,o.kt)("p",{parentName:"li"},"for additional options please run the command:"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo podman-mac-helper install --help\n"))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)"))),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On Linux / Windows:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Stop Docker Desktop (if installed)"),(0,o.kt)("li",{parentName:"ol"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)")),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note:")," If Docker Desktop is started again, it will automatically re-alias the default Docker socket location and the Podman compatibilty warning will re-appear."),(0,o.kt)("h2",{id:"code-ready-containers"},"Code Ready Containers"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Check that Podman preset is defined. (",(0,o.kt)("inlineCode",{parentName:"li"},"crc config get preset"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc")," binary is available in the user PATH (",(0,o.kt)("inlineCode",{parentName:"li"},"/usr/local/bin/crc"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc setup --check-only")," is running without errors.")),(0,o.kt)("h2",{id:"other-issues"},"Other Issues"),(0,o.kt)("h3",{id:"fixing-corrupted-podman-machine-in-windows"},"Fixing corrupted Podman Machine in Windows"),(0,o.kt)("p",null,"If at all you are not able to stop your Podman Machine, you will find such an error in the Logs-\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: Error stopping sysd: exit status 1")),(0,o.kt)("p",null,"It is highly unlikely that you may be stuck in such a situation but if you are, here's a quick fix for it."),(0,o.kt)("p",null,"Assuming the name of the Podman Machine to be ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine"),", run the following commands in the terminal:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --list\n")),(0,o.kt)("p",null,"This shall display a list of active distributions i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," in this case."),(0,o.kt)("p",null,"Then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --unregister my-machine\n")),(0,o.kt)("p",null,"(Replacing ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," with the name that is displayed under ",(0,o.kt)("inlineCode",{parentName:"p"},"wsl --list")," for your Podman Machine)"),(0,o.kt)("p",null,"This will stop the Podman Machine for you."),(0,o.kt)("h3",{id:"podman-machine-on-apple-silicon"},"Podman machine on Apple Silicon"),(0,o.kt)("h4",{id:"issue-4"},"Issue"),(0,o.kt)("p",null,"If you are using an Apple Silicon and brew, you might encounter the following error when starting Podman from Podman Desktop"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: invalid accelerator hvf\nqemu-system-x86_64: falling back to tcg\nqemu-system-x86_64: unable to find CPU model 'host'\n")),(0,o.kt)("h4",{id:"explanation-1"},"Explanation"),(0,o.kt)("p",null,"Podman machine is running as a ",(0,o.kt)("inlineCode",{parentName:"p"},"x86_64")," process and it could be due to a dual install of homebrew: one for ",(0,o.kt)("inlineCode",{parentName:"p"},"x86_64")," and one for ",(0,o.kt)("inlineCode",{parentName:"p"},"arm64"),"."),(0,o.kt)("h4",{id:"solution-4"},"Solution"),(0,o.kt)("p",null,"You can"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Uninstall Podman machine on your ",(0,o.kt)("inlineCode",{parentName:"li"},"x86_64")," brew install (for example from a terminal running under rosetta) ",(0,o.kt)("inlineCode",{parentName:"li"},"brew uninstall podman-machine")),(0,o.kt)("li",{parentName:"ol"},"or uninstall brew ",(0,o.kt)("inlineCode",{parentName:"li"},"x86_64")," as most brew receipe have now arm64 support: follow ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/homebrew/install#uninstall-homebrew"},"these instructions")," from a terminal running under rosetta")),(0,o.kt)("p",null,"Then run a terminal in native mode (default) and install Podman machine ",(0,o.kt)("inlineCode",{parentName:"p"},"brew install podman-machine")),(0,o.kt)("p",null,"Finally clean the poddman machine VMs that had been previously created, a create new ones."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"podman machine rm podman-machine-default\npodman machine init\n")),(0,o.kt)("p",null,"You should be a happy camper from here."))}d.isMDXComponent=!0},9590:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/containers_error-2ddfc1139b9345ae8d06c597551608ad.png"}}]); \ No newline at end of file diff --git a/assets/js/9e8f4e9c.c2a17e26.js b/assets/js/9e8f4e9c.c2a17e26.js new file mode 100644 index 00000000000..09f5106f520 --- /dev/null +++ b/assets/js/9e8f4e9c.c2a17e26.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1074],{5318:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var i=n(7378);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=i.createContext({}),p=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=p(e.components);return i.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(n),m=r,f=d["".concat(l,".").concat(m)]||d[m]||u[m]||o;return n?i.createElement(f,a(a({ref:t},c),{},{components:n})):i.createElement(f,a({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,a=new Array(o);a[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var i=n(5773),r=(n(7378),n(5318));const o={sidebar_position:4,title:"Installing",description:"Install Podman Desktop extension",tags:["podman-desktop","extension","publishing"],keywords:["podman desktop","extension","publishing"]},a="Installing a Podman Desktop extension",s={unversionedId:"extensions/install/index",id:"extensions/install/index",title:"Installing",description:"Install Podman Desktop extension",source:"@site/docs/extensions/install/index.md",sourceDirName:"extensions/install",slug:"/extensions/install/",permalink:"/docs/extensions/install/",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/extensions/install/index.md",tags:[{label:"podman-desktop",permalink:"/docs/tags/podman-desktop"},{label:"extension",permalink:"/docs/tags/extension"},{label:"publishing",permalink:"/docs/tags/publishing"}],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Installing",description:"Install Podman Desktop extension",tags:["podman-desktop","extension","publishing"],keywords:["podman desktop","extension","publishing"]},sidebar:"mySidebar",previous:{title:"Publishing",permalink:"/docs/extensions/publish/"},next:{title:"Troubleshooting",permalink:"/docs/troubleshooting"}},l={},p=[{value:"Prerequisites",id:"prerequisites",level:4},{value:"Procedure",id:"procedure",level:4},{value:"Verification",id:"verification",level:4}],c={toc:p};function u(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,i.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"installing-a-podman-desktop-extension"},"Installing a Podman Desktop extension"),(0,r.kt)("p",null,"Consider installing Podman Desktop extensions to enrich the default capabilities of Podman Desktop."),(0,r.kt)("h4",{id:"prerequisites"},"Prerequisites"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"The extension Open Container Initiative (OCI) image name, such as: ",(0,r.kt)("inlineCode",{parentName:"p"},"quay.io/fbenoit/my-first-extension"),"."),(0,r.kt)("p",{parentName:"li"}," See ",(0,r.kt)("a",{parentName:"p",href:"publish"},"Publishing a Podman Desktop extension"),"."))),(0,r.kt)("h4",{id:"procedure"},"Procedure"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Go to the ",(0,r.kt)("strong",{parentName:"p"},"Settings > Extensions"),".")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"In the ",(0,r.kt)("strong",{parentName:"p"},"Name of the Image")," field, write the extension OCI image name.")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Click the ",(0,r.kt)("strong",{parentName:"p"},"Install extension from the OCI image")," button."))),(0,r.kt)("h4",{id:"verification"},"Verification"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"If Podman Desktop satisfies the minimum required version of the extension, the extension activates.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Depending on the extension, items can appear in the status bar, tray menu, or other contributions."))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d4840880.44d89cfe.js b/assets/js/d4840880.44d89cfe.js new file mode 100644 index 00000000000..52c9895dec0 --- /dev/null +++ b/assets/js/d4840880.44d89cfe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6120],{5318:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>c});var i=t(7378);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function o(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=i.createContext({}),l=function(e){var n=i.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},m=function(e){var n=l(e.components);return i.createElement(p.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},u=i.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,p=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),u=l(t),c=a,k=u["".concat(p,".").concat(c)]||u[c]||d[c]||r;return t?i.createElement(k,o(o({ref:n},m),{},{components:t})):i.createElement(k,o({ref:n},m))}));function c(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,o=new Array(r);o[0]=u;var s={};for(var p in n)hasOwnProperty.call(n,p)&&(s[p]=n[p]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var i=t(5773),a=(t(7378),t(5318));const r={sidebar_position:3,title:"Publishing",description:"Publishing a Podman Desktop extension",tags:["podman-desktop","extension","publishing"],keywords:["podman desktop","extension","publishing"]},o="Packaging and publishing a Podman Desktop extension",s={unversionedId:"extensions/publish/index",id:"extensions/publish/index",title:"Publishing",description:"Publishing a Podman Desktop extension",source:"@site/docs/extensions/publish/index.md",sourceDirName:"extensions/publish",slug:"/extensions/publish/",permalink:"/docs/extensions/publish/",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/extensions/publish/index.md",tags:[{label:"podman-desktop",permalink:"/docs/tags/podman-desktop"},{label:"extension",permalink:"/docs/tags/extension"},{label:"publishing",permalink:"/docs/tags/publishing"}],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Publishing",description:"Publishing a Podman Desktop extension",tags:["podman-desktop","extension","publishing"],keywords:["podman desktop","extension","publishing"]},sidebar:"mySidebar",previous:{title:"Writing",permalink:"/docs/extensions/write/"},next:{title:"Installing",permalink:"/docs/extensions/install/"}},p={},l=[{value:"Prerequisites",id:"prerequisites",level:4},{value:"Procedure",id:"procedure",level:4},{value:"Next steps",id:"next-steps",level:4}],m={toc:l};function d(e){let{components:n,...t}=e;return(0,a.kt)("wrapper",(0,i.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"packaging-and-publishing-a-podman-desktop-extension"},"Packaging and publishing a Podman Desktop extension"),(0,a.kt)("p",null,"To enable users to install your extension, consider publishing your extension to an Open Container Initiative (OCI) image registry."),(0,a.kt)("h4",{id:"prerequisites"},"Prerequisites"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"The extension builds successfully.\nSee ",(0,a.kt)("a",{parentName:"p",href:"write"},"Writing a Podman Desktop extension"),".")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"All runtime dependencies are inside the final binary.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"An OCI image registry to publish to, such as ",(0,a.kt)("inlineCode",{parentName:"p"},"quay.io/fbenoit/my-first-extension"),". ")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"(Optional) The OCI image registry is public to enable anybody to fetch the image."))),(0,a.kt)("h4",{id:"procedure"},"Procedure"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Create and edit a ",(0,a.kt)("inlineCode",{parentName:"p"},"Containerfile")," file.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Use a scratch image.\nThe extension requires no runtime:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-dockerfile"},"FROM scratch\n"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Apply mandatory Podman Desktop metadata on the ",(0,a.kt)("inlineCode",{parentName:"p"},"OCI")," image:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-dockerfile"},'LABEL org.opencontainers.image.title="My first extension" \\\n org.opencontainers.image.description="Example of extension" \\\n org.opencontainers.image.vendor="podman-desktop" \\\n io.podman-desktop.api.version=">= 0.12.0"\n')),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"p"},'io.podman-desktop.api.version=">= 0.12.0"')," sets the minimal Podman Desktop version that the extension requires to run.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Copy the extension assembly, including the metadata, icon, and production binary, to the ",(0,a.kt)("inlineCode",{parentName:"p"},"/extension")," folder inside the image:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-dockerfile"},"COPY package.json /extension/\nCOPY icon.png /extension/\nCOPY dist /extension/dist\n"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Build a multi-arch image that works on all supported Podman Desktop platforms:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell-session"},"$ podman build --arch amd64,arm64 --manifest quay.io/fbenoit/my-first-extension .\n"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Push the image and manifest to the OCI image registry:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell-session"},"$ podman push quay.io/fbenoit/my-first-extension\n")))),(0,a.kt)("h4",{id:"next-steps"},"Next steps"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"install"},"Installing a Podman Desktop extension"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.29b062d6.js b/assets/js/main.29b062d6.js deleted file mode 100644 index 6af674d68cc..00000000000 --- a/assets/js/main.29b062d6.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.29b062d6.js.LICENSE.txt */ -(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[179],{6573:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(7378);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},3427:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7378);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},3375:(e,t,n)=>{"use strict";var r=n(7378),a=n(1542),o=n(4289),i=n(2883),l=n(161);const s=[n(142),n(3815),n(4374),n(6222)];var c=n(6623),u=n(5331),d=n(5473);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(5773),m=n(7092),g=n(353),h=n(8948),b=n(624),v=n(1123),y=n(3714),w=n(174),k=n(3149),E=n(505);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,g.Z)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),a=function(){const{siteConfig:{url:e}}=(0,g.Z)(),{pathname:t}=(0,u.TH)();return e+(0,h.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function _(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(S,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const T=new Map;function C(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{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}}var I=n(3427),A=n(3340);function L(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var r;const a=(null==(r=t.default)?void 0:r[e])??t[e];return null==a?void 0:a(...n)}));return()=>a.forEach((e=>null==e?void 0:e()))}const P=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);null==t||t.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),L("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>null==e.route.component.preload?void 0:e.route.component.preload())))}class N extends r.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?L("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=L("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(P,{previousLocation:this.previousLocation,location:t},r.createElement(u.AW,{location:t,render:()=>e}))}}const R=N,M="docusaurus-base-url-issue-banner-container",D="docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${M}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

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

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{window[F]=!1}),[]),r.createElement(r.Fragment,null,!l.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:M}))}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.Z)(),{pathname:n}=(0,u.TH)();return t&&n===e?r.createElement($,null):null}function j(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,g.Z)(),i=(0,h.Z)(e),{htmlLang:l,direction:s}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:l,dir:s}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var z=n(6293);function Z(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return r.createElement(z.Z,null,r.createElement(A.M,null,r.createElement(I.t,null,r.createElement(f,null,r.createElement(j,null),r.createElement(_,null),r.createElement(U,null),r.createElement(R,{location:C(t)},e)))))}var H=n(6887);const V=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{var r;if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??(null==(r=document.getElementsByName("script")[0])?void 0:r.parentNode);null==o||o.appendChild(a)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var W=n(3361);const G=new Set,q=new Set,K=()=>{var e,t;return(null==(e=navigator.connection)?void 0:e.effectiveType.includes("2g"))||(null==(t=navigator.connection)?void 0:t.saveData)},Y={prefetch(e){if(!(e=>!K()&&!q.has(e)&&!G.has(e))(e))return!1;G.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(H).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,W.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?V(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!K()&&!q.has(e))(e)&&(q.add(e),O(e))},Q=Object.freeze(Y);if(l.Z.canUseDOM){window.docusaurus=Q;const e=a.hydrate;O(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(Z,null))),document.getElementById("__docusaurus"))}))}},3340:(e,t,n)=>{"use strict";n.d(t,{_:()=>u,M:()=>d});var r=n(7378),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"compose/compose-spec","path":"/docs/compose/compose-spec","sidebar":"mySidebar"},{"id":"compose/podman-compose","path":"/docs/compose/podman-compose","sidebar":"mySidebar"},{"id":"getting-started/getting-started","path":"/docs/getting-started/getting-started","sidebar":"mySidebar"},{"id":"Installation/index","path":"/docs/Installation/","sidebar":"mySidebar"},{"id":"Installation/linux-install/index","path":"/docs/Installation/linux-install/","sidebar":"mySidebar"},{"id":"Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","path":"/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","sidebar":"mySidebar"},{"id":"Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","path":"/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","sidebar":"mySidebar"},{"id":"Installation/macos-install","path":"/docs/Installation/macos-install","sidebar":"mySidebar"},{"id":"Installation/windows-install/index","path":"/docs/Installation/windows-install/","sidebar":"mySidebar"},{"id":"Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","path":"/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","sidebar":"mySidebar"},{"id":"Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","path":"/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","sidebar":"mySidebar"},{"id":"Installation/windows-install/installing-podman-desktop-with-chocolatey","path":"/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey","sidebar":"mySidebar"},{"id":"Installation/windows-install/installing-podman-desktop-with-scoop","path":"/docs/Installation/windows-install/installing-podman-desktop-with-scoop","sidebar":"mySidebar"},{"id":"Installation/windows-install/installing-podman-desktop-with-winget","path":"/docs/Installation/windows-install/installing-podman-desktop-with-winget","sidebar":"mySidebar"},{"id":"Installation/windows-install/installing-podman-with-openshift-local","path":"/docs/Installation/windows-install/installing-podman-with-openshift-local","sidebar":"mySidebar"},{"id":"Installation/windows-install/installing-podman-with-podman-desktop","path":"/docs/Installation/windows-install/installing-podman-with-podman-desktop","sidebar":"mySidebar"},{"id":"intro","path":"/docs/intro","sidebar":"mySidebar"},{"id":"kubernetes/index","path":"/docs/kubernetes/","sidebar":"mySidebar"},{"id":"kubernetes/kind","path":"/docs/kubernetes/kind","sidebar":"mySidebar"},{"id":"migrating-from-docker/emulating-docker-cli-with-podman","path":"/docs/migrating-from-docker/emulating-docker-cli-with-podman","sidebar":"mySidebar"},{"id":"migrating-from-docker/importing-saved-containers","path":"/docs/migrating-from-docker/importing-saved-containers","sidebar":"mySidebar"},{"id":"migrating-from-docker/index","path":"/docs/migrating-from-docker/","sidebar":"mySidebar"},{"id":"migrating-from-docker/using-podman-mac-helper","path":"/docs/migrating-from-docker/using-podman-mac-helper","sidebar":"mySidebar"},{"id":"migrating-from-docker/using-the-docker_host-environment-variable","path":"/docs/migrating-from-docker/using-the-docker_host-environment-variable","sidebar":"mySidebar"},{"id":"migrating-from-docker/verifying-your-tools-are-using-podman","path":"/docs/migrating-from-docker/verifying-your-tools-are-using-podman","sidebar":"mySidebar"},{"id":"troubleshooting","path":"/docs/troubleshooting","sidebar":"mySidebar"}],"draftIds":[],"sidebars":{"mySidebar":{"link":{"path":"/docs/intro","label":"intro"}}}}],"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(7529);const s=JSON.parse('{"docusaurusVersion":"2.3.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.3.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.3.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.3.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.3.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.3.1"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.3.1"},"docusaurus-tailwindcss":{"type":"local"}}}'),c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},u=r.createContext(c);function d(e){let{children:t}=e;return r.createElement(u.Provider,{value:c},t)}},6293:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7378),a=n(161),o=n(7092),i=n(3595);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"50vh",width:"100%",fontSize:"20px"}},r.createElement("h1",null,"This page crashed."),r.createElement("p",null,t.message),r.createElement("button",{type:"button",onClick:n},"Try again"))}function s(e){let{error:t,tryAgain:n}=e;return r.createElement(u,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(i.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const c=e=>r.createElement(s,e);class u extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??c)(e)}return e??null}}},161:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},7092:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7378),a=n(2883);function o(e){return r.createElement(a.ql,e)}},1884:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(5773),a=n(7378),o=n(4289),i=n(1721),l=n(353),s=n(5626),c=n(161);const u=a.createContext({collectLink:()=>{}});var d=n(8948);function f(e,t){var n;let{isNavLink:f,to:p,href:m,activeClassName:g,isActive:h,"data-noBrokenLinkCheck":b,autoAddBaseUrl:v=!0,...y}=e;const{siteConfig:{trailingSlash:w,baseUrl:k}}=(0,l.Z)(),{withBaseUrl:E}=(0,d.C)(),S=(0,a.useContext)(u),x=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>x.current));const _=p||m;const T=(0,s.Z)(_),C=null==_?void 0:_.replace("pathname://","");let I=void 0!==C?(A=C,v&&(e=>e.startsWith("/"))(A)?E(A):A):void 0;var A;I&&T&&(I=(0,i.applyTrailingSlash)(I,{trailingSlash:w,baseUrl:k}));const L=(0,a.useRef)(!1),P=f?o.OL:o.rU,O=c.Z.canUseIntersectionObserver,N=(0,a.useRef)(),R=()=>{L.current||null==I||(window.docusaurus.preload(I),L.current=!0)};(0,a.useEffect)((()=>(!O&&T&&null!=I&&window.docusaurus.prefetch(I),()=>{O&&N.current&&N.current.disconnect()})),[N,I,O,T]);const M=(null==(n=I)?void 0:n.startsWith("#"))??!1,D=!I||!T||M;return D||b||S.collectLink(I),D?a.createElement("a",(0,r.Z)({ref:x,href:I},_&&!T&&{target:"_blank",rel:"noopener noreferrer"},y)):a.createElement(P,(0,r.Z)({},y,{onMouseEnter:R,onTouchStart:R,innerRef:e=>{x.current=e,O&&e&&T&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=I&&window.docusaurus.prefetch(I))}))})),N.current.observe(e))},to:I},f&&{isActive:h,activeClassName:g}))}const p=a.forwardRef(f)},9213:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s,I:()=>l});var r=n(7378);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=null==t?void 0:t[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(7529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function s(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},5688:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},5626:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},8948:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7378),a=n(353),o=n(5626);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},353:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7378),a=n(3340);function o(){return(0,r.useContext)(a._)}},6457:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7378),a=n(3427);function o(){return(0,r.useContext)(a._)}},3361:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[a,o]=n;const i=r?`${r}.${a}`:a;var l;"object"==typeof(l=o)&&l&&Object.keys(l).length>0?e(o,i):t[i]=o}))}(e),t}},6881:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7378);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...null==n?void 0:n.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},2935:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>p,WS:()=>m,_r:()=>d,Jo:()=>v,zh:()=>f,yW:()=>h,gB:()=>g});var r=n(5331),a=n(353),o=n(5688);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=s(e,t),a=null==n?void 0:n.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},d=()=>i("docusaurus-plugin-content-docs")??u,f=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=null==r?void 0:r[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=p(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:s(t.pluginData,n)}}function g(e){return f(e).versions}function h(e){const t=f(e);return l(t)}function b(e){const t=f(e),{pathname:n}=(0,r.TH)();return c(t,n)}function v(e){const t=f(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},4374:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(8504),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3815:(e,t,n)=>{"use strict";n.r(t);var r=n(2349),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(5639)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},6125:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7378);const a="iconExternalLink_nPrP";function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},3595:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Ct});var r=n(7378),a=n(8944),o=n(6293),i=n(1123),l=n(5773),s=n(5331),c=n(9213),u=n(4993);const d="docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,c.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,l.Z)({},e,{href:`#${d}`,onClick:a}),t))}var h=n(5484),b=n(174);const v="skipToContent_oPtH";function y(){return r.createElement(g,{className:v})}var w=n(624),k=n(10);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S="closeButton_J5rP";function x(e){return r.createElement("button",(0,l.Z)({type:"button","aria-label":(0,c.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const _="content_bSb_";function T(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,l.Z)({},e,{className:(0,a.Z)(_,e.className),dangerouslySetInnerHTML:{__html:n}}))}const C="announcementBar_zJRd",I="announcementBarPlaceholder_NpUd",A="announcementBarClose_Jjdj",L="announcementBarContent_t7IR";function P(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:C,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:I}),r.createElement(T,{className:L}),i&&r.createElement(x,{onClick:n,className:A}))}var O=n(5536),N=n(3457);var R=n(1763),M=n(3471);const D=r.createContext(null);function F(e){let{children:t}=e;const n=function(){const e=(0,O.e)(),t=(0,M.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,R.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(D.Provider,{value:n},t)}function B(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function $(){const e=(0,r.useContext)(D);if(!e)throw new R.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,M.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:B(o)})),[a,o,t])}function U(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=$();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var j=n(5421),z=n(6457);function Z(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function H(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const V={toggle:"toggle_ki11",toggleButton:"toggleButton_MMFG",darkToggleIcon:"darkToggleIcon_U96C",lightToggleIcon:"lightToggleIcon_lgto",toggleButtonDisabled:"toggleButtonDisabled_Uw7m"};function W(e){let{className:t,value:n,onChange:o}=e;const i=(0,z.Z)(),l=(0,c.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===n?(0,c.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(V.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",V.toggleButton,!i&&V.toggleButtonDisabled),type:"button",onClick:()=>o("dark"===n?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(Z,{className:(0,a.Z)(V.toggleIcon,V.lightToggleIcon)}),r.createElement(H,{className:(0,a.Z)(V.toggleIcon,V.darkToggleIcon)})))}const G=r.memo(W);function q(e){let{className:t}=e;const n=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,j.I)();return n?null:r.createElement(G,{className:t,value:a,onChange:o})}var K=n(898);function Y(){return r.createElement(K.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,O.e)();return r.createElement("button",{type:"button","aria-label":(0,c.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function X(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(Y,null),r.createElement(q,{className:"margin-right--md"}),r.createElement(Q,null))}var J=n(1884),ee=n(8948),te=n(5626),ne=n(1503),re=n(6125);function ae(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:s,isDropdownLink:c,prependBaseUrlToHref:u,...d}=e;const f=(0,ee.Z)(a),p=(0,ee.Z)(t),m=(0,ee.Z)(o,{forcePrependBaseUrl:!0}),g=i&&o&&!(0,te.Z)(o),h=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,g&&r.createElement(re.Z,c&&{width:12,height:12}))};return o?r.createElement(J.Z,(0,l.Z)({href:u?m:o},d,h)):r.createElement(J.Z,(0,l.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?(0,ne.F)(n,t.pathname):t.pathname.startsWith(p)},d,h))}function oe(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ae,(0,l.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ie(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ae,(0,l.Z)({className:(0,a.Z)("menu__link",t)},o)))}function le(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ie:oe;return r.createElement(o,(0,l.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var se=n(376),ce=n(8862),ue=n(353);function de(e,t){return e.some((e=>function(e,t){return!!(0,ce.Mg)(e.to,t)||!!(0,ne.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function fe(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const c=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[c]),r.createElement("div",{ref:c,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u})},r.createElement(ae,(0,l.Z)({"aria-haspopup":"true","aria-expanded":u,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,n)=>r.createElement(Ve,(0,l.Z)({isDropdownItem:!0,onKeyDown:e=>{if(n===t.length-1&&"Tab"===e.key){e.preventDefault(),d(!1);const t=c.current.nextElementSibling;if(t){(t instanceof HTMLAnchorElement?t:t.querySelector("a")).focus()}}},activeClassName:"dropdown__link--active"},e,{key:n}))))))}function pe(e){let{items:t,className:n,position:o,onClick:i,...c}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,ue.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=de(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,se.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ae,(0,l.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},c,{onClick:e=>{e.preventDefault(),p()}}),c.children??c.label),r.createElement(se.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Ve,(0,l.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function me(e){let{mobile:t=!1,...n}=e;const a=t?pe:fe;return r.createElement(a,n)}var ge=n(3714);function he(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const be="iconLanguage_kvP7";function ve(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ye=n(6573),we=["translations"];function ke(){return ke=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var _e="Ctrl";var Te=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=xe(e,we),i=a.buttonText,l=void 0===i?"Search":i,s=a.buttonAriaLabel,c=void 0===s?"Search":s,u=Ee((0,r.useState)(null),2),d=u[0],f=u[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(_e))}),[]),r.createElement("button",ke({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(ye.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===_e?r.createElement(ve,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ce=n(7092),Ie=n(3584),Ae=n(2473),Le=n(3149);var Pe=n(1542);const Oe={button:{buttonText:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,c.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,c.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ne=null;function Re(e){let{hit:t,children:n}=e;return r.createElement(J.Z,{to:t.url},n)}function Me(e){let{state:t,onClose:n}=e;const{generateSearchPageLink:a}=(0,Ie.O)();return r.createElement(J.Z,{to:a(t.query),onClick:n},r.createElement(c.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function De(e){var t;let{contextualSearch:a,externalUrlRegex:o,...i}=e;const{siteMetadata:c}=(0,ue.Z)(),u=(0,Ae.l)(),d=function(){const{locale:e,tags:t}=(0,Le._q)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),f=(null==(t=i.searchParameters)?void 0:t.facetFilters)??[],p=a?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(d,f):f,m={...i.searchParameters,facetFilters:p},g=(0,s.k6)(),h=(0,r.useRef)(null),b=(0,r.useRef)(null),[v,y]=(0,r.useState)(!1),[w,k]=(0,r.useState)(void 0),E=(0,r.useCallback)((()=>Ne?Promise.resolve():Promise.all([n.e(8777).then(n.bind(n,8777)),Promise.all([n.e(532),n.e(9127)]).then(n.bind(n,9127)),Promise.all([n.e(532),n.e(4670)]).then(n.bind(n,4670))]).then((e=>{let[{DocSearchModal:t}]=e;Ne=t}))),[]),S=(0,r.useCallback)((()=>{E().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),y(!0)}))}),[E,y]),x=(0,r.useCallback)((()=>{var e;y(!1),null==(e=h.current)||e.remove()}),[y]),_=(0,r.useCallback)((e=>{E().then((()=>{y(!0),k(e.key)}))}),[E,y,k]),T=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ne.F)(o,t)?window.location.href=t:g.push(t)}}).current,C=(0,r.useRef)((e=>i.transformItems?i.transformItems(e):e.map((e=>({...e,url:u(e.url)}))))).current,I=(0,r.useMemo)((()=>e=>r.createElement(Me,(0,l.Z)({},e,{onClose:x}))),[x]),A=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",c.docusaurusVersion),e)),[c.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:v,onOpen:S,onClose:x,onInput:_,searchButtonRef:b}),r.createElement(r.Fragment,null,r.createElement(Ce.Z,null,r.createElement("link",{rel:"preconnect",href:`https://${i.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})),r.createElement(Te,{onTouchStart:E,onFocus:E,onMouseOver:E,onClick:S,ref:b,translations:Oe.button}),v&&Ne&&h.current&&(0,Pe.createPortal)(r.createElement(Ne,(0,l.Z)({onClose:x,initialScrollY:window.scrollY,initialQuery:w,navigator:T,transformItems:C,hitComponent:Re,transformSearchClient:A},i.searchPagePath&&{resultsFooterComponent:I},i,{searchParameters:m,placeholder:Oe.placeholder,translations:Oe.modal})),h.current))}function Fe(){const{siteConfig:e}=(0,ue.Z)();return r.createElement(De,e.themeConfig.algolia)}const Be="searchBox_WqAV";function $e(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,Be)},t)}var Ue=n(2935),je=n(5161);var ze=n(4453);const Ze=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:le,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,ue.Z)(),f=(0,ge.l)(),{search:p,hash:m}=(0,s.TH)(),g=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],h=t?(0,c.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(me,(0,l.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(he,{className:be}),h),items:g}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement($e,{className:n},r.createElement(Fe,null))},dropdown:me,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const l=i?"li":"div";return r.createElement(l,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Ue.Iw)(a),s=(0,je.vY)(t,a);return null===s?null:r.createElement(le,(0,l.Z)({exact:!0},o,{isActive:()=>(null==i?void 0:i.path)===s.path||!(null==i||!i.sidebar)&&i.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Ue.Iw)(a),s=(0,je.oz)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(le,(0,l.Z)({exact:!0},o,{isActive:()=>(null==i?void 0:i.sidebar)===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,je.lO)(a)[0],s=t??i.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(le,(0,l.Z)({},o,{label:s,to:c}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...u}=e;const{search:d,hash:f}=(0,s.TH)(),p=(0,Ue.Iw)(n),m=(0,Ue.gB)(n),{savePreferredVersionName:g}=(0,ze.J)(n),h=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??Ze(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>g(e.name)}})),...i],b=(0,je.lO)(n)[0],v=t&&h.length>1?(0,c.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&h.length>1?void 0:Ze(b).path;return h.length<=1?r.createElement(le,(0,l.Z)({},u,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(me,(0,l.Z)({},u,{mobile:t,label:v,to:y,items:h,isActive:a?()=>!1:void 0}))}};function Ve(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=He[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function We(){const e=(0,O.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ve,(0,l.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Ge(e){return r.createElement("button",(0,l.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(c.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function qe(){const e=0===(0,w.L)().navbar.items.length,t=$();return r.createElement(r.Fragment,null,!e&&r.createElement(Ge,{onClick:()=>t.hide()}),t.content)}function Ke(){const e=(0,O.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(U,{header:r.createElement(X,null),primaryMenu:r.createElement(We,null),secondaryMenu:r.createElement(qe,null)}):null}const Ye="navbarHideable_hhpl",Qe="navbarHidden_nmcs";function Xe(e){return r.createElement("div",(0,l.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Je(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,O.e)(),{navbarRef:l,isNavbarVisible:s}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,N.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:l,"aria-label":(0,c.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ye,!s&&Qe],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Xe,{onClick:i.toggle}),r.createElement(Ke,null))}function et(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,l.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function tt(){const{toggle:e,shown:t}=(0,O.e)();return r.createElement("button",{onClick:e,"aria-label":(0,c.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(et,null))}const nt="colorModeToggle_Hewu";function rt(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(Ve,(0,l.Z)({},e,{key:t})))))}function at(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function ot(){const e=(0,O.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??"right")}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(at,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(tt,null),r.createElement(Y,null),r.createElement(rt,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(rt,{items:a}),r.createElement(q,{className:nt}),!o&&r.createElement($e,null,r.createElement(Fe,null)))})}function it(){return r.createElement(Je,null,r.createElement(ot,null))}function lt(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...s}=t,c=(0,ee.Z)(n),u=(0,ee.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(J.Z,(0,l.Z)({className:"footer__link-item"},a?{href:i?u:a}:{to:c},s),o,a&&!(0,te.Z)(a)&&r.createElement(re.Z,null))}function st(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(lt,{item:t}))}function ct(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(st,{key:t,item:e})))))}function ut(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(ct,{key:t,column:e}))))}function dt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function ft(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(lt,{item:t})}function pt(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(ft,{item:e}),t.length!==n+1&&r.createElement(dt,null))))))}function mt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(ut,{columns:t}):r.createElement(pt,{links:t})}var gt=n(4034);const ht="footerLogoLink_tutC";function bt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,ee.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(gt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function vt(e){let{logo:t}=e;return t.href?r.createElement(J.Z,{href:t.href,className:ht,target:t.target},r.createElement(bt,{logo:t})):r.createElement(bt,{logo:t})}function yt(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function wt(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function kt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(wt,{style:o,links:n&&n.length>0&&r.createElement(mt,{links:n}),logo:a&&r.createElement(vt,{logo:a}),copyright:t&&r.createElement(yt,{copyright:t})})}const Et=r.memo(kt),St=(0,R.Qc)([j.S,k.pl,N.OC,ze.L5,i.VC,function(e){let{children:t}=e;return r.createElement(M.n2,null,r.createElement(O.M,null,r.createElement(F,null,t)))}]);function xt(e){let{children:t}=e;return r.createElement(St,null,t)}function _t(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(c.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("p",null,t.message),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},r.createElement(c.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again when the page crashed"},"Try again"))))))}const Tt="mainWrapper_MB5r";function Ct(e){const{children:t,noFooter:n,wrapperClassName:l,title:s,description:c}=e;return(0,b.t)(),r.createElement(xt,null,r.createElement(i.d,{title:s,description:c}),r.createElement(y,null),r.createElement(P,null),r.createElement(it,null),r.createElement("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,Tt,l)},r.createElement(o.Z,{fallback:e=>r.createElement(_t,e)},t)),!n&&r.createElement(Et,null))}},898:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(5773),a=n(7378),o=n(1884),i=n(8948),l=n(353),s=n(624),c=n(4034);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},l=a.createElement(c.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},l):l}function d(e){const{siteConfig:{title:t}}=(0,l.Z)(),{navbar:{title:n,logo:c}}=(0,s.L)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.Z)((null==c?void 0:c.href)||"/"),g=n?"":t,h=(null==c?void 0:c.alt)??g;return a.createElement(o.Z,(0,r.Z)({to:m},p,(null==c?void 0:c.target)&&{target:c.target}),c&&a.createElement(u,{logo:c,alt:h,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},505:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7378),a=n(7092);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},4034:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(5773),a=n(7378),o=n(8944),i=n(6457),l=n(5421);const s={themedImage:"themedImage_BQGR","themedImage--light":"themedImage--light_HAxW","themedImage--dark":"themedImage--dark_bGx0"};function c(e){const t=(0,i.Z)(),{colorMode:n}=(0,l.I)(),{sources:c,className:u,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:c[e],alt:d,className:(0,o.Z)(s.themedImage,s[`themedImage--${e}`],u)},f)))))}},376:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,z:()=>m});var r=n(5773),a=n(7378),o=n(161);function i(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const l={display:"none",overflow:"hidden",height:"0px"},s={display:"block",overflow:"visible",height:"auto"};function c(e,t){const n=t?l:s;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function u(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=(null==r?void 0:r.duration)??function(e){const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${(null==r?void 0:r.easing)??"ease-in-out"}`,height:`${t}px`}}function i(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return c(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(i(),requestAnimationFrame((()=>{e.style.height=l.height,e.style.overflow=l.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{i()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function d(e){if(!o.Z.canUseDOM)return e?l:s}function f(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:s}=e;const f=(0,a.useRef)(null);return u({collapsibleRef:f,collapsed:n,animation:o}),a.createElement(t,{ref:f,style:s?void 0:d(n),onTransitionEnd:e=>{"height"===e.propertyName&&(c(f.current,n),null==i||i(n))},className:l},r)}function p(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[l,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&s(t)}),[o,t]),o?a.createElement(f,(0,r.Z)({},n,{collapsed:l})):null}function m(e){let{lazy:t,...n}=e;const r=t?p:f;return a.createElement(r,n)}},10:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(7378),a=n(6457),o=n(1819),i=n(1763),l=n(624);const s=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),u=()=>"true"===s.get(),d=e=>s.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&u()));(0,r.useEffect)((()=>{o(u())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!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&&d(!1),!r&&u()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},5421:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>g});var r=n(7378),a=n(161),o=n(1763),i=n(1819),l=n(624);const s=r.createContext(void 0),c="theme",u=(0,i.WA)(c),d="light",f="dark",p=e=>e===f?f:d;function m(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[o,i]=(0,r.useState)((e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e))(e));(0,r.useEffect)((()=>{t&&u.del()}),[t]);const s=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(i(t),a&&(e=>{u.set(p(e))})(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:e),u.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=u.get();null!==t&&s(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,s]);const m=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||m.current?m.current=window.matchMedia("print").matches:s(null)};return e.addListener(r),()=>e.removeListener(r)}),[s,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:s,get isDarkTheme(){return o===f},setLightTheme(){s(d)},setDarkTheme(){s(f)}})),[o,s])}function g(e){let{children:t}=e;const n=m();return r.createElement(s.Provider,{value:n},t)}function h(){const e=(0,r.useContext)(s);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},4453:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>b,Oh:()=>w});var r=n(7378),a=n(2935),o=n(5688),i=n(624),l=n(5161),s=n(1763),c=n(1819);const u=e=>`docs-preferred-version-${e}`,d=(e,t,n)=>{(0,c.WA)(u(e),{persistence:t}).set(n)},f=(e,t)=>(0,c.WA)(u(e),{persistence:t}).get(),p=(e,t)=>{(0,c.WA)(u(e),{persistence:t}).del()};const m=r.createContext(null);function g(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>(e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}]))))(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return r.createElement(m.Provider,{value:n},t)}function b(e){let{children:t}=e;return l.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function v(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=v(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,a._r)(),[t]=v();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},2095:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,b:()=>l});var r=n(7378),a=n(1763);const o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function s(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},5536:(e,t,n)=>{"use strict";n.d(t,{M:()=>d,e:()=>f});var r=n(7378),a=n(3471),o=n(8357),i=n(654),l=n(624),s=n(1763);const c=r.createContext(void 0);function u(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,l.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[s,c]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(s)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:s})),[e,n,u,s])}function d(e){let{children:t}=e;const n=u();return r.createElement(c.Provider,{value:n},t)}function f(){const e=r.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3471:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>s,n2:()=>i});var r=n(7378),a=n(1763);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=i,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},174:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7378);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},3584:(e,t,n)=>{"use strict";n.d(t,{O:()=>l});var r=n(7378),a=n(5331),o=n(353);const i="q";function l(){const e=(0,a.k6)(),{siteConfig:{baseUrl:t,themeConfig:n}}=(0,o.Z)(),{algolia:{searchPagePath:l}}=n,[s,c]=(0,r.useState)("");(0,r.useEffect)((()=>{const e=new URLSearchParams(window.location.search).get(i)??"";c(e)}),[]);return{searchQuery:s,setSearchQuery:(0,r.useCallback)((t=>{const n=new URLSearchParams(window.location.search);t?n.set(i,t):n.delete(i),e.replace({search:n.toString()}),c(t)}),[e]),generateSearchPageLink:(0,r.useCallback)((e=>`${t}${l}?q=${encodeURIComponent(e)}`),[t,l])}}},8357:(e,t,n)=>{"use strict";n.d(t,{i:()=>c});var r=n(7378),a=n(161);const o="desktop",i="mobile",l="ssr";function s(){return a.Z.canUseDOM?window.innerWidth>996?o:i:l}function c(){const[e,t]=(0,r.useState)((()=>s()));return(0,r.useEffect)((()=>{function e(){t(s())}return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),e}},5484:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},5161:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>f,_F:()=>m,cE:()=>d,hI:()=>w,lO:()=>b,oz:()=>v,s1:()=>h,vY:()=>y});var r=n(7378),a=n(5331),o=n(5473),i=n(2935),l=n(4453),s=n(2095),c=n(784),u=n(8862);const d=!!i._r;function f(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=f(t);if(e)return e}}}const p=(e,t)=>void 0!==e&&(0,u.Mg)(e,t);function m(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||((e,t)=>e.some((e=>m(e,t))))(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,u.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,u.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function h(){var e;const t=(0,s.V)(),{pathname:n}=(0,a.TH)();return!1!==(null==(e=(0,i.gA)())?void 0:e.pluginData.breadcrumbs)&&t?g({sidebarItems:t.items,pathname:n}):null}function b(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,c.j)([t,n,a].filter(Boolean))),[t,n,a])}function v(e,t){const n=b(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(", ")}".\n Available sidebar ids are:\n - ${Object.keys(t).join("\n- ")}`);return r[1]}),[e,n])}function y(e,t){const n=b(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(`DocNavbarItem: couldn't find any doc with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.j)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function w(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,l=i.find((e=>(0,a.LX)(r.pathname,e)));if(!l)return null;const s=l.sidebar,c=s?n.docsSidebars[s]:void 0;return{docElement:(0,o.H)(i),sidebarName:s,sidebarItems:c}}},9162:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(353);function a(e){const{siteConfig:t}=(0,r.Z)(),{title:n,titleDelimiter:a}=t;return null!=e&&e.trim().length?`${e.trim()} ${a} ${n}`:n}},654:(e,t,n)=>{"use strict";n.d(t,{Rb:()=>l,_X:()=>s});var r=n(7378),a=n(5331),o=n(644),i=n(1763);function l(e){!function(e){const t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){return function(e){const t=(0,a.k6)();return(0,o.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},784:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{j:()=>a,l:()=>r})},1123:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>u,VC:()=>p});var r=n(7378),a=n(8944),o=n(7092),i=n(6881);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(8948),c=n(9162);function u(e){let{title:t,description:n,keywords:a,image:i,children:l}=e;const u=(0,c.p)(t),{withBaseUrl:d}=(0,s.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),l)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),l=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:l},r.createElement(o.Z,null,r.createElement("html",{className:l})),n)}function p(e){let{children:t}=e;const n=l(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},1763:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>c,Ql:()=>s,i6:()=>l,zX:()=>o});var r=n(7378);const a=n(161).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){var n,r,a;super(),this.name="ReactContextError",this.message=`Hook ${(null==(n=this.stack)||null==(r=n.split("\n")[1])||null==(a=r.match(/at (?:\w+\.)?(?\w+)/))?void 0:a.groups.name)??""} is called outside the <${e}>. ${t??""}`}}function s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},1503:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>r})},8862:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7378),a=n(6623),o=n(353);function i(e,t){const n=e=>{var t;return null==(t=!e||e.endsWith("/")?e:`${e}/`)?void 0:t.toLowerCase()};return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},3457:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>p,OC:()=>s,RF:()=>d,o5:()=>f});var r=n(7378),a=n(161),o=n(6457),i=n(1763);const l=r.createContext(void 0);function s(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(l.Provider,{value:n},t)}function c(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const u=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(u()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=c(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,r.useLayoutEffect)((()=>{queueMicrotask((()=>null==n.current?void 0:n.current()))})),{blockElementScrollPositionUntilNextRender:a}}function p(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>null==e.current?void 0:e.current()}}},3149:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>s,os:()=>l});var r=n(2935),a=n(353),o=n(4453);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,a.Z)(),t=(0,r._r)(),n=(0,r.WS)(),s=(0,o.Oh)();const c=[i,...Object.keys(t).map((function(e){const r=(null==n?void 0:n.activePlugin.pluginId)===e?n.activeVersion:void 0,a=s[e],o=t[e].versions.find((e=>e.isLast));return l(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:c}}},1819:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>d,WA:()=>u});var r=n(7378),a=n(644);const o="localStorage";function i(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function l(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=l(null==t?void 0:t.persistence);return null===n?c:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),i({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),i({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?c:u(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,a.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},3714:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(353),a=n(5331);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),l=o===n?e:e.replace(`/${o}/`,"/"),s=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${l}`:`${l}${e}/`}(r)}${s}`}}}},4993:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7378),a=n(5331),o=n(1763);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},624:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(353);function a(){return(0,r.Z)().siteConfig.themeConfig}},632:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(353);function a(){const{siteConfig:{themeConfig:e}}=(0,r.Z)();return e}},2473:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(7378),a=n(1503),o=n(8948),i=n(632);function l(){const{withBaseUrl:e}=(0,o.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.L)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.F)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},2520:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},1721: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.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=n(2520);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}})},6623:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7378),a=n(5773),o=n(1237),i=n.n(o),l=n(6887);const s={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,9898)),"@theme/BlogTagsListPage",9898],"03ccf92d":[()=>n.e(3259).then(n.t.bind(n,7276,19)),"~blog/default/blog-tags-codespaces-a42-list.json",7276],"059d1c6a":[()=>Promise.all([n.e(8068),n.e(8262)]).then(n.bind(n,6187)),"@site/src/pages/downloads/index.tsx",6187],"07f59c2a":[()=>n.e(9372).then(n.bind(n,1622)),"@site/blog/2022-12-01-release-0.10-blog.md",1622],"09905e74":[()=>n.e(83).then(n.bind(n,7006)),"@site/docs/Installation/windows-install/installing-podman-with-podman-desktop.md",7006],"0d040286":[()=>n.e(8860).then(n.t.bind(n,7951,19)),"~blog/default/blog-tags-podman-desktop-31d-list.json",7951],"0e384e19":[()=>n.e(9671).then(n.bind(n,1012)),"@site/docs/intro.md",1012],"12f1535e":[()=>n.e(4781).then(n.bind(n,4625)),"@site/blog/2023-02-15-release-0.12.md?truncated=true",4625],17896441:[()=>Promise.all([n.e(532),n.e(6210),n.e(7918)]).then(n.bind(n,7823)),"@theme/DocItem",7823],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,6351)),"@theme/SearchPage",6351],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,5553)),"@theme/DocPage",5553],"1df93b7f":[()=>Promise.all([n.e(8068),n.e(3237)]).then(n.bind(n,7501)),"@site/src/pages/index.tsx",7501],"2ae2e7fe":[()=>n.e(6692).then(n.t.bind(n,9428,19)),"~docs/default/tag-docs-tags-restricted-environment-357.json",9428],"2d81b9d5":[()=>n.e(1591).then(n.bind(n,507)),"@site/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.md",507],"3289a752":[()=>Promise.all([n.e(532),n.e(8811)]).then(n.bind(n,1802)),"@site/docs/migrating-from-docker/verifying-your-tools-are-using-podman.md",1802],"3720c009":[()=>Promise.all([n.e(532),n.e(3751)]).then(n.bind(n,4889)),"@theme/DocTagsListPage",4889],"382c5d2b":[()=>n.e(1441).then(n.t.bind(n,6591,19)),"~blog/default/blog-tags-podman-desktop-31d.json",6591],"38a042e4":[()=>n.e(7138).then(n.bind(n,4663)),"@site/blog/2022-11-17-develop-podman-using-codespaces.md",4663],"3c6cc7c6":[()=>n.e(210).then(n.bind(n,3700)),"@site/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey.md",3700],"3e03f778":[()=>n.e(7034).then(n.t.bind(n,6597,19)),"~docs/default/tag-docs-tags-podman-4ff.json",6597],"3ed6e2e9":[()=>n.e(6536).then(n.t.bind(n,8969,19)),"~docs/default/tag-docs-tags-macos-7ec.json",8969],"3fed3fa8":[()=>n.e(6134).then(n.bind(n,690)),"@site/docs/Installation/windows-install/installing-podman-desktop-with-scoop.md",690],"4305e853":[()=>n.e(93).then(n.bind(n,5570)),"@site/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.md",5570],"43b416ef":[()=>n.e(7847).then(n.t.bind(n,5745,19)),"/home/runner/work/podman-desktop/podman-desktop/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"499ddca7":[()=>n.e(7673).then(n.bind(n,9787)),"@site/docs/compose/podman-compose.md",9787],"4e8ec325":[()=>n.e(6181).then(n.bind(n,3719)),"@site/docs/getting-started/2022-08-05-getting-started.md",3719],"5087625a":[()=>Promise.all([n.e(8068),n.e(1724)]).then(n.bind(n,36)),"@site/src/pages/downloads/windows.tsx",36],"51dec273":[()=>n.e(6026).then(n.t.bind(n,936,19)),"~docs/default/tag-docs-tags-migrating-from-docker-f4d.json",936],"55960ee5":[()=>n.e(4121).then(n.t.bind(n,8070,19)),"~docs/default/tags-list-current-prop-15a.json",8070],"56c3a9b2":[()=>Promise.all([n.e(8068),n.e(3010)]).then(n.bind(n,5646)),"@site/src/pages/core-values/index.tsx",5646],"59c97daa":[()=>n.e(8698).then(n.bind(n,6097)),"@site/docs/Installation/linux-install/index.md",6097],"5a8fbd01":[()=>n.e(4531).then(n.bind(n,3561)),"@site/docs/Installation/windows-install/index.md",3561],"5bb642ff":[()=>n.e(9998).then(n.bind(n,9540)),"@site/docs/kubernetes/kind.md",9540],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6101b3fc":[()=>Promise.all([n.e(8068),n.e(5248)]).then(n.bind(n,3963)),"@site/src/pages/downloads/linux.tsx",3963],"6194ac84":[()=>n.e(397).then(n.t.bind(n,299,19)),"~docs/default/tag-docs-tags-podman-desktop-be3.json",299],"6269f1c0":[()=>Promise.all([n.e(532),n.e(138)]).then(n.bind(n,6472)),"@site/docs/migrating-from-docker/importing-saved-containers.md",6472],"657ac0bc":[()=>n.e(5625).then(n.t.bind(n,3769,19)),"/home/runner/work/podman-desktop/podman-desktop/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"6875c492":[()=>Promise.all([n.e(532),n.e(6210),n.e(1947),n.e(8610)]).then(n.bind(n,1071)),"@theme/BlogTagsPostsPage",1071],"6af14956":[()=>n.e(8221).then(n.t.bind(n,6567,19)),"~docs/default/tag-docs-tags-linux-f75.json",6567],"708d858d":[()=>n.e(7377).then(n.bind(n,7806)),"@site/docs/migrating-from-docker/emulating-docker-cli-with-podman.md",7806],72486833:[()=>n.e(3505).then(n.t.bind(n,3722,19)),"~blog/default/blog-tags-kubernetes-4b9-list.json",3722],"72dd8f7e":[()=>n.e(9106).then(n.t.bind(n,6956,19)),"~docs/default/tag-docs-tags-mac-0-s-b35.json",6956],75281220:[()=>n.e(7366).then(n.bind(n,6665)),"@site/docs/kubernetes/index.md",6665],"7591d420":[()=>n.e(7220).then(n.t.bind(n,7304,19)),"~docs/default/tag-docs-tags-migrating-to-kubernetes-dc1.json",7304],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"819ef483":[()=>n.e(1676).then(n.t.bind(n,3832,19)),"~docs/default/tag-docs-tags-kind-9c3.json",3832],"822c343e":[()=>n.e(7149).then(n.t.bind(n,4469,19)),"/home/runner/work/podman-desktop/podman-desktop/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"83245ae6":[()=>Promise.all([n.e(8306),n.e(7679)]).then(n.bind(n,9867)),"@site/blog/2023-01-18-release-0.11.md",9867],"83d480e9":[()=>n.e(205).then(n.t.bind(n,3672,19)),"~blog/default/blog-tags-release-b5c.json",3672],"840a98fb":[()=>n.e(809).then(n.t.bind(n,8272,19)),"~docs/default/tag-docs-tags-openshift-local-64e.json",8272],"8894e90f":[()=>Promise.all([n.e(8068),n.e(7505)]).then(n.bind(n,919)),"@site/src/pages/downloads/macOS.tsx",919],"8b4dd820":[()=>n.e(3636).then(n.bind(n,2216)),"@site/blog/2022-12-01-release-0.10-blog.md?truncated=true",2216],"933a69d3":[()=>n.e(7813).then(n.t.bind(n,1853,19)),"~docs/default/tag-docs-tags-getting-started-980.json",1853],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9aa62c0e":[()=>n.e(506).then(n.t.bind(n,9694,19)),"~docs/default/tag-docs-tags-chocolatey-ce7.json",9694],"9c021584":[()=>n.e(7438).then(n.t.bind(n,8055,19)),"~blog/default/blog-tags-release-b5c-list.json",8055],"9d9f8394":[()=>n.e(9360).then(n.bind(n,6304)),"@site/docs/troubleshooting.md",6304],"9dce5486":[()=>n.e(8566).then(n.bind(n,8186)),"@site/blog/2023-02-15-release-0.12.md",8186],"9e4087bc":[()=>n.e(3608).then(n.bind(n,7507)),"@theme/BlogArchivePage",7507],a5e1f61e:[()=>n.e(3820).then(n.t.bind(n,1163,19)),"~docs/default/tag-docs-tags-winget-d3b.json",1163],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(6210),n.e(1947),n.e(3089)]).then(n.bind(n,3462)),"@theme/BlogListPage",3462],a7023ddc:[()=>n.e(1713).then(n.t.bind(n,5208,19)),"~blog/default/blog-tags-tags-4c2.json",5208],a766a857:[()=>n.e(1342).then(n.t.bind(n,6018,19)),"~docs/default/tag-docs-tags-windows-4a4.json",6018],ae79aff5:[()=>n.e(4386).then(n.bind(n,4794)),"@site/docs/migrating-from-docker/index.md",4794],b0f1c099:[()=>n.e(9387).then(n.t.bind(n,6462,19)),"~blog/default/blog-tags-kubernetes-4b9.json",6462],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(1477).then(n.t.bind(n,4556,19)),"~blog/default/blog-archive-80c.json",4556],b443212b:[()=>n.e(9184).then(n.bind(n,1443)),"@site/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.md",1443],ba322490:[()=>n.e(2178).then(n.t.bind(n,7085,19)),"/home/runner/work/podman-desktop/podman-desktop/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],ba5b9f11:[()=>n.e(7251).then(n.bind(n,8402)),"@site/blog/2022-11-17-develop-podman-using-codespaces.md?truncated=true",8402],beebaad6:[()=>n.e(4207).then(n.bind(n,1923)),"@site/docs/Installation/index.md",1923],c1fad867:[()=>n.e(4758).then(n.bind(n,3042)),"@site/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.md",3042],c276ecb2:[()=>n.e(182).then(n.t.bind(n,1444,19)),"~blog/default/blog-tags-devcontainer-050-list.json",1444],c685778b:[()=>n.e(563).then(n.t.bind(n,383,19)),"~docs/default/tag-docs-tags-installing-ce0.json",383],ccc49370:[()=>Promise.all([n.e(532),n.e(6210),n.e(1947),n.e(6103)]).then(n.bind(n,3227)),"@theme/BlogPostPage",3227],cd509849:[()=>n.e(5018).then(n.t.bind(n,9547,19)),"~docs/default/tag-docs-tags-flathub-b2e.json",9547],d7fbbe43:[()=>n.e(2217).then(n.bind(n,464)),"@site/src/pages/features/index.tsx",464],d83d689a:[()=>n.e(5068).then(n.bind(n,6766)),"@site/docs/Installation/macos-install.md",6766],df203c0f:[()=>n.e(9924).then(n.bind(n,7051)),"@theme/DocTagDocListPage",7051],e561c556:[()=>n.e(1089).then(n.bind(n,4707)),"@site/docs/Installation/windows-install/installing-podman-with-openshift-local.md",4707],e5ba977d:[()=>n.e(902).then(n.bind(n,8658)),"@site/docs/compose/compose-spec.md",8658],e665718d:[()=>n.e(114).then(n.bind(n,1261)),"@site/src/pages/extend/index.tsx",1261],e6fb1369:[()=>n.e(8800).then(n.bind(n,6166)),"@site/blog/2023-01-18-release-0.11.md?truncated=true",6166],eabf5d51:[()=>n.e(5908).then(n.bind(n,3821)),"@site/docs/Installation/windows-install/installing-podman-desktop-with-winget.md",3821],ed75cfcb:[()=>n.e(3584).then(n.bind(n,6117)),"@site/docs/migrating-from-docker/using-podman-mac-helper.md",6117],f0057c03:[()=>n.e(5708).then(n.t.bind(n,7018,19)),"~docs/default/tag-docs-tags-scoop-7df.json",7018],f213dd13:[()=>n.e(6049).then(n.t.bind(n,1326,19)),"~blog/default/blog-tags-codespaces-a42.json",1326],f523fb3f:[()=>Promise.all([n.e(532),n.e(3973)]).then(n.bind(n,3666)),"@site/docs/migrating-from-docker/using-the-docker_host-environment-variable.md",3666],f6e0e63c:[()=>n.e(7536).then(n.t.bind(n,9592,19)),"~blog/default/blog-tags-devcontainer-050.json",9592],f7b7f9b7:[()=>n.e(465).then(n.t.bind(n,7196,19)),"~docs/default/tag-docs-tags-flatpak-1be.json",7196]};function c(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(3361),d=n(6881);function f(e,t){if("*"===e)return i()({loading:c,loader:()=>n.e(3893).then(n.bind(n,3893)),modules:["@theme/NotFound"],webpack:()=>[3893],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=l[`${e}-${t}`],f={},p=[],m=[],g=(0,u.Z)(o);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=s[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:c,loader:f,modules:p,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const l=n.split(".");l.slice(0,-1).forEach((e=>{o=o[e]})),o[l[l.length-1]]=a}));const l=i.__comp;delete i.__comp;const s=i.__context;return delete i.__context,r.createElement(d.z,{value:s},r.createElement(l,(0,a.Z)({},i,n)))}})}const p=[{path:"/blog",component:f("/blog","aa8"),exact:!0},{path:"/blog/archive",component:f("/blog/archive","376"),exact:!0},{path:"/blog/develop-using-devcontainer",component:f("/blog/develop-using-devcontainer","8bd"),exact:!0},{path:"/blog/podman-desktop-release-0.10",component:f("/blog/podman-desktop-release-0.10","1f2"),exact:!0},{path:"/blog/podman-desktop-release-0.11",component:f("/blog/podman-desktop-release-0.11","bc8"),exact:!0},{path:"/blog/podman-desktop-release-0.12",component:f("/blog/podman-desktop-release-0.12","680"),exact:!0},{path:"/blog/tags",component:f("/blog/tags","01c"),exact:!0},{path:"/blog/tags/codespaces",component:f("/blog/tags/codespaces","954"),exact:!0},{path:"/blog/tags/devcontainer",component:f("/blog/tags/devcontainer","f90"),exact:!0},{path:"/blog/tags/kubernetes",component:f("/blog/tags/kubernetes","5ca"),exact:!0},{path:"/blog/tags/podman-desktop",component:f("/blog/tags/podman-desktop","0d0"),exact:!0},{path:"/blog/tags/release",component:f("/blog/tags/release","02c"),exact:!0},{path:"/core-values",component:f("/core-values","1ca"),exact:!0},{path:"/docs/tags",component:f("/docs/tags","956"),exact:!0},{path:"/docs/tags/chocolatey",component:f("/docs/tags/chocolatey","539"),exact:!0},{path:"/docs/tags/flathub",component:f("/docs/tags/flathub","b70"),exact:!0},{path:"/docs/tags/flatpak",component:f("/docs/tags/flatpak","acc"),exact:!0},{path:"/docs/tags/getting-started",component:f("/docs/tags/getting-started","33b"),exact:!0},{path:"/docs/tags/installing",component:f("/docs/tags/installing","37d"),exact:!0},{path:"/docs/tags/kind",component:f("/docs/tags/kind","fd5"),exact:!0},{path:"/docs/tags/linux",component:f("/docs/tags/linux","170"),exact:!0},{path:"/docs/tags/mac-0-s",component:f("/docs/tags/mac-0-s","1b7"),exact:!0},{path:"/docs/tags/macos",component:f("/docs/tags/macos","1d0"),exact:!0},{path:"/docs/tags/migrating-from-docker",component:f("/docs/tags/migrating-from-docker","f8d"),exact:!0},{path:"/docs/tags/migrating-to-kubernetes",component:f("/docs/tags/migrating-to-kubernetes","7f2"),exact:!0},{path:"/docs/tags/openshift-local",component:f("/docs/tags/openshift-local","641"),exact:!0},{path:"/docs/tags/podman",component:f("/docs/tags/podman","4dd"),exact:!0},{path:"/docs/tags/podman-desktop",component:f("/docs/tags/podman-desktop","174"),exact:!0},{path:"/docs/tags/restricted-environment",component:f("/docs/tags/restricted-environment","c57"),exact:!0},{path:"/docs/tags/scoop",component:f("/docs/tags/scoop","c9a"),exact:!0},{path:"/docs/tags/windows",component:f("/docs/tags/windows","fb4"),exact:!0},{path:"/docs/tags/winget",component:f("/docs/tags/winget","977"),exact:!0},{path:"/downloads",component:f("/downloads","ae5"),exact:!0},{path:"/downloads/linux",component:f("/downloads/linux","4a4"),exact:!0},{path:"/downloads/macOS",component:f("/downloads/macOS","330"),exact:!0},{path:"/downloads/windows",component:f("/downloads/windows","6e4"),exact:!0},{path:"/extend",component:f("/extend","2be"),exact:!0},{path:"/features",component:f("/features","606"),exact:!0},{path:"/search",component:f("/search","cf9"),exact:!0},{path:"/docs",component:f("/docs","052"),routes:[{path:"/docs/compose/compose-spec",component:f("/docs/compose/compose-spec","ab6"),exact:!0,sidebar:"mySidebar"},{path:"/docs/compose/podman-compose",component:f("/docs/compose/podman-compose","0b6"),exact:!0,sidebar:"mySidebar"},{path:"/docs/getting-started/getting-started",component:f("/docs/getting-started/getting-started","c11"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation",component:f("/docs/Installation","544"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/linux-install",component:f("/docs/Installation/linux-install","0b6"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file",component:f("/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file","b0c"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle",component:f("/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle","e0c"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/macos-install",component:f("/docs/Installation/macos-install","867"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install",component:f("/docs/Installation/windows-install","626"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment",component:f("/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment","c9e"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer",component:f("/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer","15a"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey",component:f("/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey","2cd"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install/installing-podman-desktop-with-scoop",component:f("/docs/Installation/windows-install/installing-podman-desktop-with-scoop","a93"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install/installing-podman-desktop-with-winget",component:f("/docs/Installation/windows-install/installing-podman-desktop-with-winget","3e2"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install/installing-podman-with-openshift-local",component:f("/docs/Installation/windows-install/installing-podman-with-openshift-local","158"),exact:!0,sidebar:"mySidebar"},{path:"/docs/Installation/windows-install/installing-podman-with-podman-desktop",component:f("/docs/Installation/windows-install/installing-podman-with-podman-desktop","4c1"),exact:!0,sidebar:"mySidebar"},{path:"/docs/intro",component:f("/docs/intro","0c0"),exact:!0,sidebar:"mySidebar"},{path:"/docs/kubernetes",component:f("/docs/kubernetes","fa6"),exact:!0,sidebar:"mySidebar"},{path:"/docs/kubernetes/kind",component:f("/docs/kubernetes/kind","12e"),exact:!0,sidebar:"mySidebar"},{path:"/docs/migrating-from-docker",component:f("/docs/migrating-from-docker","b36"),exact:!0,sidebar:"mySidebar"},{path:"/docs/migrating-from-docker/emulating-docker-cli-with-podman",component:f("/docs/migrating-from-docker/emulating-docker-cli-with-podman","0d2"),exact:!0,sidebar:"mySidebar"},{path:"/docs/migrating-from-docker/importing-saved-containers",component:f("/docs/migrating-from-docker/importing-saved-containers","8a8"),exact:!0,sidebar:"mySidebar"},{path:"/docs/migrating-from-docker/using-podman-mac-helper",component:f("/docs/migrating-from-docker/using-podman-mac-helper","79d"),exact:!0,sidebar:"mySidebar"},{path:"/docs/migrating-from-docker/using-the-docker_host-environment-variable",component:f("/docs/migrating-from-docker/using-the-docker_host-environment-variable","05f"),exact:!0,sidebar:"mySidebar"},{path:"/docs/migrating-from-docker/verifying-your-tools-are-using-podman",component:f("/docs/migrating-from-docker/verifying-your-tools-are-using-podman","5a1"),exact:!0,sidebar:"mySidebar"},{path:"/docs/troubleshooting",component:f("/docs/troubleshooting","119"),exact:!0,sidebar:"mySidebar"}]},{path:"/",component:f("/","395"),exact:!0},{path:"*",component:f("*")}]},8944:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>T,ob:()=>p,PP:()=>I,Ep:()=>f});var r=n(5773);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1115);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,g(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9185),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=u(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,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},142:(e,t,n)=>{"use strict";n.r(t)},6222:(e,t,n)=>{"use strict";n.r(t)},8504:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},2525:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,o){for(var i,l,s=a(e),c=1;c{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof a)){var _,T=1;if(v){if(!(_=o(k,S,e,b))||_.index>=e.length)break;var C=_.index,I=_.index+_[0].length,A=S;for(A+=E.value.length;C>=A;)A+=(E=E.next).value.length;if(S=A-=E.value.length,E.value instanceof a)continue;for(var L=E;L!==t.tail&&(Ad.reach&&(d.reach=R);var M=E.prev;if(O&&(M=s(t,M,O),S+=O.length),c(t,M,T),E=s(t,M,new a(f,h?r.tokenize(P,h):P,y,P)),N&&s(t,E,N),T>1){var D={cause:f+","+m,reach:R};i(e,t,n,E.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var s=n;s=0&&p(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function c(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,s(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,u={},d=s(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return u[n]=a,n})).join(""),n,r),f=Object.keys(u);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var s=o.substring(0,l),d=c(u[a]),p=o.substring(l+a.length),m=[];if(s&&m.push(s),m.push(d),p){var g=[p];e(g),m.push.apply(m,g)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},l=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var s=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=i(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++a;var g=f.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];g&&v.push.apply(v,i([g])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof c?l.splice.apply(l,[s,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},6761:()=>{!function(e){var t=/\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source,n=/(?:[ \t]+(?![ \t])(?:)?|)/.source.replace(//g,(function(){return t})),r=/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source,a=/--[\w-]+=(?:|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(//g,(function(){return r})),o={pattern:RegExp(r),greedy:!0},i={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function l(e,t){return e=e.replace(//g,(function(){return a})).replace(//g,(function(){return n})),RegExp(e,t)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:l(/(^(?:ONBUILD)?\w+)(?:)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:l(/(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:l(/(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\]+)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:l(/(^ONBUILD)\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:i,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker}(Prism)},3069:()=>{!function(e){var t=[/"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,/'[^']*'/.source,/\$'(?:[^'\\]|\\[\s\S])*'/.source,/<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source].join("|");e.languages["shell-session"]={command:{pattern:RegExp(/^/.source+"(?:"+/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source+"|"+/[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source+")?"+/[$#%](?=\s)/.source+/(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<>)+/.source.replace(/<>/g,(function(){return t})),"m"),greedy:!0,inside:{info:{pattern:/^[^#$%]+/,alias:"punctuation",inside:{user:/^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#%]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:e.languages.bash},"shell-symbol":{pattern:/^[$#%]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},e.languages["sh-session"]=e.languages.shellsession=e.languages["shell-session"]}(Prism)},5639:(e,t,n)=>{var r={"./prism-docker":6761,"./prism-shell-session":3069};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=5639},8772:(e,t,n)=>{"use strict";var r=n(331);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},3615:(e,t,n)=>{e.exports=n(8772)()},331:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3577:(e,t,n)=>{"use strict";var r=n(7378),a=n(2525),o=n(1102);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n