From a745cee3041fe8ae3d176be333faca39a2323f07 Mon Sep 17 00:00:00 2001 From: Nimrod Dolev Date: Thu, 26 Dec 2024 09:07:20 +0200 Subject: [PATCH] Deploy website - based on 52dc6a59a5d70ee4f56a49c33c6a47a9c55f149d --- 404.html | 4 +-- assets/js/3021cf83.7d58f10a.js | 1 + assets/js/3021cf83.eb18e3d4.js | 1 - ...8d0c7.8d246ad9.js => 6fb8d0c7.d189c446.js} | 2 +- assets/js/786b7750.614dce14.js | 1 + assets/js/786b7750.ccf3ace7.js | 1 - assets/js/830e464d.99e65018.js | 1 + assets/js/830e464d.f69343aa.js | 1 - assets/js/880a0d45.12256b2d.js | 1 - assets/js/880a0d45.94a144b6.js | 1 + assets/js/9ab06a08.0fd7da8b.js | 1 + assets/js/9ab06a08.10609872.js | 1 - assets/js/a1ee10bd.77901d09.js | 1 + assets/js/a1ee10bd.959f5206.js | 1 - assets/js/cb0272f0.535f37e4.js | 1 - assets/js/cb0272f0.f0a8f1c7.js | 1 + assets/js/db86f9ef.c950826f.js | 1 - assets/js/db86f9ef.e74391cf.js | 1 + .../js/{main.98ee3e6f.js => main.a796dc70.js} | 4 +-- ...CENSE.txt => main.a796dc70.js.LICENSE.txt} | 0 ...n.6daec46a.js => runtime~main.7baf83aa.js} | 2 +- blog/archive/index.html | 4 +-- blog/authors/index.html | 4 +-- blog/first-blog-post/index.html | 4 +-- blog/index.html | 4 +-- blog/long-blog-post/index.html | 4 +-- blog/mdx-blog-post/index.html | 4 +-- blog/tags/docusaurus/index.html | 4 +-- blog/tags/facebook/index.html | 4 +-- blog/tags/hello/index.html | 4 +-- blog/tags/hola/index.html | 4 +-- blog/tags/index.html | 4 +-- blog/welcome/index.html | 4 +-- .../actions/clear_cache-action/index.html | 4 +-- docs/documentation/actions/index.html | 4 +-- .../actions/replay-action/index.html | 4 +-- .../actions/say-action/examples/index.html | 36 +++++++++---------- .../actions/say-action/index.html | 18 +++++----- .../actions/say-action/parameters/index.html | 4 +-- .../say_url-action/examples/index.html | 4 +-- .../actions/say_url-action/index.html | 4 +-- .../say_url-action/parameters/index.html | 4 +-- docs/documentation/configuration/index.html | 20 +++++------ docs/documentation/index.html | 4 +-- docs/documentation/notify/adding/index.html | 6 ++-- docs/documentation/notify/index.html | 8 ++--- docs/documentation/notify/sending/index.html | 6 ++-- docs/getting-started/index.html | 16 ++++----- .../adding-the-integration/index.html | 6 ++-- .../additional-requirements/index.html | 8 ++--- docs/quick-start/index.html | 4 +-- .../installing-chime-tts/index.html | 4 +-- docs/support/index.html | 4 +-- index.html | 4 +-- markdown-page/index.html | 4 +-- search-index.json | 2 +- search/index.html | 4 +-- 57 files changed, 127 insertions(+), 131 deletions(-) create mode 100644 assets/js/3021cf83.7d58f10a.js delete mode 100644 assets/js/3021cf83.eb18e3d4.js rename assets/js/{6fb8d0c7.8d246ad9.js => 6fb8d0c7.d189c446.js} (65%) create mode 100644 assets/js/786b7750.614dce14.js delete mode 100644 assets/js/786b7750.ccf3ace7.js create mode 100644 assets/js/830e464d.99e65018.js delete mode 100644 assets/js/830e464d.f69343aa.js delete mode 100644 assets/js/880a0d45.12256b2d.js create mode 100644 assets/js/880a0d45.94a144b6.js create mode 100644 assets/js/9ab06a08.0fd7da8b.js delete mode 100644 assets/js/9ab06a08.10609872.js create mode 100644 assets/js/a1ee10bd.77901d09.js delete mode 100644 assets/js/a1ee10bd.959f5206.js delete mode 100644 assets/js/cb0272f0.535f37e4.js create mode 100644 assets/js/cb0272f0.f0a8f1c7.js delete mode 100644 assets/js/db86f9ef.c950826f.js create mode 100644 assets/js/db86f9ef.e74391cf.js rename assets/js/{main.98ee3e6f.js => main.a796dc70.js} (99%) rename assets/js/{main.98ee3e6f.js.LICENSE.txt => main.a796dc70.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.6daec46a.js => runtime~main.7baf83aa.js} (61%) diff --git a/404.html b/404.html index e45ea819..897fab07 100644 --- a/404.html +++ b/404.html @@ -5,8 +5,8 @@ Page Not Found | Locally combine TTS and audio in Home Assistant. - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

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

diff --git a/assets/js/3021cf83.7d58f10a.js b/assets/js/3021cf83.7d58f10a.js new file mode 100644 index 00000000..112dee9b --- /dev/null +++ b/assets/js/3021cf83.7d58f10a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[2857],{9560:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"getting-started","title":"Chime TTS","description":"If you find Chime TTS useful, please consider showing your support:","source":"@site/docs/getting-started.mdx","sourceDirName":".","slug":"/getting-started","permalink":"/chime_tts/docs/getting-started","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Chime TTS"},"sidebar":"tutorialSidebar","next":{"title":"Quick Start","permalink":"/chime_tts/docs/quick-start/"}}');var n=i(4848),o=i(8453),a=i(6025);const r={sidebar_position:1,title:"Chime TTS"},c=void 0,l={},d=[{value:"If you find Chime TTS useful, please consider showing your support: ",id:"if-you-find-chime-tts-useful-please-consider-showing-your-support-",level:4},{value:"What is Chime TTS?",id:"what-is-chime-tts",level:2},{value:"The Problem:",id:"the-problem",level:3},{value:"The Solution:",id:"the-solution",level:3},{value:"Features",id:"features",level:2},{value:"Quick Start",id:"quick-start",level:2},{value:"How Do I Use It?",id:"how-do-i-use-it",level:2},{value:"Actions",id:"actions",level:3},{value:"Notify Entities",id:"notify-entities",level:3},{value:"Support and Discussion",id:"support-and-discussion",level:2}];function h(e){const s={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.h4,{id:"if-you-find-chime-tts-useful-please-consider-showing-your-support-",children:["If you find Chime TTS useful, please consider showing your support: ",(0,n.jsx)("a",{href:"https://www.buymeacoffee.com/nimroddolev",target:"_blank",children:(0,n.jsx)("img",{src:"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png",alt:"Buy me a coffee",id:"buyMeACoffee"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"what-is-chime-tts",children:"What is Chime TTS?"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS is a custom Home Assistant integration that locally combines TTS audio and sound effects into seamless audio for playback in a single action call, eliminating the lag. Chime TTS includes a ",(0,n.jsx)(s.a,{href:"#features",children:"suite of options"})," to further customize the audio."]}),"\n",(0,n.jsx)(s.h3,{id:"the-problem",children:"The Problem:"}),"\n",(0,n.jsxs)("div",{id:"problemDiv",children:[(0,n.jsx)("img",{src:(0,a.Ay)("/img/getting-started/the_problem.png")}),(0,n.jsx)("img",{src:(0,a.Ay)("/img/animations/travolta.gif"),class:"travolta"})]}),"\n",(0,n.jsx)(s.p,{children:"Adding a notification chime before Text-To-Speech (TTS) audio messages requires two separate action calls, which introduces lag due to networking latency of cloud TTS platforms, audio processing, and delays before media_player playback begins."}),"\n",(0,n.jsx)(s.h3,{id:"the-solution",children:"The Solution:"}),"\n",(0,n.jsx)("img",{src:(0,a.Ay)("/img/getting-started/the_solution.png")}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"Chime TTS"})," addresses this issue by combining the audio files into ",(0,n.jsx)(s.em,{children:"a single file"})," locally on your Home Assistant device. This combined file is then played through your speakers in one seamless event, eliminating any lag."]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"features",children:"Features"}),"\n",(0,n.jsx)(s.p,{children:"Chime TTS offers various features that enhance TTS audio playback experience:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"No lag or timing issues:"})," Precise timing between audio files without cloud TTS delays."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Customizable audio cues:"})," Play preset or custom audio before, after or in between TTS messages."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Flexible TTS platform selection:"})," Supports various ",(0,n.jsx)(s.a,{href:"https://www.home-assistant.io/integrations/#text-to-speech",children:"TTS platform integrations"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Easy action invocation:"})," Use the ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,n.jsx)(s.code,{children:"chime_tts.say"})})," and ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,n.jsx)(s.code,{children:"chime_tts.say_url"})})," actions in automations and scripts."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Set media player volume:"})," Notifications can be played at a defined volume and restored after playback."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Restore previous audio:"})," Chime TTS supports pausing and resuming currently playing audio beyond the media player platforms supported by Home Assistant ",(0,n.jsx)(s.em,{children:"(eg: HomePods)"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Mix and match TTS platforms:"})," Combine TTS audio using multiple TTS platforms within the same audio announcement."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable TTS speed:"})," Set the TTS audio speed anywhere from 1-500%."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable TTS pitch:"})," Set the pitch for TTS audio, allowing for more customization."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Support for FFmpeg arguments:"})," Apply FFmpeg jobs to the generated audio, or specific jobs to specific chimes and TTS audio segments."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable delay:"})," Set custom delays between chimes & TTS audio."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable overlay:"})," Set custom overlay durations between chimes & TTS audio."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Caching:"})," Cache audio for faster playback."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Speaker Groups:"})," Group speakers for simultaneous playback ",(0,n.jsx)(s.em,{children:"(on supported platforms)"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"quick-start",children:"Quick Start"}),"\n",(0,n.jsx)(s.p,{children:"Follow these easy steps to get started with Chime TTS:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/quick-start/installing-chime-tts",children:"Installation"})," - Quickly install Chime TTS via HACS or manually."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/quick-start/adding-the-integration",children:"Add the Integration"})," - Add Chime TTS to your Home Assistant instance."]}),"\n"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"how-do-i-use-it",children:"How Do I Use It?"}),"\n",(0,n.jsx)(s.h3,{id:"actions",children:"Actions"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS adds 4 actions to your Home Assistant instance: ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),", ",(0,n.jsx)(s.code,{children:"chime_tts.say_url"}),", ",(0,n.jsx)(s.code,{children:"chime_tts.replay"})," and ",(0,n.jsx)(s.code,{children:"chime_tts.clear_cache"}),":"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,n.jsx)(s.code,{children:"chime_tts.say"})}),": Play audio and TTS messages with various settings."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,n.jsx)(s.code,{children:"chime_tts.say_url"})}),": Generates a publicly accessible URL to the MP3 file generated by ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/replay-action",children:(0,n.jsx)(s.code,{children:"chime_tts.replay"})}),": Replays the last action call to ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/clear_cache-action",children:(0,n.jsx)(s.code,{children:"chime_tts.clear_cache"})}),": Clear generated audio cache."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"notify-entities",children:"Notify Entities"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS adds a ",(0,n.jsx)(s.a,{href:"https://www.home-assistant.io/integrations/notify/",children:"notify platform"}),': "',(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/notify",children:(0,n.jsx)(s.code,{children:"chime_tts"})}),'", which allows you to create fully customised notify entries for use in your automations and scripts.']}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"support-and-discussion",children:"Support and Discussion"}),"\n",(0,n.jsxs)(s.p,{children:["For questions, suggestions, and community discussion about Chime TTS, visit our ",(0,n.jsx)(s.a,{href:"https://community.home-assistant.io/t/chime-tts-play-audio-before-after-tts-audio-lag-free/578430",children:"Community Forum"}),"."]})]})}function u(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},8453:(e,s,i)=>{i.d(s,{R:()=>a,x:()=>r});var t=i(6540);const n={},o=t.createContext(n);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3021cf83.eb18e3d4.js b/assets/js/3021cf83.eb18e3d4.js deleted file mode 100644 index 6f3f178e..00000000 --- a/assets/js/3021cf83.eb18e3d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[2857],{9560:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"getting-started","title":"Chime TTS","description":"If you find Chime TTS useful, please consider showing your support:","source":"@site/docs/getting-started.mdx","sourceDirName":".","slug":"/getting-started","permalink":"/chime_tts/docs/getting-started","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Chime TTS"},"sidebar":"tutorialSidebar","next":{"title":"Quick Start","permalink":"/chime_tts/docs/quick-start/"}}');var n=i(4848),o=i(8453),a=i(6025);const r={sidebar_position:1,title:"Chime TTS"},c=void 0,l={},d=[{value:"If you find Chime TTS useful, please consider showing your support: ",id:"if-you-find-chime-tts-useful-please-consider-showing-your-support-",level:4},{value:"What is Chime TTS?",id:"what-is-chime-tts",level:2},{value:"The Problem:",id:"the-problem",level:3},{value:"The Solution:",id:"the-solution",level:3},{value:"Features",id:"features",level:2},{value:"Quick Start",id:"quick-start",level:2},{value:"How Do I Use It?",id:"how-do-i-use-it",level:2},{value:"Actions",id:"actions",level:3},{value:"Notify Entities",id:"notify-entities",level:3},{value:"Support and Discussion",id:"support-and-discussion",level:2}];function h(e){const s={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.h4,{id:"if-you-find-chime-tts-useful-please-consider-showing-your-support-",children:["If you find Chime TTS useful, please consider showing your support: ",(0,n.jsx)("a",{href:"https://www.buymeacoffee.com/nimroddolev",target:"_blank",children:(0,n.jsx)("img",{src:"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png",alt:"Buy me a coffee",id:"buyMeACoffee"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"what-is-chime-tts",children:"What is Chime TTS?"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS is a custom Home Assistant integration that locally combines TTS audio and sound effects into seamless audio for playback in a single action call, eliminating the lag. Chime TTS includes a ",(0,n.jsx)(s.a,{href:"#features",children:"suite of options"})," to further customize the audio."]}),"\n",(0,n.jsx)(s.h3,{id:"the-problem",children:"The Problem:"}),"\n",(0,n.jsxs)("div",{id:"problemDiv",children:[(0,n.jsx)("img",{src:(0,a.Ay)("/img/getting-started/the_problem.png")}),(0,n.jsx)("img",{src:(0,a.Ay)("/img/animations/travolta.gif"),class:"travolta"})]}),"\n",(0,n.jsx)(s.p,{children:"Adding a notification chime before Text-To-Speech (TTS) audio messages requires two separate action calls, which introduces lag due to networking latency of cloud TTS platforms, audio processing, and delays before media_player playback begins."}),"\n",(0,n.jsx)(s.h3,{id:"the-solution",children:"The Solution:"}),"\n",(0,n.jsx)("img",{src:(0,a.Ay)("/img/getting-started/the_solution.png")}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"Chime TTS"})," addresses this issue by combining the audio files into ",(0,n.jsx)(s.em,{children:"a single file"})," locally on your Home Assistant device. This combined file is then played through your speakers in one seamless event, eliminating any lag."]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"features",children:"Features"}),"\n",(0,n.jsx)(s.p,{children:"Chime TTS offers various features that enhance TTS audio playback experience:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"No lag or timing issues:"})," Precise timing between audio files without cloud TTS delays."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Customizable audio cues:"})," Play preset or custom audio before, after or in between TTS messages."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Flexible TTS platform selection:"})," Supports various ",(0,n.jsx)(s.a,{href:"https://www.home-assistant.io/integrations/#text-to-speech",children:"TTS platform integrations"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Easy action invocation:"})," Use the [",(0,n.jsx)(s.code,{children:"chime_tts.say"}),"]((/chime_tts/docs/documentation/actions/say-action) and [",(0,n.jsx)(s.code,{children:"chime_tts.say_url"}),"]((/chime_tts/docs/documentation/actions/say_url-action) actions in automations and scripts."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Set media player volume:"})," Notifications can be played at a defined volume and restored after playback."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Restore previous audio:"})," Chime TTS supports pausing and resuming currently playing audio beyond the media player platforms supported by Home Assistant ",(0,n.jsx)(s.em,{children:"(eg: HomePods)"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Mix and match TTS platforms:"})," Combine TTS audio using multiple TTS platforms within the same audio announcement."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable TTS speed:"})," Set the TTS audio speed anywhere from 1-500%."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable TTS pitch:"})," Set the pitch for TTS audio, allowing for more customization."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Support for FFmpeg arguments:"})," Apply FFmpeg jobs to the generated audio, or specific jobs to specific chimes and TTS audio segments."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable delay:"})," Set custom delays between chimes & TTS audio."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Configurable overlay:"})," Set custom overlay durations between chimes & TTS audio."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Caching:"})," Cache audio for faster playback."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Speaker Groups:"})," Group speakers for simultaneous playback ",(0,n.jsx)(s.em,{children:"(on supported platforms)"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"quick-start",children:"Quick Start"}),"\n",(0,n.jsx)(s.p,{children:"Follow these easy steps to get started with Chime TTS:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/quick-start/installing-chime-tts",children:"Installation"})," - Quickly install Chime TTS via HACS or manually."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/quick-start/adding-the-integration",children:"Add the Integration"})," - Add Chime TTS to your Home Assistant instance."]}),"\n"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"how-do-i-use-it",children:"How Do I Use It?"}),"\n",(0,n.jsx)(s.h3,{id:"actions",children:"Actions"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS adds 4 actions to your Home Assistant instance: ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),", ",(0,n.jsx)(s.code,{children:"chime_tts.say_url"}),", ",(0,n.jsx)(s.code,{children:"chime_tts.replay"})," and ",(0,n.jsx)(s.code,{children:"chime_tts.clear_cache"}),":"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["[",(0,n.jsx)(s.code,{children:"chime_tts.say"}),"]((/chime_tts/docs/documentation/actions/say-action): Play audio and TTS messages with various settings."]}),"\n",(0,n.jsxs)(s.li,{children:["[",(0,n.jsx)(s.code,{children:"chime_tts.say_url"}),"]((/chime_tts/docs/documentation/actions/say_url-action): Generates a publicly accessible URL to the MP3 file generated by ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["[",(0,n.jsx)(s.code,{children:"chime_tts.replay"}),"]((/chime_tts/docs/documentation/actions/replay-action): Replays the last action call to ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["[",(0,n.jsx)(s.code,{children:"chime_tts.clear_cache"}),"]((/chime_tts/docs/documentation/actions/clear_cache-action): Clear generated audio cache."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"notify-entities",children:"Notify Entities"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS adds a ",(0,n.jsx)(s.a,{href:"https://www.home-assistant.io/integrations/notify/",children:"notify platform"}),': "[',(0,n.jsx)(s.code,{children:"chime_tts"}),']((/chime_tts/docs/documentation/notify)", which allows you to create fully customised notify entries for use in your automations and scripts.']}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"support-and-discussion",children:"Support and Discussion"}),"\n",(0,n.jsxs)(s.p,{children:["For questions, suggestions, and community discussion about Chime TTS, visit our ",(0,n.jsx)(s.a,{href:"https://community.home-assistant.io/t/chime-tts-play-audio-before-after-tts-audio-lag-free/578430",children:"Community Forum"}),"."]})]})}function u(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},8453:(e,s,i)=>{i.d(s,{R:()=>a,x:()=>r});var t=i(6540);const n={},o=t.createContext(n);function a(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6fb8d0c7.8d246ad9.js b/assets/js/6fb8d0c7.d189c446.js similarity index 65% rename from assets/js/6fb8d0c7.8d246ad9.js rename to assets/js/6fb8d0c7.d189c446.js index 220bd506..8c71ff38 100644 --- a/assets/js/6fb8d0c7.8d246ad9.js +++ b/assets/js/6fb8d0c7.d189c446.js @@ -1 +1 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[5871],{9754:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"documentation/notify/sending","title":"2. Sending Notifications","description":"See the below example for how to send Chime TTS notifications:","source":"@site/docs/documentation/notify/sending.mdx","sourceDirName":"documentation/notify","slug":"/documentation/notify/sending","permalink":"/chime_tts/docs/documentation/notify/sending","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"2. Sending Notifications"},"sidebar":"tutorialSidebar","previous":{"title":"1. Adding Notify Entires","permalink":"/chime_tts/docs/documentation/notify/adding"},"next":{"title":"Support","permalink":"/chime_tts/docs/support"}}');var o=n(4848),s=n(8453);n(6025);const a={sidebar_position:3,title:"2. Sending Notifications"},r="Sending Notifications",c={},d=[{value:"Basic example",id:"basic-example",level:3},{value:"Example with parameter overrides",id:"example-with-parameter-overrides",level:3}];function l(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"sending-notifications",children:"Sending Notifications"})}),"\n",(0,o.jsx)(t.p,{children:"See the below example for how to send Chime TTS notifications:"}),"\n",(0,o.jsx)(t.h3,{id:"basic-example",children:"Basic example"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:' action: notify.reminder\n data:\n message: "Don\'t forget to pick up the kids!"\n'})}),"\n",(0,o.jsx)(t.h3,{id:"example-with-parameter-overrides",children:"Example with parameter overrides"}),"\n",(0,o.jsxs)(t.p,{children:["In the below example, the [",(0,o.jsx)(t.code,{children:"chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#chime_path) and [",(0,o.jsx)(t.code,{children:"volume_level"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#volume_level) values defined in the ",(0,o.jsx)(t.code,{children:"reminder"})," notify entry are overridden with custom values:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:' action: notify.reminder\n data:\n message: "Don\'t forget to pick up the kids!"\n data:\n chime_path: /media/sounds/chimes/urgent.mp3\n volume_level: 1.0\n'})})]})}function m(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var i=n(6540);const o={},s=i.createContext(o);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[5871],{9754:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"documentation/notify/sending","title":"2. Sending Notifications","description":"See the below example for how to send Chime TTS notifications:","source":"@site/docs/documentation/notify/sending.mdx","sourceDirName":"documentation/notify","slug":"/documentation/notify/sending","permalink":"/chime_tts/docs/documentation/notify/sending","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"2. Sending Notifications"},"sidebar":"tutorialSidebar","previous":{"title":"1. Adding Notify Entires","permalink":"/chime_tts/docs/documentation/notify/adding"},"next":{"title":"Support","permalink":"/chime_tts/docs/support"}}');var o=n(4848),s=n(8453);n(6025);const a={sidebar_position:3,title:"2. Sending Notifications"},r="Sending Notifications",c={},d=[{value:"Basic example",id:"basic-example",level:3},{value:"Example with parameter overrides",id:"example-with-parameter-overrides",level:3}];function l(e){const t={a:"a",code:"code",h1:"h1",h3:"h3",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"sending-notifications",children:"Sending Notifications"})}),"\n",(0,o.jsx)(t.p,{children:"See the below example for how to send Chime TTS notifications:"}),"\n",(0,o.jsx)(t.h3,{id:"basic-example",children:"Basic example"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:' action: notify.reminder\n data:\n message: "Don\'t forget to pick up the kids!"\n'})}),"\n",(0,o.jsx)(t.h3,{id:"example-with-parameter-overrides",children:"Example with parameter overrides"}),"\n",(0,o.jsxs)(t.p,{children:["In the below example, the ",(0,o.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#chime_path",children:(0,o.jsx)(t.code,{children:"chime_path"})})," and ",(0,o.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#volume_level",children:(0,o.jsx)(t.code,{children:"volume_level"})})," values defined in the ",(0,o.jsx)(t.code,{children:"reminder"})," notify entry are overridden with custom values:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:' action: notify.reminder\n data:\n message: "Don\'t forget to pick up the kids!"\n data:\n chime_path: /media/sounds/chimes/urgent.mp3\n volume_level: 1.0\n'})})]})}function m(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var i=n(6540);const o={},s=i.createContext(o);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/786b7750.614dce14.js b/assets/js/786b7750.614dce14.js new file mode 100644 index 00000000..101a76ad --- /dev/null +++ b/assets/js/786b7750.614dce14.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[7183],{6331:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"quick-start/adding-the-integration","title":"2. Adding the Integration","description":"1. Click this button:","source":"@site/docs/quick-start/adding-the-integration.mdx","sourceDirName":"quick-start","slug":"/quick-start/adding-the-integration","permalink":"/chime_tts/docs/quick-start/adding-the-integration","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"1. Installation","permalink":"/chime_tts/docs/quick-start/installing-chime-tts"},"next":{"title":"3. Additional Requirements","permalink":"/chime_tts/docs/quick-start/additional-requirements"}}');var s=n(4848),o=n(8453),r=n(6025);const a={sidebar_position:2},c="2. Adding the Integration",d={},l=[{value:"You should now be ready to start using Chime TTS!",id:"you-should-now-be-ready-to-start-using-chime-tts",level:4}];function h(t){const e={a:"a",code:"code",h1:"h1",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",...(0,o.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"2-adding-the-integration",children:"2. Adding the Integration"})}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Click this button:\n",(0,s.jsx)("a",{href:"https://my.home-assistant.io/redirect/config_flow_start/?domain=chime_tts",children:(0,s.jsx)("img",{src:"https://my.home-assistant.io/badges/config_flow_start.svg",alt:"Open your Home Assistant instance and start setting up a new integration."})})," to add the integration."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Click ",(0,s.jsx)(e.code,{children:"OK"}),":"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)("img",{src:(0,r.Ay)("/img/quick-start/setup.png")}),"\n",(0,s.jsxs)(e.ol,{start:"3",children:["\n",(0,s.jsxs)(e.li,{children:["Click ",(0,s.jsx)(e.code,{children:"FINISH"})]}),"\n"]}),"\n",(0,s.jsx)("img",{src:(0,r.Ay)("/img/quick-start/success.png")}),"\n",(0,s.jsx)(e.h4,{id:"you-should-now-be-ready-to-start-using-chime-tts",children:"You should now be ready to start using Chime TTS!"}),"\n",(0,s.jsxs)(e.p,{children:["To get started, explore the different ",(0,s.jsx)(e.a,{href:"/chime_tts/docs/documentation/actions/",children:"actions"})," now available in your Home Assistant instance."]})]})}function u(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(h,{...t})}):h(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>a});var i=n(6540);const s={},o=i.createContext(s);function r(t){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),i.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/786b7750.ccf3ace7.js b/assets/js/786b7750.ccf3ace7.js deleted file mode 100644 index 5cdc88e2..00000000 --- a/assets/js/786b7750.ccf3ace7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[7183],{6331:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"quick-start/adding-the-integration","title":"2. Adding the Integration","description":"1. Click this button:","source":"@site/docs/quick-start/adding-the-integration.mdx","sourceDirName":"quick-start","slug":"/quick-start/adding-the-integration","permalink":"/chime_tts/docs/quick-start/adding-the-integration","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"1. Installation","permalink":"/chime_tts/docs/quick-start/installing-chime-tts"},"next":{"title":"3. Additional Requirements","permalink":"/chime_tts/docs/quick-start/additional-requirements"}}');var s=n(4848),o=n(8453),r=n(6025);const a={sidebar_position:2},c="2. Adding the Integration",d={},l=[{value:"You should now be ready to start using Chime TTS!",id:"you-should-now-be-ready-to-start-using-chime-tts",level:4}];function h(t){const e={code:"code",h1:"h1",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",...(0,o.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"2-adding-the-integration",children:"2. Adding the Integration"})}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Click this button:\n",(0,s.jsx)("a",{href:"https://my.home-assistant.io/redirect/config_flow_start/?domain=chime_tts",children:(0,s.jsx)("img",{src:"https://my.home-assistant.io/badges/config_flow_start.svg",alt:"Open your Home Assistant instance and start setting up a new integration."})})," to add the integration."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Click ",(0,s.jsx)(e.code,{children:"OK"}),":"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)("img",{src:(0,r.Ay)("/img/quick-start/setup.png")}),"\n",(0,s.jsxs)(e.ol,{start:"3",children:["\n",(0,s.jsxs)(e.li,{children:["Click ",(0,s.jsx)(e.code,{children:"FINISH"})]}),"\n"]}),"\n",(0,s.jsx)("img",{src:(0,r.Ay)("/img/quick-start/success.png")}),"\n",(0,s.jsx)(e.h4,{id:"you-should-now-be-ready-to-start-using-chime-tts",children:"You should now be ready to start using Chime TTS!"}),"\n",(0,s.jsx)(e.p,{children:"To get started, explore the different [actions]((/chime_tts/docs/documentation/actions/) now available in your Home Assistant instance."})]})}function u(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(h,{...t})}):h(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>a});var i=n(6540);const s={},o=i.createContext(s);function r(t){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),i.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/830e464d.99e65018.js b/assets/js/830e464d.99e65018.js new file mode 100644 index 00000000..b58cc241 --- /dev/null +++ b/assets/js/830e464d.99e65018.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[5243],{9512:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"quick-start/additional-requirements","title":"3. Additional Requirements","description":"Additional Requirements","source":"@site/docs/quick-start/additional-requirements.mdx","sourceDirName":"quick-start","slug":"/quick-start/additional-requirements","permalink":"/chime_tts/docs/quick-start/additional-requirements","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"3. Additional Requirements"},"sidebar":"tutorialSidebar","previous":{"title":"2. Adding the Integration","permalink":"/chime_tts/docs/quick-start/adding-the-integration"},"next":{"title":"1. Documentation","permalink":"/chime_tts/docs/documentation/"}}');var s=i(4848),r=i(8453);i(6025);const o={sidebar_position:3,title:"3. Additional Requirements"},a=void 0,d={},l=[{value:"Additional Requirements",id:"additional-requirements",level:2},{value:"TTS Platforms",id:"tts-platforms",level:3},{value:"Alexa Devices",id:"alexa-devices",level:3}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"additional-requirements",children:"Additional Requirements"}),"\n",(0,s.jsxs)(t.p,{children:["You might run into issues when first using Chime TTS ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions",children:"actions"}),". There are some additional requirements that you may need to implement, depending on your setup."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"tts-platforms",children:"TTS Platforms"}),"\n",(0,s.jsxs)(t.p,{children:["You must have add at least one ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://www.home-assistant.io/integrations/#text-to-speech",children:"TTS platform"})})," configured in order for Chime TTS to generate TTS audio,"]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"alexa-devices",children:"Alexa Devices"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://github.com/alandtse/alexa_media_player",children:"Alexa Media Player"})," media_player entities require MP3 files be publicly accessible from outside your local network.\nIf you do not hear playback from Chime TTS on these media players, you may need to ensure that:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["Your Home Assistant's ",(0,s.jsx)(t.code,{children:"configuration.yaml"})," file includes your ",(0,s.jsx)(t.code,{children:"external_url"}),".\nFor example:"]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"configuration.yaml"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:'homeassistant:\n external_url: "https://YOUR_NABU_CASA_ADDRESS.ui.nabu.casa/"\n internal_url: "http://192.168.X.X:8123/"\n'})}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["You have enabled the public facing ",(0,s.jsxs)(t.a,{href:"https://www.home-assistant.io/integrations/http/#hosting-files",children:[(0,s.jsx)(t.code,{children:"/www"})," directory"]}),"."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["Your ",(0,s.jsxs)(t.a,{href:"/chime_tts/docs/documentation/configuration#chime_ttssay_url-folder",children:[(0,s.jsx)(t.code,{children:"chime_tts.say_url"})," folder"]})," exists inside of your ",(0,s.jsxs)(t.a,{href:"https://www.home-assistant.io/integrations/http/#hosting-files",children:[(0,s.jsx)(t.code,{children:"/www"})," directory"]}),"."]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>a});var n=i(6540);const s={},r=n.createContext(s);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/830e464d.f69343aa.js b/assets/js/830e464d.f69343aa.js deleted file mode 100644 index 4af4297a..00000000 --- a/assets/js/830e464d.f69343aa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[5243],{9512:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"quick-start/additional-requirements","title":"3. Additional Requirements","description":"Additional Requirements","source":"@site/docs/quick-start/additional-requirements.mdx","sourceDirName":"quick-start","slug":"/quick-start/additional-requirements","permalink":"/chime_tts/docs/quick-start/additional-requirements","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"3. Additional Requirements"},"sidebar":"tutorialSidebar","previous":{"title":"2. Adding the Integration","permalink":"/chime_tts/docs/quick-start/adding-the-integration"},"next":{"title":"1. Documentation","permalink":"/chime_tts/docs/documentation/"}}');var s=i(4848),r=i(8453);i(6025);const o={sidebar_position:3,title:"3. Additional Requirements"},a=void 0,d={},l=[{value:"Additional Requirements",id:"additional-requirements",level:2},{value:"TTS Platforms",id:"tts-platforms",level:3},{value:"Alexa Devices",id:"alexa-devices",level:3}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"additional-requirements",children:"Additional Requirements"}),"\n",(0,s.jsx)(t.p,{children:"You might run into issues when first using Chime TTS [actions]((/chime_tts/docs/documentation/actions). There are some additional requirements that you may need to implement, depending on your setup."}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"tts-platforms",children:"TTS Platforms"}),"\n",(0,s.jsxs)(t.p,{children:["You must have add at least one ",(0,s.jsx)(t.strong,{children:(0,s.jsx)(t.a,{href:"https://www.home-assistant.io/integrations/#text-to-speech",children:"TTS platform"})})," configured in order for Chime TTS to generate TTS audio,"]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"alexa-devices",children:"Alexa Devices"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://github.com/alandtse/alexa_media_player",children:"Alexa Media Player"})," media_player entities require MP3 files be publicly accessible from outside your local network.\nIf you do not hear playback from Chime TTS on these media players, you may need to ensure that:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["Your Home Assistant's ",(0,s.jsx)(t.code,{children:"configuration.yaml"})," file includes your ",(0,s.jsx)(t.code,{children:"external_url"}),".\nFor example:"]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"configuration.yaml"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:'homeassistant:\n external_url: "https://YOUR_NABU_CASA_ADDRESS.ui.nabu.casa/"\n internal_url: "http://192.168.X.X:8123/"\n'})}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["You have enabled the public facing ",(0,s.jsxs)(t.a,{href:"https://www.home-assistant.io/integrations/http/#hosting-files",children:[(0,s.jsx)(t.code,{children:"/www"})," directory"]}),"."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["Your [",(0,s.jsx)(t.code,{children:"chime_tts.say_url"})," folder]((/chime_tts/docs/documentation/configuration#chime_ttssay_url-folder) exists inside of your ",(0,s.jsxs)(t.a,{href:"https://www.home-assistant.io/integrations/http/#hosting-files",children:[(0,s.jsx)(t.code,{children:"/www"})," directory"]}),"."]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>a});var n=i(6540);const s={},r=n.createContext(s);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/880a0d45.12256b2d.js b/assets/js/880a0d45.12256b2d.js deleted file mode 100644 index 37fe2ad6..00000000 --- a/assets/js/880a0d45.12256b2d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[1899],{7814:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"documentation/notify/index","title":"Notify","description":"You can add Chime TTS notify entries to your configuration.yaml file, each with specific parameter values.","source":"@site/docs/documentation/notify/index.mdx","sourceDirName":"documentation/notify","slug":"/documentation/notify/","permalink":"/chime_tts/docs/documentation/notify/","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Notify"},"sidebar":"tutorialSidebar","previous":{"title":"4. Clear Cache Action","permalink":"/chime_tts/docs/documentation/actions/clear_cache-action"},"next":{"title":"1. Adding Notify Entires","permalink":"/chime_tts/docs/documentation/notify/adding"}}');var s=t(4848),o=t(8453);t(6025);const a={sidebar_position:1,title:"Notify"},c="Chime TTS Notify Entries",r={},l=[{value:"Example Notify Entries",id:"example-notify-entries",level:2},{value:"Why Notify Entries?",id:"why-notify-entries",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"chime-tts-notify-entries",children:"Chime TTS Notify Entries"})}),"\n",(0,s.jsxs)(n.p,{children:["You can add Chime TTS notify entries to your ",(0,s.jsx)(n.code,{children:"configuration.yaml"})," file, each with specific parameter values."]}),"\n",(0,s.jsx)(n.p,{children:"This allows you to create fully customized & reusable notify entries that can be tailored based on the time of day, who is home, or any other use case you can think of."}),"\n",(0,s.jsx)(n.h2,{id:"example-notify-entries",children:"Example Notify Entries"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'An "evening" notify entry limited to play on specific media_players with a softer chime and low volume.'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'An "announcement" notify entry for home-wide announcements at full volume with a loud chime.'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'A "calendar" notify entry used for reminders for upcoming events, that repeats after 5 minutes.'}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"why-notify-entries",children:"Why Notify Entries?"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Convenience"}),": Configure any/all [",(0,s.jsx)(n.code,{children:"chime_tts.say"}),"]((/chime_tts/docs/documentation/actions/say-action) [parameter]((/chime_tts/docs/documentation/actions/say-action/parameters) values (chime paths, media players, TTS platform, language, voice, etc) once for all your use-cases, and reuse."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Flexibility"}),": Retain the ability to override the defined notify settings across your scripts & automations when needed."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Efficiency"}),": Replace long complicated [",(0,s.jsx)(n.code,{children:"chime_tts.say"}),"]((/chime_tts/docs/documentation/actions/say-action) action calls with simple, clean and predefined notify action calls."]}),"\n",(0,s.jsxs)("table",{class:"hide_table",children:[(0,s.jsxs)("tr",{class:"hide_table",children:[(0,s.jsx)("td",{class:"hide_table td_title",children:"Go from this..."}),(0,s.jsx)("td",{class:"hide_table td_title",children:"...to this"})]}),(0,s.jsxs)("tr",{class:"hide_table",children:[(0,s.jsx)("td",{class:"hide_table",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"action: chime_tts.say\ndata:\n chime_path: soft\n offset: -2250\n message: Someone's at the door\n tts_platform: google_translate\n language: en\n tld: com.au\n volume_level: 0.65\n cache: true\n join_players: true\n unjoin_players: true\n announce: true\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.garage\n"})})}),(0,s.jsx)("td",{class:"hide_table",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"action: notify.evening\ndata:\n message: Someone's at the door\n"})})})]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>c});var i=t(6540);const s={},o=i.createContext(s);function a(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/880a0d45.94a144b6.js b/assets/js/880a0d45.94a144b6.js new file mode 100644 index 00000000..1f788521 --- /dev/null +++ b/assets/js/880a0d45.94a144b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[1899],{7814:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"documentation/notify/index","title":"Notify","description":"You can add Chime TTS notify entries to your configuration.yaml file, each with specific parameter values.","source":"@site/docs/documentation/notify/index.mdx","sourceDirName":"documentation/notify","slug":"/documentation/notify/","permalink":"/chime_tts/docs/documentation/notify/","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Notify"},"sidebar":"tutorialSidebar","previous":{"title":"4. Clear Cache Action","permalink":"/chime_tts/docs/documentation/actions/clear_cache-action"},"next":{"title":"1. Adding Notify Entires","permalink":"/chime_tts/docs/documentation/notify/adding"}}');var s=t(4848),o=t(8453);t(6025);const a={sidebar_position:1,title:"Notify"},r="Chime TTS Notify Entries",c={},l=[{value:"Example Notify Entries",id:"example-notify-entries",level:2},{value:"Why Notify Entries?",id:"why-notify-entries",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"chime-tts-notify-entries",children:"Chime TTS Notify Entries"})}),"\n",(0,s.jsxs)(n.p,{children:["You can add Chime TTS notify entries to your ",(0,s.jsx)(n.code,{children:"configuration.yaml"})," file, each with specific parameter values."]}),"\n",(0,s.jsx)(n.p,{children:"This allows you to create fully customized & reusable notify entries that can be tailored based on the time of day, who is home, or any other use case you can think of."}),"\n",(0,s.jsx)(n.h2,{id:"example-notify-entries",children:"Example Notify Entries"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'An "evening" notify entry limited to play on specific media_players with a softer chime and low volume.'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'An "announcement" notify entry for home-wide announcements at full volume with a loud chime.'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'A "calendar" notify entry used for reminders for upcoming events, that repeats after 5 minutes.'}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"why-notify-entries",children:"Why Notify Entries?"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Convenience"}),": Configure any/all ",(0,s.jsx)(n.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(n.code,{children:"chime_tts.say"})})," ",(0,s.jsx)(n.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters",children:"parameter"})," values (chime paths, media players, TTS platform, language, voice, etc) once for all your use-cases, and reuse."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Flexibility"}),": Retain the ability to override the defined notify settings across your scripts & automations when needed."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Efficiency"}),": Replace long complicated ",(0,s.jsx)(n.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(n.code,{children:"chime_tts.say"})})," action calls with simple, clean and predefined notify action calls."]}),"\n",(0,s.jsxs)("table",{class:"hide_table",children:[(0,s.jsxs)("tr",{class:"hide_table",children:[(0,s.jsx)("td",{class:"hide_table td_title",children:"Go from this..."}),(0,s.jsx)("td",{class:"hide_table td_title",children:"...to this"})]}),(0,s.jsxs)("tr",{class:"hide_table",children:[(0,s.jsx)("td",{class:"hide_table",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"action: chime_tts.say\ndata:\n chime_path: soft\n offset: -2250\n message: Someone's at the door\n tts_platform: google_translate\n language: en\n tld: com.au\n volume_level: 0.65\n cache: true\n join_players: true\n unjoin_players: true\n announce: true\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.garage\n"})})}),(0,s.jsx)("td",{class:"hide_table",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"action: notify.evening\ndata:\n message: Someone's at the door\n"})})})]})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>r});var i=t(6540);const s={},o=i.createContext(s);function a(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ab06a08.0fd7da8b.js b/assets/js/9ab06a08.0fd7da8b.js new file mode 100644 index 00000000..03d0f80e --- /dev/null +++ b/assets/js/9ab06a08.0fd7da8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[800],{4555:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>c,metadata:()=>t,toc:()=>h});const t=JSON.parse('{"id":"documentation/actions/say-action/index","title":"1. Say Action","description":"The chimetts.say action joins together audio files (*\\"chimes\\"*) and TTS audio as a new MP3 file, locally, for playback on mediaplayer target/s.","source":"@site/docs/documentation/actions/say-action/index.mdx","sourceDirName":"documentation/actions/say-action","slug":"/documentation/actions/say-action/","permalink":"/chime_tts/docs/documentation/actions/say-action/","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"1. Say Action"},"sidebar":"tutorialSidebar","previous":{"title":"1. Actions","permalink":"/chime_tts/docs/documentation/actions/"},"next":{"title":"Parameters","permalink":"/chime_tts/docs/documentation/actions/say-action/parameters"}}');var n=i(4848),a=i(8453),o=i(6025);const c={sidebar_position:1,title:"1. Say Action"},r="chime_tts.say Action",l={},h=[{value:"Action Calls",id:"action-calls",level:2},{value:"Parameters",id:"parameters",level:2},{value:"Examples",id:"examples",level:2},{value:"TTS Platforms",id:"tts-platforms",level:2},{value:"TTS Platform-Specific Options",id:"tts-platform-specific-options",level:3},{value:"Chimes",id:"chimes",level:2},{value:"Selecting Chimes",id:"selecting-chimes",level:3},{value:"Selecting Chimes from the User-Interface",id:"selecting-chimes-from-the-user-interface",level:3},{value:"Preset Chimes",id:"preset-chimes",level:4},{value:"Custom Chimes Folder",id:"custom-chimes-folder",level:4},{value:"DEPRECATED: Custom Chime Slots",id:"deprecated-custom-chime-slots",level:3},{value:"Custom local audio files and external URLs",id:"custom-local-audio-files-and-external-urls",level:3},{value:"Local Files",id:"local-files",level:4},{value:"External audio file URLs",id:"external-audio-file-urls",level:4},{value:"Alexa Smart Speakers",id:"alexa-smart-speakers",level:2}];function d(e){const s={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsxs)(s.h1,{id:"chime_ttssay-action",children:[(0,n.jsx)(s.code,{children:"chime_tts.say"})," Action"]})}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"chime_tts.say"})," action joins together audio files (",(0,n.jsx)(s.em,{children:'"chimes"'}),") and TTS audio as a new MP3 file, locally, for playback on ",(0,n.jsx)(s.code,{children:"media_player"})," target/s."]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"action-calls",children:"Action Calls"}),"\n",(0,n.jsx)(s.p,{children:"Each action call is run synchronously so that any additional calls in the automation/script are delayed until the notification has finished playback."}),"\n",(0,n.jsx)(s.p,{children:"If additional calls are made before the current call is finished, it is added to a queue and run once the current action call has completed."}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters",children:"parameters"})," page provides explanations for each parameter supported by Chime TTS"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"examples",children:"Examples"}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.a,{href:"./examples",children:"examples"})," page demonstates the full scope of what's possible with Chime TTS."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["See ",(0,n.jsx)(s.a,{href:"./examples#basic-tts-audio",children:"basic"})," notification examples cover simple calls"]}),"\n",(0,n.jsxs)(s.li,{children:["See ",(0,n.jsx)(s.a,{href:"./examples#more-complex-examples",children:"complex"})," notifications which involve adjusting audio properties"]}),"\n",(0,n.jsxs)(s.li,{children:["See ",(0,n.jsx)(s.a,{href:"./examples#message-segments",children:"message segments"}),", used for messages with multiple chimes and TTS, and offers more options."]}),"\n"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"tts-platforms",children:"TTS Platforms"}),"\n",(0,n.jsxs)(s.admonition,{title:"BYO TTS Platforms",type:"info",children:[(0,n.jsxs)(s.p,{children:["Chime TTS is not a TTS platform. It utilizes ",(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"https://www.home-assistant.io/integrations/#text-to-speech",children:"TTS integrations"})})," installed to your Home Assistant instance."]}),(0,n.jsxs)(s.p,{children:["Any TTS platform you wish to use ",(0,n.jsx)(s.em,{children:(0,n.jsx)(s.strong,{children:"must be configured separately."})})]})]}),"\n",(0,n.jsx)(s.h3,{id:"tts-platform-specific-options",children:"TTS Platform-Specific Options"}),"\n",(0,n.jsxs)(s.p,{children:["Each TTS platform offers its own set of options, which can also be used with Chime TTS in the ",(0,n.jsx)(s.code,{children:"options"})," parameter. Several key TTS platform parameters exist as separate parameters in Chime TTS (",(0,n.jsx)(s.em,{children:"see"})," ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),(0,n.jsxs)(s.em,{children:["'s ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#additional-parameters",children:"additional parameters"})," documentation for more"]}),")."]}),"\n",(0,n.jsx)(s.h2,{id:"chimes",children:"Chimes"}),"\n",(0,n.jsx)(s.p,{children:"Chime audio files can be incorporated into your notifications in a number of ways:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Before"})," TTS audio ",(0,n.jsx)(s.em,{children:"(using the"})," ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#chime_path",children:(0,n.jsx)(s.code,{children:"chime_path"})})," ",(0,n.jsx)(s.em,{children:"parameter)."})]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"After"})," TTS audio ",(0,n.jsx)(s.em,{children:"(using the"})," ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path",children:(0,n.jsx)(s.code,{children:"end_chime_path"})})," ",(0,n.jsx)(s.em,{children:"parameter)"}),", and"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Between"})," TTS audio segments ",(0,n.jsx)(s.em,{children:"(using"})," ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#advanced-usage-segment-sequences",children:(0,n.jsx)(s.code,{children:"message"})})," ",(0,n.jsx)(s.em,{children:"segments)."})]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"selecting-chimes",children:"Selecting Chimes"}),"\n",(0,n.jsxs)(s.p,{children:["You can specify which chime/s to incorporate into your notifications by selecting a chime from the ",(0,n.jsx)(s.a,{href:"#selecting-chimes-from-the-user-interface",children:"drop-down lists in the user interface"})," for both the ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#chime_path",children:(0,n.jsx)(s.code,{children:"chime_path"})})," and ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path",children:(0,n.jsx)(s.code,{children:"end_chime_path"})})," parameters - as well as by specifying ",(0,n.jsx)(s.a,{href:"#local-files",children:"local"})," or ",(0,n.jsx)(s.a,{href:"#external-audio-file-urls",children:"remote"})," file paths to audio files."]}),"\n",(0,n.jsxs)(s.p,{children:["You can also add your own chimes from a local ",(0,n.jsx)(s.a,{href:"#custom-chimes-folder",children:"Custom Chimes Folder"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"selecting-chimes-from-the-user-interface",children:"Selecting Chimes from the User-Interface"}),"\n",(0,n.jsx)(s.p,{children:"Simply use the drop-down chime list in the UI to set a chime:"}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/chime_options.gif")}),"\n",(0,n.jsx)(s.h4,{id:"preset-chimes",children:"Preset Chimes"}),"\n",(0,n.jsxs)(s.p,{children:["You can find the preset chimes that ship with Chime TTS ",(0,n.jsx)(s.a,{href:"https://github.com/nimroddolev/chime_tts/tree/main/custom_components/chime_tts/mp3s",children:"here"}),"."]}),"\n",(0,n.jsx)(s.h4,{id:"custom-chimes-folder",children:"Custom Chimes Folder"}),"\n",(0,n.jsxs)(s.p,{children:["To add your own chimes, you can specify a local folder ",(0,n.jsx)(s.a,{href:"../../configuration#custom-chimes-folder",children:"in the Chime TTS configuration page"}),", containing chime audio files.\n",(0,n.jsx)(s.strong,{children:"After restarting Home Assistant"}),", the chimes will be added to the ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#chime_path",children:(0,n.jsx)(s.code,{children:"chime_path"})})," and ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path",children:(0,n.jsx)(s.code,{children:"end_chime_path"})})," drop down lists."]}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/custom_chimes_dropdown.png")}),"\n",(0,n.jsx)(s.p,{children:"You can also refer to your custom chimes in your YAML code by their file name (without the full path or file extension), eg:"}),"\n",(0,n.jsxs)("table",{class:"hide_table",children:[(0,n.jsxs)("tr",{class:"hide_table",children:[(0,n.jsx)("td",{class:"hide_table td_title",children:"Go from this..."}),(0,n.jsx)("td",{class:"hide_table td_title",children:"...to this"})]}),(0,n.jsxs)("tr",{class:"hide_table",children:[(0,n.jsx)("td",{class:"hide_table",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-yaml",children:"action: chime_tts.say\ndata:\n chime_path: /media/chime_tts/custom_chimes/bell.mp3\n message: Someone's at the door\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.garage\n"})})}),(0,n.jsx)("td",{class:"hide_table",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-yaml",children:"action: chime_tts.say\ndata:\n chime_path: bell\n message: Someone's at the door\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.garage\n"})})})]})]}),"\n",(0,n.jsx)(s.admonition,{title:"Restart Required",type:"warning",children:(0,n.jsxs)(s.p,{children:["Changing the ",(0,n.jsx)(s.a,{href:"../../configuration#custom-chimes-folder",children:"Custom Chimes Folder path"}),", or the folder's contents will require a restart of Home Assistant."]})}),"\n",(0,n.jsx)(s.h3,{id:"deprecated-custom-chime-slots",children:"DEPRECATED: Custom Chime Slots"}),"\n",(0,n.jsxs)(s.p,{children:["Until v1.1.0, users could use up to 5 custom chime slots to use custom chimes in scripts and automations. From version v1.1.0, custom chime slots have been deprecated in favour of the ",(0,n.jsx)(s.a,{href:"#custom-chimes-folder",children:"Custom Chimes Folder"}),".\nIt is recommended to migrate to using the ",(0,n.jsx)(s.a,{href:"#custom-chimes-folder",children:"Custom Chimes Folder"})," instead, as it is no longer to assign paths to the custom slots (which would break automations if you need to reinstall Home Assistant/Chime TTS)."]}),"\n",(0,n.jsxs)(s.p,{children:["Automations and scripts with references to custom slots (eg: ",(0,n.jsx)(s.code,{children:"chime_path: custom_chime_path_3"}),") will continue to work as normal but can no longer be modified."]}),"\n",(0,n.jsx)(s.h3,{id:"custom-local-audio-files-and-external-urls",children:"Custom local audio files and external URLs"}),"\n",(0,n.jsx)(s.p,{children:"You can specify both local file paths or external URLs to your own audio files."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.h4,{id:"local-files",children:"Local Files"}),"\n",(0,n.jsx)(s.p,{children:"You can specify absolute local file paths to audio files in your Home Assistant instance's media folder, or any other folder."}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/chime_path.png")}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.h4,{id:"external-audio-file-urls",children:"External audio file URLs"}),"\n",(0,n.jsxs)(s.p,{children:["You can also specify URLs to audio files hosted online, which will be downloaded and optionally saved locally them to your ",(0,n.jsx)(s.a,{href:"../../configuration",children:"Downloaded Chimes Folder"})," when the ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#cache",children:(0,n.jsx)(s.code,{children:"cache"})})," property is set to ",(0,n.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/external_chime_path.png")}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"alexa-smart-speakers",children:"Alexa Smart Speakers"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS playback on Alexa smart speakers requires the ",(0,n.jsx)(s.a,{href:"https://github.com/alandtse/alexa_media_player",children:"Alexa Media Player"})," integration."]}),"\n",(0,n.jsxs)(s.p,{children:["Alexa speakers can only play publicly available audio files, therefore you need to include your public-facing Home Assistant address in your ",(0,n.jsx)(s.code,{children:"configuration.yaml"})," file:"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{children:'homeassistant:\n external_url: "https://[REPLACE WITH YOUR PUBLIC ADDRESS]:8123/"\n internal_url: "http://[REPLACE WITH YOUR LOCAL IP ADDRESS]:8123/"\n'})})]})}function m(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,s,i)=>{i.d(s,{R:()=>o,x:()=>c});var t=i(6540);const n={},a=t.createContext(n);function o(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9ab06a08.10609872.js b/assets/js/9ab06a08.10609872.js deleted file mode 100644 index 6b9de5aa..00000000 --- a/assets/js/9ab06a08.10609872.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[800],{4555:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>c,metadata:()=>t,toc:()=>h});const t=JSON.parse('{"id":"documentation/actions/say-action/index","title":"1. Say Action","description":"The chimetts.say action joins together audio files (*\\"chimes\\"*) and TTS audio as a new MP3 file, locally, for playback on mediaplayer target/s.","source":"@site/docs/documentation/actions/say-action/index.mdx","sourceDirName":"documentation/actions/say-action","slug":"/documentation/actions/say-action/","permalink":"/chime_tts/docs/documentation/actions/say-action/","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"1. Say Action"},"sidebar":"tutorialSidebar","previous":{"title":"1. Actions","permalink":"/chime_tts/docs/documentation/actions/"},"next":{"title":"Parameters","permalink":"/chime_tts/docs/documentation/actions/say-action/parameters"}}');var n=i(4848),a=i(8453),o=i(6025);const c={sidebar_position:1,title:"1. Say Action"},l="chime_tts.say Action",r={},h=[{value:"Action Calls",id:"action-calls",level:2},{value:"Parameters",id:"parameters",level:2},{value:"Examples",id:"examples",level:2},{value:"TTS Platforms",id:"tts-platforms",level:2},{value:"TTS Platform-Specific Options",id:"tts-platform-specific-options",level:3},{value:"Chimes",id:"chimes",level:2},{value:"Selecting Chimes",id:"selecting-chimes",level:3},{value:"Selecting Chimes from the User-Interface",id:"selecting-chimes-from-the-user-interface",level:3},{value:"Preset Chimes",id:"preset-chimes",level:4},{value:"Custom Chimes Folder",id:"custom-chimes-folder",level:4},{value:"DEPRECATED: Custom Chime Slots",id:"deprecated-custom-chime-slots",level:3},{value:"Custom local audio files and external URLs",id:"custom-local-audio-files-and-external-urls",level:3},{value:"Local Files",id:"local-files",level:4},{value:"External audio file URLs",id:"external-audio-file-urls",level:4},{value:"Alexa Smart Speakers",id:"alexa-smart-speakers",level:2}];function d(e){const s={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsxs)(s.h1,{id:"chime_ttssay-action",children:[(0,n.jsx)(s.code,{children:"chime_tts.say"})," Action"]})}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"chime_tts.say"})," action joins together audio files (",(0,n.jsx)(s.em,{children:'"chimes"'}),") and TTS audio as a new MP3 file, locally, for playback on ",(0,n.jsx)(s.code,{children:"media_player"})," target/s."]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"action-calls",children:"Action Calls"}),"\n",(0,n.jsx)(s.p,{children:"Each action call is run synchronously so that any additional calls in the automation/script are delayed until the notification has finished playback."}),"\n",(0,n.jsx)(s.p,{children:"If additional calls are made before the current call is finished, it is added to a queue and run once the current action call has completed."}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(s.p,{children:"The [parameters]((/chime_tts/docs/documentation/actions/say-action/parameters) page provides explanations for each parameter supported by Chime TTS"}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"examples",children:"Examples"}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.a,{href:"./examples",children:"examples"})," page demonstates the full scope of what's possible with Chime TTS."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["See ",(0,n.jsx)(s.a,{href:"./examples#basic-tts-audio",children:"basic"})," notification examples cover simple calls"]}),"\n",(0,n.jsxs)(s.li,{children:["See ",(0,n.jsx)(s.a,{href:"./examples#more-complex-examples",children:"complex"})," notifications which involve adjusting audio properties"]}),"\n",(0,n.jsxs)(s.li,{children:["See ",(0,n.jsx)(s.a,{href:"./examples#message-segments",children:"message segments"}),", used for messages with multiple chimes and TTS, and offers more options."]}),"\n"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h2,{id:"tts-platforms",children:"TTS Platforms"}),"\n",(0,n.jsxs)(s.admonition,{title:"BYO TTS Platforms",type:"info",children:[(0,n.jsxs)(s.p,{children:["Chime TTS is not a TTS platform. It utilizes ",(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"https://www.home-assistant.io/integrations/#text-to-speech",children:"TTS integrations"})})," installed to your Home Assistant instance."]}),(0,n.jsxs)(s.p,{children:["Any TTS platform you wish to use ",(0,n.jsx)(s.em,{children:(0,n.jsx)(s.strong,{children:"must be configured separately."})})]})]}),"\n",(0,n.jsx)(s.h3,{id:"tts-platform-specific-options",children:"TTS Platform-Specific Options"}),"\n",(0,n.jsxs)(s.p,{children:["Each TTS platform offers its own set of options, which can also be used with Chime TTS in the ",(0,n.jsx)(s.code,{children:"options"})," parameter. Several key TTS platform parameters exist as separate parameters in Chime TTS (",(0,n.jsx)(s.em,{children:"see"})," ",(0,n.jsx)(s.code,{children:"chime_tts.say"}),(0,n.jsx)(s.em,{children:"'s [additional parameters]((/chime_tts/docs/documentation/actions/say-action/parameters#additional-parameters) documentation for more"}),")."]}),"\n",(0,n.jsx)(s.h2,{id:"chimes",children:"Chimes"}),"\n",(0,n.jsx)(s.p,{children:"Chime audio files can be incorporated into your notifications in a number of ways:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Before"})," TTS audio ",(0,n.jsx)(s.em,{children:"(using the"})," [",(0,n.jsx)(s.code,{children:"chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#chime_path) ",(0,n.jsx)(s.em,{children:"parameter)."})]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"After"})," TTS audio ",(0,n.jsx)(s.em,{children:"(using the"})," [",(0,n.jsx)(s.code,{children:"end_chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path) ",(0,n.jsx)(s.em,{children:"parameter)"}),", and"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Between"})," TTS audio segments ",(0,n.jsx)(s.em,{children:"(using"})," [",(0,n.jsx)(s.code,{children:"message"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#advanced-usage-segment-sequences) ",(0,n.jsx)(s.em,{children:"segments)."})]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"selecting-chimes",children:"Selecting Chimes"}),"\n",(0,n.jsxs)(s.p,{children:["You can specify which chime/s to incorporate into your notifications by selecting a chime from the ",(0,n.jsx)(s.a,{href:"#selecting-chimes-from-the-user-interface",children:"drop-down lists in the user interface"})," for both the [",(0,n.jsx)(s.code,{children:"chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#chime_path) and [",(0,n.jsx)(s.code,{children:"end_chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path) parameters - as well as by specifying ",(0,n.jsx)(s.a,{href:"#local-files",children:"local"})," or ",(0,n.jsx)(s.a,{href:"#external-audio-file-urls",children:"remote"})," file paths to audio files."]}),"\n",(0,n.jsxs)(s.p,{children:["You can also add your own chimes from a local ",(0,n.jsx)(s.a,{href:"#custom-chimes-folder",children:"Custom Chimes Folder"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"selecting-chimes-from-the-user-interface",children:"Selecting Chimes from the User-Interface"}),"\n",(0,n.jsx)(s.p,{children:"Simply use the drop-down chime list in the UI to set a chime:"}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/chime_options.gif")}),"\n",(0,n.jsx)(s.h4,{id:"preset-chimes",children:"Preset Chimes"}),"\n",(0,n.jsxs)(s.p,{children:["You can find the preset chimes that ship with Chime TTS ",(0,n.jsx)(s.a,{href:"https://github.com/nimroddolev/chime_tts/tree/main/custom_components/chime_tts/mp3s",children:"here"}),"."]}),"\n",(0,n.jsx)(s.h4,{id:"custom-chimes-folder",children:"Custom Chimes Folder"}),"\n",(0,n.jsxs)(s.p,{children:["To add your own chimes, you can specify a local folder ",(0,n.jsx)(s.a,{href:"../../configuration#custom-chimes-folder",children:"in the Chime TTS configuration page"}),", containing chime audio files.\n",(0,n.jsx)(s.strong,{children:"After restarting Home Assistant"}),", the chimes will be added to the [",(0,n.jsx)(s.code,{children:"chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#chime_path) and [",(0,n.jsx)(s.code,{children:"end_chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path) drop down lists."]}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/custom_chimes_dropdown.png")}),"\n",(0,n.jsx)(s.p,{children:"You can also refer to your custom chimes in your YAML code by their file name (without the full path or file extension), eg:"}),"\n",(0,n.jsxs)("table",{class:"hide_table",children:[(0,n.jsxs)("tr",{class:"hide_table",children:[(0,n.jsx)("td",{class:"hide_table td_title",children:"Go from this..."}),(0,n.jsx)("td",{class:"hide_table td_title",children:"...to this"})]}),(0,n.jsxs)("tr",{class:"hide_table",children:[(0,n.jsx)("td",{class:"hide_table",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-yaml",children:"action: chime_tts.say\ndata:\n chime_path: /media/chime_tts/custom_chimes/bell.mp3\n message: Someone's at the door\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.garage\n"})})}),(0,n.jsx)("td",{class:"hide_table",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-yaml",children:"action: chime_tts.say\ndata:\n chime_path: bell\n message: Someone's at the door\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.garage\n"})})})]})]}),"\n",(0,n.jsx)(s.admonition,{title:"Restart Required",type:"warning",children:(0,n.jsxs)(s.p,{children:["Changing the ",(0,n.jsx)(s.a,{href:"../../configuration#custom-chimes-folder",children:"Custom Chimes Folder path"}),", or the folder's contents will require a restart of Home Assistant."]})}),"\n",(0,n.jsx)(s.h3,{id:"deprecated-custom-chime-slots",children:"DEPRECATED: Custom Chime Slots"}),"\n",(0,n.jsxs)(s.p,{children:["Until v1.1.0, users could use up to 5 custom chime slots to use custom chimes in scripts and automations. From version v1.1.0, custom chime slots have been deprecated in favour of the ",(0,n.jsx)(s.a,{href:"#custom-chimes-folder",children:"Custom Chimes Folder"}),".\nIt is recommended to migrate to using the ",(0,n.jsx)(s.a,{href:"#custom-chimes-folder",children:"Custom Chimes Folder"})," instead, as it is no longer to assign paths to the custom slots (which would break automations if you need to reinstall Home Assistant/Chime TTS)."]}),"\n",(0,n.jsxs)(s.p,{children:["Automations and scripts with references to custom slots (eg: ",(0,n.jsx)(s.code,{children:"chime_path: custom_chime_path_3"}),") will continue to work as normal but can no longer be modified."]}),"\n",(0,n.jsx)(s.h3,{id:"custom-local-audio-files-and-external-urls",children:"Custom local audio files and external URLs"}),"\n",(0,n.jsx)(s.p,{children:"You can specify both local file paths or external URLs to your own audio files."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.h4,{id:"local-files",children:"Local Files"}),"\n",(0,n.jsx)(s.p,{children:"You can specify absolute local file paths to audio files in your Home Assistant instance's media folder, or any other folder."}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/chime_path.png")}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.h4,{id:"external-audio-file-urls",children:"External audio file URLs"}),"\n",(0,n.jsxs)(s.p,{children:["You can also specify URLs to audio files hosted online, which will be downloaded and optionally saved locally them to your ",(0,n.jsx)(s.a,{href:"../../configuration",children:"Downloaded Chimes Folder"})," when the ",(0,n.jsx)(s.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#cache",children:(0,n.jsx)(s.code,{children:"cache"})})," property is set to ",(0,n.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,n.jsx)("img",{src:(0,o.Ay)("/img/say/external_chime_path.png")}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"alexa-smart-speakers",children:"Alexa Smart Speakers"}),"\n",(0,n.jsxs)(s.p,{children:["Chime TTS playback on Alexa smart speakers requires the ",(0,n.jsx)(s.a,{href:"https://github.com/alandtse/alexa_media_player",children:"Alexa Media Player"})," integration."]}),"\n",(0,n.jsxs)(s.p,{children:["Alexa speakers can only play publicly available audio files, therefore you need to include your public-facing Home Assistant address in your ",(0,n.jsx)(s.code,{children:"configuration.yaml"})," file:"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{children:'homeassistant:\n external_url: "https://[REPLACE WITH YOUR PUBLIC ADDRESS]:8123/"\n internal_url: "http://[REPLACE WITH YOUR LOCAL IP ADDRESS]:8123/"\n'})})]})}function m(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,s,i)=>{i.d(s,{R:()=>o,x:()=>c});var t=i(6540);const n={},a=t.createContext(n);function o(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a1ee10bd.77901d09.js b/assets/js/a1ee10bd.77901d09.js new file mode 100644 index 00000000..32d1cd90 --- /dev/null +++ b/assets/js/a1ee10bd.77901d09.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[4890],{7073:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>x,frontMatter:()=>l,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"documentation/configuration","title":"Configuration","description":"You can configure the following options for the chimetts.say and chimetts.sayurl actions through the integration\'s configuration page:","source":"@site/docs/documentation/configuration.mdx","sourceDirName":"documentation","slug":"/documentation/configuration","permalink":"/chime_tts/docs/documentation/configuration","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"1. Documentation","permalink":"/chime_tts/docs/documentation/"},"next":{"title":"1. Actions","permalink":"/chime_tts/docs/documentation/actions/"}}');var s=n(4848),d=n(8453),r=n(6025);const l={sidebar_position:1},c="Configuration",a={},o=[{value:"Timeout",id:"timeout",level:3},{value:"Default TTS Platform",id:"default-tts-platform",level:3},{value:"Default Language",id:"default-language",level:3},{value:"Default Voice",id:"default-voice",level:3},{value:"Default Dialect",id:"default-dialect",level:3},{value:"Fallback TTS Platform",id:"fallback-tts-platform",level:3},{value:"Default Offset",id:"default-offset",level:3},{value:"Fade Transition",id:"fade-transition",level:3},{value:"Delay Before Removing Temporary Files",id:"delay-before-removing-temporary-files",level:3},{value:"Custom Chimes Folder",id:"custom-chimes-folder",level:3},{value:"Downloaded Chimes Folder",id:"downloaded-chimes-folder",level:3},{value:"Temporary MP3 Folder",id:"temporary-mp3-folder",level:3},{value:"chime_tts.say_url Folder",id:"chime_ttssay_url-folder",level:3},{value:"MP3 Cover Art",id:"mp3-cover-art",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h3:"h3",header:"header",hr:"hr",p:"p",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"configuration",children:"Configuration"})}),"\n",(0,s.jsxs)(t.p,{children:["You can configure the following options for the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," and ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say_url"})})," actions through the integration's configuration page:"]}),"\n",(0,s.jsx)("a",{href:"https://my.home-assistant.io/redirect/integration/?domain=chime_tts",alt:"Chime TTS integration",target:"_blank",children:(0,s.jsx)("img",{src:(0,r.Ay)("/img/documentation/show_chime_tts_on_my.png")})}),"\n",(0,s.jsx)(t.h3,{id:"timeout",children:"Timeout"}),"\n",(0,s.jsxs)(t.p,{children:["The duration (in seconds) to wait before cancelling the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," or ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say_url"})})," action calls."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"60"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Increase the timeout duration intend to generate audio longer than 60 seconds in length."})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-tts-platform",children:"Default TTS Platform"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," value to use when not specified."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-language",children:"Default Language"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#language",children:(0,s.jsx)(t.code,{children:"language"})})," value to use if the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," is set to the default TTS platform."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-voice",children:"Default Voice"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#voice",children:(0,s.jsx)(t.code,{children:"voice"})})," value to use if the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," is set to the default TTS platform."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-dialect",children:"Default Dialect"}),"\n",(0,s.jsxs)(t.p,{children:["The default dialect domain (",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tld",children:(0,s.jsx)(t.code,{children:"tld"})}),") value if the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," is set to Google Translate."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"fallback-tts-platform",children:"Fallback TTS Platform"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:"TTS platform"})," to retry generating TTS audio if the specified/default platform failed."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-offset",children:"Default Offset"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#offset",children:"offset"})," duration (in milliseconds) between chimes and TTS audio.",(0,s.jsx)("br",{}),"\nPositive values introduce a delay, while negative values overlap the audio segments."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"450"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"fade-transition",children:"Fade Transition"}),"\n",(0,s.jsxs)(t.p,{children:["The duration (in milliseconds) to fade out the now playing audio ",(0,s.jsx)(t.em,{children:"before"})," an announcement, and then fade it back in ",(0,s.jsx)(t.em,{children:"after"})," the announcement is completed."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.em,{children:["This applies to ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," action calls when the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#announce",children:(0,s.jsx)(t.code,{children:"announce"})})," or ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#fade_audio",children:(0,s.jsx)(t.code,{children:"fade_audio"})})," parameters are used."]})}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"500"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"delay-before-removing-temporary-files",children:"Delay Before Removing Temporary Files"}),"\n",(0,s.jsxs)(t.p,{children:["The delay duaration after ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," playback is completed (in milliseconds), before removing the generated temporary audio file."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"custom-chimes-folder",children:"Custom Chimes Folder"}),"\n",(0,s.jsxs)(t.p,{children:["The local folder path containing custom audio files. Please ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/#custom-chimes-folder",children:"read here"})," for more information."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.admonition,{title:"Restart Requierd",type:"warning",children:(0,s.jsx)(t.p,{children:"Any changes to the folder path or its contents will require a restart to take effect."})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"downloaded-chimes-folder",children:"Downloaded Chimes Folder"}),"\n",(0,s.jsx)(t.p,{children:"The local folder path where downloaded chime MP3 files will be stored."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"{root}/media/sounds/temp/chime_tts/chimes/"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"temporary-mp3-folder",children:"Temporary MP3 Folder"}),"\n",(0,s.jsx)(t.p,{children:"The local folder path where generated MP3 files will be stored."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"{root}/media/sounds/temp/chime_tts/"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.admonition,{title:"Please Note",type:"warning",children:(0,s.jsxs)(t.p,{children:["Make sure the temporary folder path is inside a ",(0,s.jsx)(t.a,{href:"https://www.home-assistant.io/integrations/media_source/",children:"media folder"})," of your Home Assistant, otherwise the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," action will not be able to play the generated MP3 on your media_players."]})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsxs)(t.h3,{id:"chime_ttssay_url-folder",children:[(0,s.jsx)(t.code,{children:"chime_tts.say_url"})," Folder"]}),"\n",(0,s.jsxs)(t.p,{children:["The publicly facing folder path where MP3 files generated by the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say_url"})})," action will be stored."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"{root}/config/www/chime_tts/"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"mp3-cover-art",children:"MP3 Cover Art"}),"\n",(0,s.jsx)(t.p,{children:"When enabled, adds the Chime TTS logo as the cover art in generated MP3 files."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"false"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]})]})}function x(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var i=n(6540);const s={},d=i.createContext(s);function r(e){const t=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a1ee10bd.959f5206.js b/assets/js/a1ee10bd.959f5206.js deleted file mode 100644 index d4d9419c..00000000 --- a/assets/js/a1ee10bd.959f5206.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[4890],{7073:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>x,frontMatter:()=>l,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"documentation/configuration","title":"Configuration","description":"You can configure the following options for the chimetts.say and chimetts.sayurl actions through the integration\'s configuration page:","source":"@site/docs/documentation/configuration.mdx","sourceDirName":"documentation","slug":"/documentation/configuration","permalink":"/chime_tts/docs/documentation/configuration","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"1. Documentation","permalink":"/chime_tts/docs/documentation/"},"next":{"title":"1. Actions","permalink":"/chime_tts/docs/documentation/actions/"}}');var s=n(4848),d=n(8453),r=n(6025);const l={sidebar_position:1},c="Configuration",a={},o=[{value:"Timeout",id:"timeout",level:3},{value:"TTS Audio Generation Timeout",id:"tts-audio-generation-timeout",level:3},{value:"Default TTS Platform",id:"default-tts-platform",level:3},{value:"Default Language",id:"default-language",level:3},{value:"Default Voice",id:"default-voice",level:3},{value:"Default Dialect",id:"default-dialect",level:3},{value:"Fallback TTS Platform",id:"fallback-tts-platform",level:3},{value:"Default Offset",id:"default-offset",level:3},{value:"Fade Transition",id:"fade-transition",level:3},{value:"Delay Before Removing Temporary Files",id:"delay-before-removing-temporary-files",level:3},{value:"Custom Chimes Folder",id:"custom-chimes-folder",level:3},{value:"Downloaded Chimes Folder",id:"downloaded-chimes-folder",level:3},{value:"Temporary MP3 Folder",id:"temporary-mp3-folder",level:3},{value:"chime_tts.say_url Folder",id:"chime_ttssay_url-folder",level:3},{value:"MP3 Cover Art",id:"mp3-cover-art",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h3:"h3",header:"header",hr:"hr",p:"p",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"configuration",children:"Configuration"})}),"\n",(0,s.jsxs)(t.p,{children:["You can configure the following options for the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," and ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say_url"})})," actions through the integration's configuration page:"]}),"\n",(0,s.jsx)("a",{href:"https://my.home-assistant.io/redirect/integration/?domain=chime_tts",alt:"Chime TTS integration",target:"_blank",children:(0,s.jsx)("img",{src:(0,r.Ay)("/img/documentation/show_chime_tts_on_my.png")})}),"\n",(0,s.jsx)(t.h3,{id:"timeout",children:"Timeout"}),"\n",(0,s.jsxs)(t.p,{children:["The duration (in seconds) to wait before cancelling the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," or ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say_url"})})," action calls."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"60"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Increase the timeout duration intend to generate audio longer than 60 seconds in length."})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"tts-audio-generation-timeout",children:"TTS Audio Generation Timeout"}),"\n",(0,s.jsx)(t.p,{children:"The duration (in seconds) to wait before canceling a TTS audio generation attempt."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"30"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-tts-platform",children:"Default TTS Platform"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," value to use when not specified."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-language",children:"Default Language"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#language",children:(0,s.jsx)(t.code,{children:"language"})})," value to use if the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," is set to the default TTS platform."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-voice",children:"Default Voice"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#voice",children:(0,s.jsx)(t.code,{children:"voice"})})," value to use if the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," is set to the default TTS platform."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-dialect",children:"Default Dialect"}),"\n",(0,s.jsxs)(t.p,{children:["The default dialect domain (",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tld",children:(0,s.jsx)(t.code,{children:"tld"})}),") value if the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," is set to Google Translate."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"fallback-tts-platform",children:"Fallback TTS Platform"}),"\n",(0,s.jsx)(t.p,{children:"The TTS platform to use if an error occured when using the specified or default platform."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"default-offset",children:"Default Offset"}),"\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#offset",children:"offset"})," duration (in milliseconds) between chimes and TTS audio.",(0,s.jsx)("br",{}),"\nPositive values introduce a delay, while negative values overlap the audio segments."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"450"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"fade-transition",children:"Fade Transition"}),"\n",(0,s.jsxs)(t.p,{children:["The fade out duration (in milliseconds) of the now playing audio ",(0,s.jsx)(t.em,{children:"before"})," an announcement and fading it duration of the now playing music ",(0,s.jsx)(t.em,{children:"afterwards"}),"."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.em,{children:["This applies to ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," action calls when the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#announce",children:(0,s.jsx)(t.code,{children:"announce"})})," or ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#fade_audio",children:(0,s.jsx)(t.code,{children:"fade_audio"})})," parameters are used."]})}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"500"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"delay-before-removing-temporary-files",children:"Delay Before Removing Temporary Files"}),"\n",(0,s.jsxs)(t.p,{children:["The delay duaration after ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say"})})," playback is completed (in milliseconds), before removing the generated temporary audio file."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"custom-chimes-folder",children:"Custom Chimes Folder"}),"\n",(0,s.jsx)(t.p,{children:"The local folder path containing custom audio files."}),"\n",(0,s.jsxs)(t.p,{children:["Any changes to the folder path or its contents will require a restart to take effect. ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/#custom-chimes-folder",children:"More info"})]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:"None"})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"downloaded-chimes-folder",children:"Downloaded Chimes Folder"}),"\n",(0,s.jsx)(t.p,{children:"The local folder path where downloaded chime MP3 files will be stored."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"{root}/media/sounds/temp/chime_tts/chimes/"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"temporary-mp3-folder",children:"Temporary MP3 Folder"}),"\n",(0,s.jsx)(t.p,{children:"The local folder path where generated MP3 files will be stored."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"{root}/media/sounds/temp/chime_tts/"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.admonition,{title:"Please Note",type:"warning",children:(0,s.jsxs)(t.p,{children:["Make sure the temporary folder path is inside a ",(0,s.jsx)(t.a,{href:"https://www.home-assistant.io/integrations/media_source/",children:"media folder"})," of your Home Assistant, otherwise the [",(0,s.jsx)(t.code,{children:"chime_tts.say"}),"]((/chime_tts/docs/documentation/actions/say-action) action will not be able to play the generated MP3 on your media_players."]})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsxs)(t.h3,{id:"chime_ttssay_url-folder",children:[(0,s.jsx)(t.code,{children:"chime_tts.say_url"})," Folder"]}),"\n",(0,s.jsxs)(t.p,{children:["The publicly facing folder path where MP3 files generated by the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say_url-action",children:(0,s.jsx)(t.code,{children:"chime_tts.say_url"})})," action will be stored."]}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"{root}/config/www/chime_tts/"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"Yes"})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"mp3-cover-art",children:"MP3 Cover Art"}),"\n",(0,s.jsx)(t.p,{children:"When enabled, adds the Chime TTS logo as the cover art in generated MP3 files."}),"\n",(0,s.jsxs)("table",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Default Value:"})}),(0,s.jsx)("td",{children:(0,s.jsx)(t.code,{children:"false"})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:(0,s.jsx)("b",{children:"Required:"})}),(0,s.jsx)("td",{children:"No"})]})]})]})}function x(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var i=n(6540);const s={},d=i.createContext(s);function r(e){const t=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cb0272f0.535f37e4.js b/assets/js/cb0272f0.535f37e4.js deleted file mode 100644 index b6819279..00000000 --- a/assets/js/cb0272f0.535f37e4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[4983],{1380:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"documentation/notify/adding","title":"1. Adding Notify Entires","description":"1. Open your Home Assistant configuration.yaml file.","source":"@site/docs/documentation/notify/adding.mdx","sourceDirName":"documentation/notify","slug":"/documentation/notify/adding","permalink":"/chime_tts/docs/documentation/notify/adding","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"1. Adding Notify Entires"},"sidebar":"tutorialSidebar","previous":{"title":"Notify","permalink":"/chime_tts/docs/documentation/notify/"},"next":{"title":"2. Sending Notifications","permalink":"/chime_tts/docs/documentation/notify/sending"}}');var o=t(4848),r=t(8453);t(6025);const s={sidebar_position:1,title:"1. Adding Notify Entires"},a="Adding Chime TTS Notify Entries",d={},c=[{value:"Basic Chime TTS notify entry",id:"basic-chime-tts-notify-entry",level:3},{value:"Advanced Chime TTS notify entry",id:"advanced-chime-tts-notify-entry",level:3}];function l(e){const n={code:"code",em:"em",h1:"h1",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"adding-chime-tts-notify-entries",children:"Adding Chime TTS Notify Entries"})}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Open your Home Assistant ",(0,o.jsx)(n.code,{children:"configuration.yaml"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["Locate or add the ",(0,o.jsx)(n.code,{children:"notify"})," section within your configuration."]}),"\n",(0,o.jsx)(n.li,{children:"Add 1 or more notify entires (see the example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Include any [",(0,o.jsx)(n.code,{children:"chime_tts.say"}),"]((/chime_tts/docs/documentation/actions/say-action) [parameters]((/chime_tts/docs/documentation/actions/say-action/parameters) and set the default values."]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"basic-chime-tts-notify-entry",children:"Basic Chime TTS notify entry"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"configuration.yaml"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"notify:\n - name: announcements # (required) Choose a recognizable name for your notify entry\n platform: chime_tts # (required)\n entity_id: # (required) List of media players for notifications\n - media_player.kitchen\n - media_player.office\n chime_path: soft\n tts_platform: cloud\n language: en-AU\n"})}),"\n",(0,o.jsx)(n.h3,{id:"advanced-chime-tts-notify-entry",children:"Advanced Chime TTS notify entry"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"configuration.yaml"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"notify:\n - name: reminder\n platform: chime_tts\n chime_path: whistle\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.study\n - media_player.bedroom\n - media_player.spotify\n tts_platform: cloud\n language: en-AU\n voice: TinaNeural\n volume_level: 1\n announce: true\n join_players: true\n unjoin_players: true\n"})})]})}function m(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var i=t(6540);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cb0272f0.f0a8f1c7.js b/assets/js/cb0272f0.f0a8f1c7.js new file mode 100644 index 00000000..700807dd --- /dev/null +++ b/assets/js/cb0272f0.f0a8f1c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[4983],{1380:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"documentation/notify/adding","title":"1. Adding Notify Entires","description":"1. Open your Home Assistant configuration.yaml file.","source":"@site/docs/documentation/notify/adding.mdx","sourceDirName":"documentation/notify","slug":"/documentation/notify/adding","permalink":"/chime_tts/docs/documentation/notify/adding","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"1. Adding Notify Entires"},"sidebar":"tutorialSidebar","previous":{"title":"Notify","permalink":"/chime_tts/docs/documentation/notify/"},"next":{"title":"2. Sending Notifications","permalink":"/chime_tts/docs/documentation/notify/sending"}}');var o=t(4848),r=t(8453);t(6025);const s={sidebar_position:1,title:"1. Adding Notify Entires"},a="Adding Chime TTS Notify Entries",d={},c=[{value:"Basic Chime TTS notify entry",id:"basic-chime-tts-notify-entry",level:3},{value:"Advanced Chime TTS notify entry",id:"advanced-chime-tts-notify-entry",level:3}];function l(e){const n={a:"a",code:"code",em:"em",h1:"h1",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"adding-chime-tts-notify-entries",children:"Adding Chime TTS Notify Entries"})}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Open your Home Assistant ",(0,o.jsx)(n.code,{children:"configuration.yaml"})," file."]}),"\n",(0,o.jsxs)(n.li,{children:["Locate or add the ",(0,o.jsx)(n.code,{children:"notify"})," section within your configuration."]}),"\n",(0,o.jsx)(n.li,{children:"Add 1 or more notify entires (see the example below)."}),"\n",(0,o.jsxs)(n.li,{children:["Include any ",(0,o.jsx)(n.a,{href:"/chime_tts/docs/documentation/actions/say-action",children:(0,o.jsx)(n.code,{children:"chime_tts.say"})})," ",(0,o.jsx)(n.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters",children:"parameters"})," and set the default values."]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"basic-chime-tts-notify-entry",children:"Basic Chime TTS notify entry"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"configuration.yaml"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"notify:\n - name: announcements # (required) Choose a recognizable name for your notify entry\n platform: chime_tts # (required)\n entity_id: # (required) List of media players for notifications\n - media_player.kitchen\n - media_player.office\n chime_path: soft\n tts_platform: cloud\n language: en-AU\n"})}),"\n",(0,o.jsx)(n.h3,{id:"advanced-chime-tts-notify-entry",children:"Advanced Chime TTS notify entry"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"configuration.yaml"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"notify:\n - name: reminder\n platform: chime_tts\n chime_path: whistle\n entity_id:\n - media_player.kitchen\n - media_player.living_room\n - media_player.study\n - media_player.bedroom\n - media_player.spotify\n tts_platform: cloud\n language: en-AU\n voice: TinaNeural\n volume_level: 1\n announce: true\n join_players: true\n unjoin_players: true\n"})})]})}function m(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var i=t(6540);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db86f9ef.c950826f.js b/assets/js/db86f9ef.c950826f.js deleted file mode 100644 index cece4bb0..00000000 --- a/assets/js/db86f9ef.c950826f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[8561],{3502:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>m,frontMatter:()=>c,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"documentation/actions/say-action/examples","title":"Examples","description":"The following YAML examples cover additional features provided by the chime_tts.say action:","source":"@site/docs/documentation/actions/say-action/examples.mdx","sourceDirName":"documentation/actions/say-action","slug":"/documentation/actions/say-action/examples","permalink":"/chime_tts/docs/documentation/actions/say-action/examples","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Examples"},"sidebar":"tutorialSidebar","previous":{"title":"Parameters","permalink":"/chime_tts/docs/documentation/actions/say-action/parameters"},"next":{"title":"2. Say URL Action","permalink":"/chime_tts/docs/documentation/actions/say_url-action/"}}');var s=n(4848),i=n(8453),o=n(6025);const c={sidebar_position:3,title:"Examples"},d="chime_tts.say Examples",r={},l=[{value:"Basic TTS Audio",id:"basic-tts-audio",level:2},{value:"Basic example",id:"basic-example",level:3},{value:"chime_path",id:"chime_path",level:3},{value:"end_chime_path",id:"end_chime_path",level:3},{value:"chime_path and end_chime_path",id:"chime_path-and-end_chime_path",level:3},{value:"More complex examples",id:"more-complex-examples",level:2},{value:"tts_speed",id:"tts_speed",level:3},{value:"Increase speed",id:"increase-speed",level:4},{value:"Decrease speed",id:"decrease-speed",level:4},{value:"tts_pitch",id:"tts_pitch",level:3},{value:"Raise pitch",id:"raise-pitch",level:4},{value:"Lower pitch",id:"lower-pitch",level:4},{value:"Musical Fun",id:"musical-fun",level:4},{value:"offset",id:"offset",level:3},{value:"Positive Offset (delay audio)",id:"positive-offset-delay-audio",level:4},{value:"Negative Offset (overlay audio)",id:"negative-offset-overlay-audio",level:4},{value:"language and tld",id:"language-and-tld",level:3},{value:"join_players",id:"join_players",level:3},{value:"audio_conversion",id:"audio_conversion",level:3},{value:"Message Segments",id:"message-segments",level:2},{value:"tts Segment Type",id:"tts-segment-type",level:3},{value:"chime Segment Type",id:"chime-segment-type",level:3},{value:"delay Segment Type",id:"delay-segment-type",level:3},{value:"repeat",id:"repeat",level:3}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsxs)(t.h1,{id:"chime_ttssay-examples",children:[(0,s.jsx)(t.code,{children:"chime_tts.say"})," Examples"]})}),"\n",(0,s.jsxs)(t.p,{children:["The following YAML examples cover additional features provided by the ",(0,s.jsxs)(t.a,{href:"./",children:[(0,s.jsx)(t.code,{children:"chime_tts.say"})," action"]}),":"]}),"\n",(0,s.jsx)(t.h2,{id:"basic-tts-audio",children:"Basic TTS Audio"}),"\n",(0,s.jsxs)(t.p,{children:["All action calls to ",(0,s.jsxs)(t.a,{href:"./",children:[(0,s.jsx)(t.code,{children:"chime_tts.say"})," action"]})," must include one or more ",(0,s.jsx)(t.code,{children:"media_player"})," entity targets, and a data object with the TTS [",(0,s.jsx)(t.code,{children:"message"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#message) and [",(0,s.jsx)(t.code,{children:"tts_platform"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform) values."]}),"\n",(0,s.jsx)(t.h3,{id:"basic-example",children:"Basic example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/basic.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"chime_path",children:(0,s.jsx)(t.code,{children:"chime_path"})}),"\n",(0,s.jsxs)(t.p,{children:["Use [",(0,s.jsx)(t.code,{children:"chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#chime_path) to play a chime before the TTS audio (using a 'Chime TTS' chime):"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n chime_path: tada\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/chime_path.mp3?v=1"),class:"audio"}),"\n",(0,s.jsx)(t.h3,{id:"end_chime_path",children:(0,s.jsx)(t.code,{children:"end_chime_path"})}),"\n",(0,s.jsxs)(t.p,{children:["Use [",(0,s.jsx)(t.code,{children:"end_chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path) to play a chime after the TTS audio (from your media folder)"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n end_chime_path: /media/sounds/doorbell.mp3\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/end_chime_path.mp3?v=1"),class:"audio"}),"\n",(0,s.jsxs)(t.h3,{id:"chime_path-and-end_chime_path",children:[(0,s.jsx)(t.code,{children:"chime_path"})," and ",(0,s.jsx)(t.code,{children:"end_chime_path"})]}),"\n",(0,s.jsxs)(t.p,{children:["Include both [",(0,s.jsx)(t.code,{children:"chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#chime_path) and [",(0,s.jsx)(t.code,{children:"end_chime_path"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path) to play a chime before and after TTS audio"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n chime_path: drumroll\n end_chime_path: /media/sounds/doorbell.mp3\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/chime_path_end_chime_path.mp3?v=1")}),"\n",(0,s.jsx)(t.h2,{id:"more-complex-examples",children:"More complex examples"}),"\n",(0,s.jsx)(t.h3,{id:"tts_speed",children:(0,s.jsx)(t.code,{children:"tts_speed"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the [",(0,s.jsx)(t.code,{children:"tts_speed"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#tts_speed) parameter to increase/decrease the TTS audio speed"]}),"\n",(0,s.jsx)(t.h4,{id:"increase-speed",children:"Increase speed"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: bells_2\n message: The washing's done!\n tts_platform: amazon_polly\n tts_speed: 150\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/speed_increase.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"decrease-speed",children:"Decrease speed"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: bells_2\n message: The washing's done!\n tts_platform: amazon_polly\n tts_speed: 75\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/speed_decrease.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"tts_pitch",children:(0,s.jsx)(t.code,{children:"tts_pitch"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the [",(0,s.jsx)(t.code,{children:"tts_pitch"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#tts_pitch) parameter to raise/lower the pitch of the TTS audio"]}),"\n",(0,s.jsx)(t.h4,{id:"raise-pitch",children:"Raise pitch"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: chord\n message: The washing's done!\n tts_platform: amazon_polly\n tts_pitch: 5\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/pitch_raise.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"lower-pitch",children:"Lower pitch"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: chord\n message: The washing's done!\n tts_platform: amazon_polly\n tts_pitch: -7\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/pitch_lower.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"musical-fun",children:"Musical Fun"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n tts_platform: google_translate\n message:\n - tts: Laah\n pitch: -12\n speed: 90\n - tts: Laah\n pitch: 0\n speed: 125\n offset: -400\n - tts: Laah\n pitch: 4\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 7\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -15\n speed: 90\n offset: -400\n - tts: Laah\n pitch: -3\n speed: 125\n offset: -400\n - tts: Laah\n pitch: 1\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 4\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -19\n speed: 90\n offset: -400\n - tts: Laah\n pitch: -7\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -3\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 0\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -17\n speed: 90\n offset: -400\n - tts: Laah\n pitch: -5\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -1\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 2\n speed: 125\n offset: -400\n - tts: Laah\n pitch: 12\n speed: 70\n offset: -4916\n - tts: Laah\n pitch: 12\n speed: 70\n offset: -4340\n - tts: Laah\n pitch: 12\n speed: 39.05\n offset: -3950\n - tts: Laah\n pitch: 12\n speed: 125\n offset: -2300\n - tts: Laah\n pitch: 11\n speed: 90\n offset: -2150\n - tts: Laah\n pitch: 9\n speed: 125\n offset: -1800\n - tts: Laah\n pitch: 11\n speed: 90\n offset: -1600\n - tts: Laah\n pitch: 12\n speed: 125\n offset: -1200\n - tts: Laah\n pitch: 15\n speed: 90\n offset: -1000\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/musical_fun.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"offset",children:(0,s.jsx)(t.code,{children:"offset"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the [",(0,s.jsx)(t.code,{children:"offset"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#offset) parameter to shift the start of chime/TTS audio backward (to overlap) or forward (to add a delay)"]}),"\n",(0,s.jsx)(t.h4,{id:"positive-offset-delay-audio",children:"Positive Offset (delay audio)"}),"\n",(0,s.jsxs)(t.p,{children:["Using a positive [",(0,s.jsx)(t.code,{children:"offset"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#offset) value adds a delay between chimes and TTS audio."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: drumroll\n end_chime_path: tada\n message: The suspense is killing me\n tts_platform: google_translate\n offset: 2000\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/offset_delay.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"negative-offset-overlay-audio",children:"Negative Offset (overlay audio)"}),"\n",(0,s.jsxs)(t.p,{children:["Using a negative [",(0,s.jsx)(t.code,{children:"offset"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#offset) value overlays chimes and TTS audio on top of each other."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: soft\n message: It's time to go to work\n tts_platform: google_translate\n offset: -2100\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/offset_overlay.mp3?v=1")}),"\n",(0,s.jsxs)(t.h3,{id:"language-and-tld",children:[(0,s.jsx)(t.code,{children:"language"})," and ",(0,s.jsx)(t.code,{children:"tld"})]}),"\n",(0,s.jsxs)(t.p,{children:["You can use [",(0,s.jsx)(t.code,{children:"language"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#language) and [",(0,s.jsx)(t.code,{children:"tld"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#tld) to play TTS audio with a different language and/or accent on the ",(0,s.jsx)(t.a,{href:"https://www.home-assistant.io/integrations/google_translate/",children:"Google Translate"})," TTS platform"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: tada\n message: le lavage est fait!\n tts_platform: google_translate\n language: fr\n tld: fr\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/language.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"join_players",children:(0,s.jsx)(t.code,{children:"join_players"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the [",(0,s.jsx)(t.code,{children:"join_players"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#join_players) parameter to hear the announcement across multiple speakers at the same time (only on supported speakers)."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\n - media_player.bedroom\ndata:\n chime_path: tada\n message: The washing's done!\n tts_platform: amazon_polly\n join_players: true\n unjoin_players: true\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/join_players.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"audio_conversion",children:(0,s.jsx)(t.code,{children:"audio_conversion"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the [",(0,s.jsx)(t.code,{children:"audio_conversion"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#audio_conversion) parameter to specify FFmpeg arguments/presets to process the generated audio."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\ndata:\n chime_path: bells\n message: Audio at 50% volume\n tts_platform: google_translate\n tld: com.au\n audio_conversion: Volume 50%\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/audio_conversion.mp3?v=1")}),"\n",(0,s.jsx)(t.h2,{id:"message-segments",children:"Message Segments"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"message"})," parameter can be used to specify multiple [",(0,s.jsx)(t.code,{children:"message segments"}),"]((/chime_tts/docs/documentation/actions/say-action/parameters#advanced-usage-segment-sequences) which can be used to construct complicated notifications of muliple chimes & TTS audio segments."]}),"\n",(0,s.jsxs)(t.h3,{id:"tts-segment-type",children:[(0,s.jsx)(t.code,{children:"tts"})," Segment Type"]}),"\n",(0,s.jsx)(t.p,{children:"Review the [tts segment type]((/chime_tts/docs/documentation/actions/say-action/parameters#tts-segment-type) documentation to learn more."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.kitchen_speaker\ndata:\n chime_path: classical\n end_chime_path: marimba\n tts_platform: google_translate\n cache: false\n language: en\n message:\n - tts: May I please have your attention?\n cache: true\n - tts: It is officially time to move the washing to the dryer\n offset: 3000\n options:\n tld: co.uk\n - tts: V\xe1monos!\n language: es\n options:\n tld: es\n tts_speed: 115\n - type: tts\n message: Let's go!\n tts_platform: amazon_polly\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/segments_tts.mp3?v=1")}),"\n",(0,s.jsx)(t.p,{children:"In the above example:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"The 1st segment overrides the cache parameter, setting it to true for the segment."}),"\n",(0,s.jsx)(t.li,{children:"The 2nd segment adds a 3 second delay before the TTS message and overrides the domain, setting it to the UK."}),"\n",(0,s.jsx)(t.li,{children:"The 3rd segment overrides the language, setting it to Spanish with the domain accent of Spain, and sets the speech rate to 115%."}),"\n",(0,s.jsx)(t.li,{children:"The 4th segment overrides the TTS platform, setting it to Amazon Polly."}),"\n"]}),"\n",(0,s.jsxs)(t.h3,{id:"chime-segment-type",children:[(0,s.jsx)(t.code,{children:"chime"})," Segment Type"]}),"\n",(0,s.jsx)(t.p,{children:"Review the [chime segment type]((/chime_tts/docs/documentation/actions/say-action/parameters#chime-segment-type) documentation to learn more."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.kitchen_speaker\ndata:\n chime_path: toast\n end_chime_path: tada\n tts_platform: google_translate\n message:\n - tts: And the winner is, drumroll please\n - chime: drumroll\n offset: 500\n - tts: You!\n offset: 0\n - chime: /config/media/sounds/my_chimes/hooray.mp3\n - tts: You get to move the washing to the dryer!\n - chime: dun_dun_dun\n - tts: Sorry. You're the only one with arms.\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/segments_chime.mp3?v=1")}),"\n",(0,s.jsxs)(t.h3,{id:"delay-segment-type",children:[(0,s.jsx)(t.code,{children:"delay"})," Segment Type"]}),"\n",(0,s.jsx)(t.p,{children:"Review the [delay segment type]((/chime_tts/docs/documentation/actions/say-action/parameters#delay-segment-type) documentation to learn more."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.kitchen_speaker\ndata:\n tts_platform: google_translate\n message:\n - tts: Hey, do you hear that? Just listen.\n - delay: 1000\n - tts: Yep, sounds like clothes waiting to be moved to the dryer\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/segments_delay.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"repeat",children:(0,s.jsx)(t.code,{children:"repeat"})}),"\n",(0,s.jsxs)(t.p,{children:["All message segment types can include a ",(0,s.jsx)(t.code,{children:"repeat"})," parameter to specify the number of times to repeat the segment."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.macbook_air\ndata:\n tts_platform: google_translate\n message:\n - chime: https://www.zapsplat.com/wp-content/uploads/2015/sound-effects-three/household_clock_cuckoo_strike_001.mp3\n repeat: 3\n offset: -800\n - tts: It's 3 o'clock\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/parameters/repeat.mp3?v=1")})]})}function m(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var a=n(6540);const s={},i=a.createContext(s);function o(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db86f9ef.e74391cf.js b/assets/js/db86f9ef.e74391cf.js new file mode 100644 index 00000000..40469f05 --- /dev/null +++ b/assets/js/db86f9ef.e74391cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[8561],{3502:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>m,frontMatter:()=>c,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"documentation/actions/say-action/examples","title":"Examples","description":"The following YAML examples cover additional features provided by the chime_tts.say action:","source":"@site/docs/documentation/actions/say-action/examples.mdx","sourceDirName":"documentation/actions/say-action","slug":"/documentation/actions/say-action/examples","permalink":"/chime_tts/docs/documentation/actions/say-action/examples","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Examples"},"sidebar":"tutorialSidebar","previous":{"title":"Parameters","permalink":"/chime_tts/docs/documentation/actions/say-action/parameters"},"next":{"title":"2. Say URL Action","permalink":"/chime_tts/docs/documentation/actions/say_url-action/"}}');var s=n(4848),i=n(8453),o=n(6025);const c={sidebar_position:3,title:"Examples"},d="chime_tts.say Examples",r={},l=[{value:"Basic TTS Audio",id:"basic-tts-audio",level:2},{value:"Basic example",id:"basic-example",level:3},{value:"chime_path",id:"chime_path",level:3},{value:"end_chime_path",id:"end_chime_path",level:3},{value:"chime_path and end_chime_path",id:"chime_path-and-end_chime_path",level:3},{value:"More complex examples",id:"more-complex-examples",level:2},{value:"tts_speed",id:"tts_speed",level:3},{value:"Increase speed",id:"increase-speed",level:4},{value:"Decrease speed",id:"decrease-speed",level:4},{value:"tts_pitch",id:"tts_pitch",level:3},{value:"Raise pitch",id:"raise-pitch",level:4},{value:"Lower pitch",id:"lower-pitch",level:4},{value:"Musical Fun",id:"musical-fun",level:4},{value:"offset",id:"offset",level:3},{value:"Positive Offset (delay audio)",id:"positive-offset-delay-audio",level:4},{value:"Negative Offset (overlay audio)",id:"negative-offset-overlay-audio",level:4},{value:"language and tld",id:"language-and-tld",level:3},{value:"join_players",id:"join_players",level:3},{value:"audio_conversion",id:"audio_conversion",level:3},{value:"Message Segments",id:"message-segments",level:2},{value:"tts Segment Type",id:"tts-segment-type",level:3},{value:"chime Segment Type",id:"chime-segment-type",level:3},{value:"delay Segment Type",id:"delay-segment-type",level:3},{value:"repeat",id:"repeat",level:3}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsxs)(t.h1,{id:"chime_ttssay-examples",children:[(0,s.jsx)(t.code,{children:"chime_tts.say"})," Examples"]})}),"\n",(0,s.jsxs)(t.p,{children:["The following YAML examples cover additional features provided by the ",(0,s.jsxs)(t.a,{href:"./",children:[(0,s.jsx)(t.code,{children:"chime_tts.say"})," action"]}),":"]}),"\n",(0,s.jsx)(t.h2,{id:"basic-tts-audio",children:"Basic TTS Audio"}),"\n",(0,s.jsxs)(t.p,{children:["All action calls to ",(0,s.jsxs)(t.a,{href:"./",children:[(0,s.jsx)(t.code,{children:"chime_tts.say"})," action"]})," must include one or more ",(0,s.jsx)(t.code,{children:"media_player"})," entity targets, and a data object with the TTS ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#message",children:(0,s.jsx)(t.code,{children:"message"})})," and ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_platform",children:(0,s.jsx)(t.code,{children:"tts_platform"})})," values."]}),"\n",(0,s.jsx)(t.h3,{id:"basic-example",children:"Basic example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/basic.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"chime_path",children:(0,s.jsx)(t.code,{children:"chime_path"})}),"\n",(0,s.jsxs)(t.p,{children:["Use ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#chime_path",children:(0,s.jsx)(t.code,{children:"chime_path"})})," to play a chime before the TTS audio (using a 'Chime TTS' chime):"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n chime_path: tada\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/chime_path.mp3?v=1"),class:"audio"}),"\n",(0,s.jsx)(t.h3,{id:"end_chime_path",children:(0,s.jsx)(t.code,{children:"end_chime_path"})}),"\n",(0,s.jsxs)(t.p,{children:["Use ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path",children:(0,s.jsx)(t.code,{children:"end_chime_path"})})," to play a chime after the TTS audio (from your media folder)"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n end_chime_path: /media/sounds/doorbell.mp3\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/end_chime_path.mp3?v=1"),class:"audio"}),"\n",(0,s.jsxs)(t.h3,{id:"chime_path-and-end_chime_path",children:[(0,s.jsx)(t.code,{children:"chime_path"})," and ",(0,s.jsx)(t.code,{children:"end_chime_path"})]}),"\n",(0,s.jsxs)(t.p,{children:["Include both ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#chime_path",children:(0,s.jsx)(t.code,{children:"chime_path"})})," and ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#end_chime_path",children:(0,s.jsx)(t.code,{children:"end_chime_path"})})," to play a chime before and after TTS audio"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.living_room\ndata:\n tts_platform: google_translate\n message: Hello world!\n chime_path: drumroll\n end_chime_path: /media/sounds/doorbell.mp3\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/chime_path_end_chime_path.mp3?v=1")}),"\n",(0,s.jsx)(t.h2,{id:"more-complex-examples",children:"More complex examples"}),"\n",(0,s.jsx)(t.h3,{id:"tts_speed",children:(0,s.jsx)(t.code,{children:"tts_speed"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_speed",children:(0,s.jsx)(t.code,{children:"tts_speed"})})," parameter to increase/decrease the TTS audio speed"]}),"\n",(0,s.jsx)(t.h4,{id:"increase-speed",children:"Increase speed"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: bells_2\n message: The washing's done!\n tts_platform: amazon_polly\n tts_speed: 150\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/speed_increase.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"decrease-speed",children:"Decrease speed"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: bells_2\n message: The washing's done!\n tts_platform: amazon_polly\n tts_speed: 75\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/speed_decrease.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"tts_pitch",children:(0,s.jsx)(t.code,{children:"tts_pitch"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts_pitch",children:(0,s.jsx)(t.code,{children:"tts_pitch"})})," parameter to raise/lower the pitch of the TTS audio"]}),"\n",(0,s.jsx)(t.h4,{id:"raise-pitch",children:"Raise pitch"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: chord\n message: The washing's done!\n tts_platform: amazon_polly\n tts_pitch: 5\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/pitch_raise.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"lower-pitch",children:"Lower pitch"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: chord\n message: The washing's done!\n tts_platform: amazon_polly\n tts_pitch: -7\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/pitch_lower.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"musical-fun",children:"Musical Fun"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n tts_platform: google_translate\n message:\n - tts: Laah\n pitch: -12\n speed: 90\n - tts: Laah\n pitch: 0\n speed: 125\n offset: -400\n - tts: Laah\n pitch: 4\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 7\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -15\n speed: 90\n offset: -400\n - tts: Laah\n pitch: -3\n speed: 125\n offset: -400\n - tts: Laah\n pitch: 1\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 4\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -19\n speed: 90\n offset: -400\n - tts: Laah\n pitch: -7\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -3\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 0\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -17\n speed: 90\n offset: -400\n - tts: Laah\n pitch: -5\n speed: 125\n offset: -400\n - tts: Laah\n pitch: -1\n speed: 90\n offset: -400\n - tts: Laah\n pitch: 2\n speed: 125\n offset: -400\n - tts: Laah\n pitch: 12\n speed: 70\n offset: -4916\n - tts: Laah\n pitch: 12\n speed: 70\n offset: -4340\n - tts: Laah\n pitch: 12\n speed: 39.05\n offset: -3950\n - tts: Laah\n pitch: 12\n speed: 125\n offset: -2300\n - tts: Laah\n pitch: 11\n speed: 90\n offset: -2150\n - tts: Laah\n pitch: 9\n speed: 125\n offset: -1800\n - tts: Laah\n pitch: 11\n speed: 90\n offset: -1600\n - tts: Laah\n pitch: 12\n speed: 125\n offset: -1200\n - tts: Laah\n pitch: 15\n speed: 90\n offset: -1000\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/musical_fun.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"offset",children:(0,s.jsx)(t.code,{children:"offset"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#offset",children:(0,s.jsx)(t.code,{children:"offset"})})," parameter to shift the start of chime/TTS audio backward (to overlap) or forward (to add a delay)"]}),"\n",(0,s.jsx)(t.h4,{id:"positive-offset-delay-audio",children:"Positive Offset (delay audio)"}),"\n",(0,s.jsxs)(t.p,{children:["Using a positive ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#offset",children:(0,s.jsx)(t.code,{children:"offset"})})," value adds a delay between chimes and TTS audio."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: drumroll\n end_chime_path: tada\n message: The suspense is killing me\n tts_platform: google_translate\n offset: 2000\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/offset_delay.mp3?v=1")}),"\n",(0,s.jsx)(t.h4,{id:"negative-offset-overlay-audio",children:"Negative Offset (overlay audio)"}),"\n",(0,s.jsxs)(t.p,{children:["Using a negative ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#offset",children:(0,s.jsx)(t.code,{children:"offset"})})," value overlays chimes and TTS audio on top of each other."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: soft\n message: It's time to go to work\n tts_platform: google_translate\n offset: -2100\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/offset_overlay.mp3?v=1")}),"\n",(0,s.jsxs)(t.h3,{id:"language-and-tld",children:[(0,s.jsx)(t.code,{children:"language"})," and ",(0,s.jsx)(t.code,{children:"tld"})]}),"\n",(0,s.jsxs)(t.p,{children:["You can use ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#language",children:(0,s.jsx)(t.code,{children:"language"})})," and ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tld",children:(0,s.jsx)(t.code,{children:"tld"})})," to play TTS audio with a different language and/or accent on the ",(0,s.jsx)(t.a,{href:"https://www.home-assistant.io/integrations/google_translate/",children:"Google Translate"})," TTS platform"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\ndata:\n chime_path: tada\n message: le lavage est fait!\n tts_platform: google_translate\n language: fr\n tld: fr\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/language.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"join_players",children:(0,s.jsx)(t.code,{children:"join_players"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#join_players",children:(0,s.jsx)(t.code,{children:"join_players"})})," parameter to hear the announcement across multiple speakers at the same time (only on supported speakers)."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\n - media_player.dining_room\n - media_player.bedroom\ndata:\n chime_path: tada\n message: The washing's done!\n tts_platform: amazon_polly\n join_players: true\n unjoin_players: true\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/join_players.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"audio_conversion",children:(0,s.jsx)(t.code,{children:"audio_conversion"})}),"\n",(0,s.jsxs)(t.p,{children:["Use the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#audio_conversion",children:(0,s.jsx)(t.code,{children:"audio_conversion"})})," parameter to specify FFmpeg arguments/presets to process the generated audio."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id:\n - media_player.kitchen\ndata:\n chime_path: bells\n message: Audio at 50% volume\n tts_platform: google_translate\n tld: com.au\n audio_conversion: Volume 50%\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/audio_conversion.mp3?v=1")}),"\n",(0,s.jsx)(t.h2,{id:"message-segments",children:"Message Segments"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"message"})," parameter can be used to specify multiple ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#advanced-usage-segment-sequences",children:(0,s.jsx)(t.code,{children:"message segments"})})," which can be used to construct complicated notifications of muliple chimes & TTS audio segments."]}),"\n",(0,s.jsxs)(t.h3,{id:"tts-segment-type",children:[(0,s.jsx)(t.code,{children:"tts"})," Segment Type"]}),"\n",(0,s.jsxs)(t.p,{children:["Review the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#tts-segment-type",children:"tts segment type"})," documentation to learn more."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.kitchen_speaker\ndata:\n chime_path: classical\n end_chime_path: marimba\n tts_platform: google_translate\n cache: false\n language: en\n message:\n - tts: May I please have your attention?\n cache: true\n - tts: It is officially time to move the washing to the dryer\n offset: 3000\n options:\n tld: co.uk\n - tts: V\xe1monos!\n language: es\n options:\n tld: es\n tts_speed: 115\n - type: tts\n message: Let's go!\n tts_platform: amazon_polly\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/segments_tts.mp3?v=1")}),"\n",(0,s.jsx)(t.p,{children:"In the above example:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"The 1st segment overrides the cache parameter, setting it to true for the segment."}),"\n",(0,s.jsx)(t.li,{children:"The 2nd segment adds a 3 second delay before the TTS message and overrides the domain, setting it to the UK."}),"\n",(0,s.jsx)(t.li,{children:"The 3rd segment overrides the language, setting it to Spanish with the domain accent of Spain, and sets the speech rate to 115%."}),"\n",(0,s.jsx)(t.li,{children:"The 4th segment overrides the TTS platform, setting it to Amazon Polly."}),"\n"]}),"\n",(0,s.jsxs)(t.h3,{id:"chime-segment-type",children:[(0,s.jsx)(t.code,{children:"chime"})," Segment Type"]}),"\n",(0,s.jsxs)(t.p,{children:["Review the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#chime-segment-type",children:"chime segment type"})," documentation to learn more."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.kitchen_speaker\ndata:\n chime_path: toast\n end_chime_path: tada\n tts_platform: google_translate\n message:\n - tts: And the winner is, drumroll please\n - chime: drumroll\n offset: 500\n - tts: You!\n offset: 0\n - chime: /config/media/sounds/my_chimes/hooray.mp3\n - tts: You get to move the washing to the dryer!\n - chime: dun_dun_dun\n - tts: Sorry. You're the only one with arms.\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/segments_chime.mp3?v=1")}),"\n",(0,s.jsxs)(t.h3,{id:"delay-segment-type",children:[(0,s.jsx)(t.code,{children:"delay"})," Segment Type"]}),"\n",(0,s.jsxs)(t.p,{children:["Review the ",(0,s.jsx)(t.a,{href:"/chime_tts/docs/documentation/actions/say-action/parameters#delay-segment-type",children:"delay segment type"})," documentation to learn more."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.kitchen_speaker\ndata:\n tts_platform: google_translate\n message:\n - tts: Hey, do you hear that? Just listen.\n - delay: 1000\n - tts: Yep, sounds like clothes waiting to be moved to the dryer\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/examples/segments_delay.mp3?v=1")}),"\n",(0,s.jsx)(t.h3,{id:"repeat",children:(0,s.jsx)(t.code,{children:"repeat"})}),"\n",(0,s.jsxs)(t.p,{children:["All message segment types can include a ",(0,s.jsx)(t.code,{children:"repeat"})," parameter to specify the number of times to repeat the segment."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"action: chime_tts.say\ntarget:\n entity_id: media_player.macbook_air\ndata:\n tts_platform: google_translate\n message:\n - chime: https://www.zapsplat.com/wp-content/uploads/2015/sound-effects-three/household_clock_cuckoo_strike_001.mp3\n repeat: 3\n offset: -800\n - tts: It's 3 o'clock\n"})}),"\n",(0,s.jsx)("audio",{controls:!0,src:(0,o.Ay)("/audio/parameters/repeat.mp3?v=1")})]})}function m(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var a=n(6540);const s={},i=a.createContext(s);function o(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.98ee3e6f.js b/assets/js/main.a796dc70.js similarity index 99% rename from assets/js/main.98ee3e6f.js rename to assets/js/main.a796dc70.js index cf9612fb..8407becf 100644 --- a/assets/js/main.98ee3e6f.js +++ b/assets/js/main.a796dc70.js @@ -1,2 +1,2 @@ -/*! For license information please see main.98ee3e6f.js.LICENSE.txt */ -(self.webpackChunkchime_tts=self.webpackChunkchime_tts||[]).push([[8792],{5391:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;to});const o=function(){for(var e,t,n=0,o="";n{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,9158)),"@theme/BlogTagsListPage",9158],"0ed01f1d":[()=>Promise.all([n.e(1869),n.e(5816)]).then(n.bind(n,8577)),"@site/docs/quick-start/installing-chime-tts.mdx",8577],"0ed12369":[()=>n.e(1877).then(n.t.bind(n,4047,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-13c.json",4047],"138e0e15":[()=>n.e(4921).then(n.t.bind(n,1597,19)),"@generated/@easyops-cn/docusaurus-search-local/default/__plugin.json",1597],17896441:[()=>Promise.all([n.e(1869),n.e(8498),n.e(8401)]).then(n.bind(n,575)),"@theme/DocItem",575],"1a4e3797":[()=>Promise.all([n.e(1869),n.e(2138)]).then(n.bind(n,1283)),"@theme/SearchPage",1283],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(8498),n.e(6061)]).then(n.bind(n,7973)),"@theme/MDXPage",7973],"3021cf83":[()=>Promise.all([n.e(1869),n.e(2857)]).then(n.bind(n,9560)),"@site/docs/getting-started.mdx",9560],"36994c47":[()=>n.e(9858).then(n.t.bind(n,5516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",5516],"36b617cb":[()=>n.e(7867).then(n.bind(n,4635)),"@site/docs/documentation/actions/index.mdx",4635],"38d16de3":[()=>n.e(6501).then(n.t.bind(n,3753,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-archive-4e2.json",3753],39071432:[()=>n.e(2012).then(n.t.bind(n,7047,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-tags-docusaurus-ef1.json",7047],"393be207":[()=>n.e(4134).then(n.bind(n,591)),"@site/src/pages/markdown-page.md",591],"404a341a":[()=>n.e(8149).then(n.bind(n,2314)),"@site/docs/documentation/actions/clear_cache-action.mdx",2314],"4c8e39ed":[()=>Promise.all([n.e(1869),n.e(2250)]).then(n.bind(n,1975)),"@site/docs/documentation/actions/say_url-action/examples.mdx",1975],"4f978953":[()=>n.e(9088).then(n.bind(n,8984)),"@site/docs/documentation/actions/say_url-action/parameters.mdx",8984],"57779ec4":[()=>Promise.all([n.e(1869),n.e(3570)]).then(n.bind(n,4730)),"@site/docs/documentation/actions/say-action/parameters.mdx",4730],59362658:[()=>n.e(9325).then(n.bind(n,1180)),"@site/blog/2021-08-01-mdx-blog-post.mdx",1180],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],60856085:[()=>n.e(4899).then(n.t.bind(n,2656,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-tags-hola-7c5.json",2656],"621db11d":[()=>Promise.all([n.e(1869),n.e(3347),n.e(4212)]).then(n.bind(n,3250)),"@theme/Blog/Pages/BlogAuthorsListPage",3250],"6875c492":[()=>Promise.all([n.e(1869),n.e(8498),n.e(3347),n.e(4813)]).then(n.bind(n,3069)),"@theme/BlogTagsPostsPage",3069],"6fab511d":[()=>n.e(5387).then(n.t.bind(n,5810,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-tags-facebook-8ad.json",5810],"6fb8d0c7":[()=>n.e(5871).then(n.bind(n,9754)),"@site/docs/documentation/notify/sending.mdx",9754],"73664a40":[()=>n.e(1972).then(n.bind(n,9581)),"@site/blog/2019-05-29-long-blog-post.md",9581],"7661071f":[()=>n.e(8737).then(n.bind(n,4137)),"@site/blog/2021-08-26-welcome/index.md?truncated=true",4137],"786b7750":[()=>Promise.all([n.e(1869),n.e(7183)]).then(n.bind(n,6331)),"@site/docs/quick-start/adding-the-integration.mdx",6331],"7b417705":[()=>n.e(174).then(n.bind(n,7853)),"@site/docs/documentation/actions/say_url-action/index.mdx",7853],"814f3328":[()=>n.e(7472).then(n.t.bind(n,5513,19)),"~blog/default/blog-post-list-prop-default.json",5513],"81a0432d":[()=>n.e(2332).then(n.t.bind(n,8781,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-tags-hello-374.json",8781],"830e464d":[()=>Promise.all([n.e(1869),n.e(5243)]).then(n.bind(n,9512)),"@site/docs/quick-start/additional-requirements.mdx",9512],"8717b14a":[()=>n.e(3694).then(n.bind(n,1615)),"@site/blog/2019-05-29-long-blog-post.md?truncated=true",1615],"880a0d45":[()=>Promise.all([n.e(1869),n.e(1899)]).then(n.bind(n,7814)),"@site/docs/documentation/notify/index.mdx",7814],"8b7387d3":[()=>n.e(8907).then(n.bind(n,3390)),"@site/docs/quick-start/index.mdx",3390],"925b3f96":[()=>n.e(8609).then(n.bind(n,5026)),"@site/blog/2019-05-28-first-blog-post.md?truncated=true",5026],"9ab06a08":[()=>Promise.all([n.e(1869),n.e(800)]).then(n.bind(n,4555)),"@site/docs/documentation/actions/say-action/index.mdx",4555],"9c493542":[()=>n.e(7396).then(n.bind(n,2207)),"@site/docs/documentation/actions/replay-action.mdx",2207],"9e4087bc":[()=>n.e(2711).then(n.bind(n,9331)),"@theme/BlogArchivePage",9331],a1ee10bd:[()=>n.e(4890).then(n.bind(n,7073)),"@site/docs/documentation/configuration.mdx",7073],a6aa9e1f:[()=>Promise.all([n.e(1869),n.e(8498),n.e(3347),n.e(7643)]).then(n.bind(n,5124)),"@theme/BlogListPage",5124],a7456010:[()=>n.e(1235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a942cd04:[()=>n.e(7806).then(n.bind(n,1702)),"@site/docs/support.mdx",1702],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,1377)),"@theme/DocRoot",1377],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],acecf23e:[()=>n.e(1903).then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],c4f5d8e4:[()=>Promise.all([n.e(1869),n.e(2634)]).then(n.bind(n,6467)),"@site/src/pages/index.js",6467],cb0272f0:[()=>n.e(4983).then(n.bind(n,1380)),"@site/docs/documentation/notify/adding.mdx",1380],ccc49370:[()=>Promise.all([n.e(1869),n.e(8498),n.e(3347),n.e(3249)]).then(n.bind(n,3858)),"@theme/BlogPostPage",3858],d080cb77:[()=>Promise.all([n.e(1869),n.e(8622)]).then(n.bind(n,5936)),"@site/docs/documentation/index.mdx",5936],d9f32620:[()=>n.e(5557).then(n.bind(n,7447)),"@site/blog/2021-08-26-welcome/index.md",7447],db86f9ef:[()=>Promise.all([n.e(1869),n.e(8561)]).then(n.bind(n,3502)),"@site/docs/documentation/actions/say-action/examples.mdx",3502],ddc3c5c4:[()=>n.e(6992).then(n.t.bind(n,5558,19)),"@generated/docusaurus-plugin-content-docs/default/p/chime-tts-docs-150.json",5558],e273c56f:[()=>n.e(9328).then(n.bind(n,4014)),"@site/blog/2019-05-28-first-blog-post.md",4014],ee9c8523:[()=>n.e(3537).then(n.t.bind(n,5939,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-authors-0d0.json",5939],f4f34a3a:[()=>n.e(3637).then(n.bind(n,5512)),"@site/blog/2021-08-01-mdx-blog-post.mdx?truncated=true",5512],fbac4082:[()=>n.e(3629).then(n.t.bind(n,3533,19)),"@generated/docusaurus-plugin-content-blog/default/p/chime-tts-blog-tags-3d6.json",3533]};var s=n(4848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(6921),u=n(3102);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>Promise.all([n.e(1869),n.e(9293)]).then(n.bind(n,9293)),modules:["@theme/NotFound"],webpack:()=>[9293],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],h=(0,c.A)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const p=[{path:"/chime_tts/blog",component:d("/chime_tts/blog","79a"),exact:!0},{path:"/chime_tts/blog/archive",component:d("/chime_tts/blog/archive","3a0"),exact:!0},{path:"/chime_tts/blog/authors",component:d("/chime_tts/blog/authors","d24"),exact:!0},{path:"/chime_tts/blog/first-blog-post",component:d("/chime_tts/blog/first-blog-post","512"),exact:!0},{path:"/chime_tts/blog/long-blog-post",component:d("/chime_tts/blog/long-blog-post","1cb"),exact:!0},{path:"/chime_tts/blog/mdx-blog-post",component:d("/chime_tts/blog/mdx-blog-post","7e9"),exact:!0},{path:"/chime_tts/blog/tags",component:d("/chime_tts/blog/tags","d60"),exact:!0},{path:"/chime_tts/blog/tags/docusaurus",component:d("/chime_tts/blog/tags/docusaurus","b4b"),exact:!0},{path:"/chime_tts/blog/tags/facebook",component:d("/chime_tts/blog/tags/facebook","513"),exact:!0},{path:"/chime_tts/blog/tags/hello",component:d("/chime_tts/blog/tags/hello","8dd"),exact:!0},{path:"/chime_tts/blog/tags/hola",component:d("/chime_tts/blog/tags/hola","71e"),exact:!0},{path:"/chime_tts/blog/welcome",component:d("/chime_tts/blog/welcome","c29"),exact:!0},{path:"/chime_tts/markdown-page",component:d("/chime_tts/markdown-page","cfa"),exact:!0},{path:"/chime_tts/search",component:d("/chime_tts/search","442"),exact:!0},{path:"/chime_tts/docs",component:d("/chime_tts/docs","af5"),routes:[{path:"/chime_tts/docs",component:d("/chime_tts/docs","fc9"),routes:[{path:"/chime_tts/docs",component:d("/chime_tts/docs","6a8"),routes:[{path:"/chime_tts/docs/documentation/",component:d("/chime_tts/docs/documentation/","ed4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/",component:d("/chime_tts/docs/documentation/actions/","d33"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/clear_cache-action",component:d("/chime_tts/docs/documentation/actions/clear_cache-action","a54"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/replay-action",component:d("/chime_tts/docs/documentation/actions/replay-action","45f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/say_url-action/",component:d("/chime_tts/docs/documentation/actions/say_url-action/","633"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/say_url-action/examples",component:d("/chime_tts/docs/documentation/actions/say_url-action/examples","969"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/say_url-action/parameters",component:d("/chime_tts/docs/documentation/actions/say_url-action/parameters","74a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/say-action/",component:d("/chime_tts/docs/documentation/actions/say-action/","d18"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/say-action/examples",component:d("/chime_tts/docs/documentation/actions/say-action/examples","466"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/actions/say-action/parameters",component:d("/chime_tts/docs/documentation/actions/say-action/parameters","d5d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/configuration",component:d("/chime_tts/docs/documentation/configuration","a5e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/notify/",component:d("/chime_tts/docs/documentation/notify/","9cd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/notify/adding",component:d("/chime_tts/docs/documentation/notify/adding","255"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/documentation/notify/sending",component:d("/chime_tts/docs/documentation/notify/sending","1f1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/getting-started",component:d("/chime_tts/docs/getting-started","7e8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/quick-start/",component:d("/chime_tts/docs/quick-start/","96b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/quick-start/adding-the-integration",component:d("/chime_tts/docs/quick-start/adding-the-integration","21a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/quick-start/additional-requirements",component:d("/chime_tts/docs/quick-start/additional-requirements","f9f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/quick-start/installing-chime-tts",component:d("/chime_tts/docs/quick-start/installing-chime-tts","b8c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/chime_tts/docs/support",component:d("/chime_tts/docs/support","e38"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/chime_tts/",component:d("/chime_tts/","649"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},7815:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(545),i=n(4625),s=n(4784),l=n(8193);const c=[n(119),n(6134),n(6294),n(1043)];var u=n(8328),d=n(6347),p=n(2831),f=n(4848);function h(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(5260),g=n(4586),y=n(6025),b=n(6342),v=n(1213),w=n(2131),k=n(4090);const x="default";var S=n(440),_=n(1463);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,d.zy)();return e+(0,S.Ks)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function T(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,b.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:k.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(C,{}),(0,f.jsx)(E,{}),(0,f.jsx)(_.A,{tag:x,locale:e}),(0,f.jsx)(m.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const A=new Map;var j=n(6125),L=n(6988),P=n(205);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,P.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.qh,{location:t,render:()=>e})})}}const D=I,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

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

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,f.jsx)(D,{location:e,children:W})}function K(){return(0,f.jsx)(H.A,{children:(0,f.jsx)(L.l,{children:(0,f.jsxs)(j.x,{children:[(0,f.jsxs)(h,{children:[(0,f.jsx)(q,{}),(0,f.jsx)(T,{}),(0,f.jsx)(U,{}),(0,f.jsx)(G,{})]}),(0,f.jsx)(V,{})]})})})}var Y=n(4054);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var X=n(6921);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,p.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),O(e))},re=Object.freeze(ne);function oe(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,f.jsx)(i.I9,{children:t}):(0,f.jsx)(i.Kd,{children:t})}const ae=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.vd,{children:(0,f.jsx)(oe,{children:(0,f.jsx)(K,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ae)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};O(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(6540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/chime_tts/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/chime_tts/docs","mainDocId":"getting-started","docs":[{"id":"documentation/actions/clear_cache-action","path":"/chime_tts/docs/documentation/actions/clear_cache-action","sidebar":"tutorialSidebar"},{"id":"documentation/actions/index","path":"/chime_tts/docs/documentation/actions/","sidebar":"tutorialSidebar"},{"id":"documentation/actions/replay-action","path":"/chime_tts/docs/documentation/actions/replay-action","sidebar":"tutorialSidebar"},{"id":"documentation/actions/say_url-action/examples","path":"/chime_tts/docs/documentation/actions/say_url-action/examples","sidebar":"tutorialSidebar"},{"id":"documentation/actions/say_url-action/index","path":"/chime_tts/docs/documentation/actions/say_url-action/","sidebar":"tutorialSidebar"},{"id":"documentation/actions/say_url-action/parameters","path":"/chime_tts/docs/documentation/actions/say_url-action/parameters","sidebar":"tutorialSidebar"},{"id":"documentation/actions/say-action/examples","path":"/chime_tts/docs/documentation/actions/say-action/examples","sidebar":"tutorialSidebar"},{"id":"documentation/actions/say-action/index","path":"/chime_tts/docs/documentation/actions/say-action/","sidebar":"tutorialSidebar"},{"id":"documentation/actions/say-action/parameters","path":"/chime_tts/docs/documentation/actions/say-action/parameters","sidebar":"tutorialSidebar"},{"id":"documentation/configuration","path":"/chime_tts/docs/documentation/configuration","sidebar":"tutorialSidebar"},{"id":"documentation/index","path":"/chime_tts/docs/documentation/","sidebar":"tutorialSidebar"},{"id":"documentation/notify/adding","path":"/chime_tts/docs/documentation/notify/adding","sidebar":"tutorialSidebar"},{"id":"documentation/notify/index","path":"/chime_tts/docs/documentation/notify/","sidebar":"tutorialSidebar"},{"id":"documentation/notify/sending","path":"/chime_tts/docs/documentation/notify/sending","sidebar":"tutorialSidebar"},{"id":"getting-started","path":"/chime_tts/docs/getting-started","sidebar":"tutorialSidebar"},{"id":"quick-start/adding-the-integration","path":"/chime_tts/docs/quick-start/adding-the-integration","sidebar":"tutorialSidebar"},{"id":"quick-start/additional-requirements","path":"/chime_tts/docs/quick-start/additional-requirements","sidebar":"tutorialSidebar"},{"id":"quick-start/installing-chime-tts","path":"/chime_tts/docs/quick-start/installing-chime-tts","sidebar":"tutorialSidebar"},{"id":"quick-start/quick-start","path":"/chime_tts/docs/quick-start/","sidebar":"tutorialSidebar"},{"id":"support","path":"/chime_tts/docs/support","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/chime_tts/docs/getting-started","label":"getting-started"}}}}],"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 s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.6.3","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.6.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.6.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.6.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.6.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.6.3"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.6.3"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.44.5"}}}');var c=n(4848);const u={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var r=n(6540),o=n(8193),a=n(5260),i=n(440),s=n(396),l=n(3102),c=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,c.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(p,{children:(0,c.jsxs)(m,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const h=e=>(0,c.jsx)(f,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??h)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(545),o=n(4848);function a(e){return(0,o.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),o=n(4625),a=n(440),i=n(4586),s=n(6654),l=n(8193),c=n(3427),u=n(6025),d=n(4848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:h,isActive:m,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,u.hH)(),_=(0,c.A)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const C=p||f;const T=(0,s.A)(C),A=C?.replace("pathname://","");let j=void 0!==A?(L=A,y&&(e=>e.startsWith("/"))(L)?S(L):L):void 0;var L;"hash"===x&&j?.startsWith("./")&&(j=j?.slice(1)),j&&T&&(j=(0,a.Ks)(j,{trailingSlash:w,baseUrl:k}));const P=(0,r.useRef)(!1),R=n?o.k2:o.N_,N=l.A.canUseIntersectionObserver,O=(0,r.useRef)(),I=()=>{P.current||null==j||(window.docusaurus.preload(j),P.current=!0)};(0,r.useEffect)((()=>(!N&&T&&l.A.canUseDOM&&null!=j&&window.docusaurus.prefetch(j),()=>{N&&O.current&&O.current.disconnect()})),[O,j,N,T]);const D=j?.startsWith("#")??!1,F=!b.target||"_self"===b.target,M=!j||!T||!F||D&&"hash"!==x;g||!D&&M||_.collectLink(j),b.id&&_.collectAnchor(b.id);const z={};return M?(0,d.jsx)("a",{ref:E,href:j,...C&&!T&&{target:"_blank",rel:"noopener noreferrer"},...b,...z}):(0,d.jsx)(R,{...b,onMouseEnter:I,onTouchStart:I,innerRef:e=>{E.current=e,N&&e&&T&&(O.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(O.current.unobserve(e),O.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),O.current.observe(e))},to:j,...n&&{isActive:m,activeClassName:h},...z})}const f=r.forwardRef(p)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>l});var r=n(6540),o=n(4848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(6540),o=n(4586),a=n(6654);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6988);function a(){return(0,r.useContext)(o.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540);const o=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6803:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(3102);function a(){const e=r.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(6540),o=n(4848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},3886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>v,g1:()=>b});var r=n(6540),o=n(4070),a=n(7065),i=n(6342),s=n(679),l=n(9532),c=n(4848);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function h(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return(0,c.jsx)(f.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,c.jsx)(m,{children:t})}function y(){const e=(0,r.useContext)(f);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function v(){const e=(0,o.Gy)(),[t]=y();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},2565:(e,t,n)=>{"use strict";n.d(t,{k:()=>a,v:()=>i});var r=n(4070),o=n(3886);function a(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r.Gy)(),t=(0,r.gk)(),n=(0,o.XK)();return[...Object.keys(e).map((function(r){const o=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],s=e[r].versions.find((e=>e.isLast));return a(r,(o??i??s).name)}))]}},609:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>c});var r=n(6540),o=n(9532),a=n(4848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},6972:(e,t,n)=>{"use strict";n.d(t,{$S:()=>f,B5:()=>_,Nr:()=>p,OF:()=>w,QB:()=>S,Vd:()=>k,Y:()=>b,d1:()=>E,fW:()=>x,w8:()=>g});var r=n(6540),o=n(6347),a=n(2831),i=n(4070),s=n(9169),l=n(1682),c=n(3886),u=n(3025),d=n(609);function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}function f(){const{pathname:e}=(0,o.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=v({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,s.ys)(e,t),m=(e,t)=>e.some((e=>g(e,t)));function g(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||m(e.items,t))}function y(e,t){switch(e.type){case"category":return g(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||g(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,s.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,s.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function w(){const e=(0,d.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>(0,l.sb)([t,n,o].filter(Boolean))),[t,n,o])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.sb)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,u.r)(),i=t.routes,s=i.find((e=>(0,o.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.v)(i),sidebarName:l,sidebarItems:c}}function E(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!p(e)))}},3025:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},4070:(e,t,n)=>{"use strict";n.d(t,{d1:()=>u.d1,zK:()=>w,vT:()=>g,gk:()=>y,Gy:()=>h,$S:()=>u.$S,HW:()=>k,vF:()=>p.v,ht:()=>m,g1:()=>d.g1,r7:()=>v,jh:()=>b});var r=n(6347),o=n(4586),a=n(7065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}var u=n(6972),d=n(3886),p=n(2565);const f={},h=()=>i("docusaurus-plugin-content-docs")??f,m=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function g(e){void 0===e&&(e={});const t=h(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function y(e){void 0===e&&(e={});const t=g(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function b(e){return m(e).versions}function v(e){const t=m(e);return s(t)}function w(e){const t=m(e),{pathname:n}=(0,r.zy)();return c(t,n)}function k(e){const t=m(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},6134:(e,t,n)=>{"use strict";var r=n(1765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t,a=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(8692)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==a&&(globalThis.Prism=e)}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(4164),o=n(1312),a=n(6342),i=n(8774),s=n(3427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(4848);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(4848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},396:(e,t,n)=>{"use strict";n.d(t,{A:()=>Dt});var r=n(6540),o=n(4164),a=n(7489),i=n(1213),s=n(6347),l=n(1312),c=n(5062),u=n(4848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const h=(0,l.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??h,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(7559),y=n(4090);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(m,{className:b.skipToContent})}var w=n(6342),k=n(5041);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function _(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.A)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(C,{className:T.announcementBarContent}),a&&(0,u.jsx)(_,{onClick:n,className:T.announcementBarClose})]})}var j=n(9876),L=n(3104);var P=n(9532),R=n(5600);const N=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,R.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,P.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(N.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,R.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:I(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(5293),z=n(2303);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.A)(),s=(0,l.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.A)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,u.jsx)(B,{className:(0,o.A)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,o.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),Q={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.G)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?Q.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(3465);function G(){return(0,u.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,j.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(G,{}),(0,u.jsx)(V,{className:"margin-right--md"}),(0,u.jsx)(K,{})]})}var Z=n(8774),X=n(6025),J=n(6654);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.Ay)(r),p=(0,X.Ay)(t),f=(0,X.Ay)(o,{forcePrependBaseUrl:!0}),h=a&&o&&!(0,J.A)(o),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,h&&(0,u.jsx)(te.A,{...s&&{width:12,height:12}})]})};return o?(0,u.jsx)(Z.A,{href:l?f:o,...c,...m}):(0,u.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),se=n(9169),le=n(4586);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.A)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ge,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[c,d,h]),(0,u.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.A)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ge,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var he=n(2131);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var ye=n(1088),be=n(5391);var ve=n(4070),we=n(5891),ke=n(2384),xe=n(9913),Se=n(4471),_e=n(7674),Ee=n(6841),Ce=n(3810);const Te='',Ae='',je='',Le='',Pe='',Re='',Ne='',Oe={searchBar:"searchBar_RVTs",dropdownMenu:"dropdownMenu_qbY6",searchBarLeft:"searchBarLeft_MXDe",suggestion:"suggestion_fB_2",cursor:"cursor_eG29",hitTree:"hitTree_kk6K",hitIcon:"hitIcon_a7Zy",hitPath:"hitPath_ieM4",noResultsIcon:"noResultsIcon_EBY5",hitFooter:"hitFooter_E9YW",hitWrapper:"hitWrapper_sAK8",hitTitle:"hitTitle_vyVt",hitAction:"hitAction_NqkB",hideAction:"hideAction_vcyE",noResults:"noResults_l6Q3",searchBarContainer:"searchBarContainer_NW3z",searchBarLoadingRing:"searchBarLoadingRing_YnHq",searchClearButton:"searchClearButton_qk4g",searchIndexLoading:"searchIndexLoading_EJ1f",searchHintContainer:"searchHintContainer_Pkmr",searchHint:"searchHint_iIMx",focused:"focused_OWtg",input:"input_FOTf",hint:"hint_URu1",suggestions:"suggestions_X8XU",dataset:"dataset_QiCy",empty:"empty_eITn"};function Ie(e){let{document:t,type:n,page:r,metadata:o,tokens:a,isInterOfTree:i,isLastOfTree:s}=e;const l=n===xe.i.Title,c=n===xe.i.Keywords,u=l||c,d=n===xe.i.Heading,p=[];i?p.push(Re):s&&p.push(Ne);const f=p.map((e=>`${e}`)),h=`${u?Te:d?Ae:je}`,m=[`${c?(0,Ee.Z)(t.s,a):(0,Ce.C)(t.t,(0,_e.g)(o,"t"),a)}`];if(!i&&!s&&ye.tb){const e=r?r.b?.concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;m.push(`${(0,Se.$)(e??[])}`)}else u||m.push(`${(0,Ee.Z)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),a)}`);const g=`${Le}`;return[...f,h,``,...m,"",g].join("")}function De(){return`${Pe}${(0,l.T)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var Fe=n(2849),Me=n(3385);async function ze(){const e=await Promise.all([n.e(489),n.e(5741)]).then(n.t.bind(n,489,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const Be="_highlight";const $e=function(e){let{handleSearchBarToggle:t}=e;const o=(0,z.A)(),{siteConfig:{baseUrl:a},i18n:{currentLocale:i}}=(0,le.A)(),c=(0,ve.vT)();let d=a;try{const{preferredVersion:e}=function(){return n(4070).g1(...arguments)}(c?.pluginId??ye.UB);e&&!e.isLast&&(d=e.path+"/")}catch(M){if(ye.I$&&!(M instanceof P.dV))throw M}const p=(0,s.W6)(),f=(0,s.zy)(),h=(0,r.useRef)(null),m=(0,r.useRef)(new Map),g=(0,r.useRef)(!1),[y,b]=(0,r.useState)(!1),[v,w]=(0,r.useState)(!1),[k,x]=(0,r.useState)(""),S=(0,r.useRef)(null),_=(0,r.useRef)(""),[E,C]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ye.Hg))return;let e="";if(f.pathname.startsWith(d)){const t=f.pathname.substring(d.length);let n;for(const e of ye.Hg){const r="string"==typeof e?e:e.path;if(t===r||t.startsWith(`${r}/`)){n=r;break}}n&&(e=n)}_.current!==e&&(m.current.delete(e),_.current=e),C(e)}),[f.pathname,d]);const T=!!ye.O6&&Array.isArray(ye.Hg)&&""===E,A=(0,r.useCallback)((async()=>{if(T||m.current.get(E))return;m.current.set(E,"loading"),S.current?.autocomplete.destroy(),b(!0);const[{wrappedIndexes:e,zhDictionary:t},n]=await Promise.all([(0,we.Z)(d,E),ze()]);if(S.current=n(h.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,be.A)(Oe.searchBar,{[Oe.searchBarLeft]:"left"===ye.ZG}),noPrefix:!0,dropdownMenu:Oe.dropdownMenu,input:Oe.input,hint:Oe.hint,suggestions:Oe.suggestions,suggestion:Oe.suggestion,cursor:Oe.cursor,dataset:Oe.dataset,empty:Oe.empty}},[{source:(0,ke.m)(e,t,ye.AT),templates:{suggestion:Ie,empty:De,footer:e=>{let{query:t,isEmpty:n}=e;if(n&&(!E||!ye.dz))return;const r=(e=>{let{query:t,isEmpty:n}=e;const r=document.createElement("a"),o=new URLSearchParams;let s;if(o.set("q",t),E){const e=E&&Array.isArray(ye.Hg)?ye.Hg.find((e=>"string"==typeof e?e===E:e.path===E)):E,t=e?(0,Me.p)(e,i).label:E;s=ye.dz&&n?(0,l.T)({id:"theme.SearchBar.seeAllOutsideContext",message:'See all results outside "{context}"'},{context:t}):(0,l.T)({id:"theme.SearchBar.searchInContext",message:'See all results within "{context}"'},{context:t})}else s=(0,l.T)({id:"theme.SearchBar.seeAll",message:"See all results"});if(!E||!Array.isArray(ye.Hg)||ye.dz&&n||o.set("ctx",E),d!==a){if(!d.startsWith(a))throw new Error(`Version url '${d}' does not start with base url '${a}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);o.set("version",d.substring(a.length))}const c=`${a}search/?${o.toString()}`;return r.href=c,r.textContent=s,r.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),S.current?.autocomplete.close(),p.push(c))})),r})({query:t,isEmpty:n}),o=document.createElement("div");return o.className=Oe.hitFooter,o.appendChild(r),o}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:o}=t;h.current?.blur();let a=n;if(ye.CU&&o.length>0){const e=new URLSearchParams;for(const t of o)e.append(Be,t);a+=`?${e.toString()}`}r&&(a+=r),p.push(a)})).on("autocomplete:closed",(()=>{h.current?.blur()})),m.current.set(E,"done"),b(!1),g.current){const e=h.current;e.value&&S.current?.autocomplete.open(),e.focus()}}),[T,E,d,a,p]);(0,r.useEffect)((()=>{if(!ye.CU)return;const e=o?new URLSearchParams(f.search).getAll(Be):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ye.CU(t);n.unmark(),0!==e.length&&n.mark(e),x(e.join(" ")),S.current?.autocomplete.setVal(e.join(" "))}))}),[o,f.search,f.pathname]);const[j,L]=(0,r.useState)(!1),R=(0,r.useCallback)((()=>{g.current=!0,A(),L(!0),t?.(!0)}),[t,A]),N=(0,r.useCallback)((()=>{L(!1),t?.(!1)}),[t]),O=(0,r.useCallback)((()=>{A()}),[A]),I=(0,r.useCallback)((e=>{x(e.target.value),e.target.value&&w(!0)}),[]),D=!!o&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!ye.WW)return;const e=e=>{!(D?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),h.current?.focus(),R())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[D,R]);const F=(0,r.useCallback)((()=>{const e=new URLSearchParams(f.search);e.delete(Be);const t=e.toString(),n=f.pathname+(""!=t?`?${t}`:"")+f.hash;n!=f.pathname+f.search+f.hash&&p.push(n),x(""),S.current?.autocomplete.setVal("")}),[f.pathname,f.search,f.hash,p]);return(0,u.jsxs)("div",{className:(0,be.A)("navbar__search",Oe.searchBarContainer,{[Oe.searchIndexLoading]:y&&v,[Oe.focused]:j}),hidden:T,dir:"ltr",children:[(0,u.jsx)("input",{placeholder:(0,l.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:O,onFocus:R,onBlur:N,onChange:I,ref:h,value:k}),(0,u.jsx)(Fe.A,{className:Oe.searchBarLoadingRing}),ye.WW&&ye.pk&&(""!==k?(0,u.jsx)("button",{className:Oe.searchClearButton,onClick:F,children:"\u2715"}):o&&(0,u.jsxs)("div",{className:Oe.searchHintContainer,children:[(0,u.jsx)("kbd",{className:Oe.searchHint,children:D?"\u2318":"ctrl"}),(0,u.jsx)("kbd",{className:Oe.searchHint,children:"K"})]}))]})},Ue={navbarSearchContainer:"navbarSearchContainer_Bca1"};function qe(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.A)(n,Ue.navbarSearchContainer),children:t})}var He=n(6972);var Qe=n(3886);function Ve(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const We={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.A)(),p=(0,he.o)(),{search:f,hash:h}=(0,s.zy)(),m=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${h}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,l.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(me,{className:ge}),g]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(qe,{className:n,children:(0,u.jsx)($e,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ve.zK)(r),i=(0,He.QB)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ve.zK)(r),i=(0,He.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,He.Vd)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,s.zy)(),p=(0,ve.zK)(n),f=(0,ve.jh)(n),{savePreferredVersionName:h}=(0,Qe.g1)(n),m=[...o,...f.map((function(e){const t=Ve(e,p);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...a],g=(0,He.Vd)(n)[0],y=t&&m.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,b=t&&m.length>1?void 0:Ve(g,p).path;return m.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:y,to:b,items:m,isActive:r?()=>!1:void 0})}};function Ge(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=We[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function Ke(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ge,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ye(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ze(){const e=0===(0,w.p)().navbar.items.length,t=D();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Ye,{onClick:()=>t.hide()}),t.content]})}function Xe(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(F,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(Ke,{}),secondaryMenu:(0,u.jsx)(Ze,{})}):null}const Je={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function et(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function tt(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,L.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Je.navbarHideable,!d&&Je.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(et,{onClick:i.toggle}),(0,u.jsx)(Xe,{})]})}var nt=n(440);const rt={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function ot(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function at(e){let{error:t}=e;const n=(0,nt.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:rt.errorBoundaryError,children:n})}class it extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const st="right";function lt(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function ct(){const{toggle:e,shown:t}=(0,j.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(lt,{})})}const ut={colorModeToggle:"colorModeToggle_DEke"};function dt(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(it,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ge,{...e})},t)))})}function pt(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function ft(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??st)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(pt,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(ct,{}),(0,u.jsx)(G,{}),(0,u.jsx)(dt,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(dt,{items:r}),(0,u.jsx)(V,{className:ut.colorModeToggle}),!o&&(0,u.jsx)(qe,{children:(0,u.jsx)($e,{})})]})})}function ht(){return(0,u.jsx)(tt,{children:(0,u.jsx)(ft,{})})}function mt(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,X.Ay)(n),l=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,J.A)(r)&&(0,u.jsx)(te.A,{})]})}function gt(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(mt,{item:t})},t.href??t.to)}function yt(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(gt,{item:e},t)))})]})}function bt(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(yt,{column:e},t)))})}function vt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function wt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(mt,{item:t})}function kt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(wt,{item:e}),t.length!==n+1&&(0,u.jsx)(vt,{})]},n)))})})}function xt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(bt,{columns:t}):(0,u.jsx)(kt,{links:t})}var St=n(1122);const _t={footerLogoLink:"footerLogoLink_DDai"};function Et(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(St.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Ct(e){let{logo:t}=e;return t.href?(0,u.jsx)(Z.A,{href:t.href,className:_t.footerLogoLink,target:t.target,children:(0,u.jsx)(Et,{logo:t})}):(0,u.jsx)(Et,{logo:t})}function Tt(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function At(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),(0,u.jsxs)("p",{children:["If you find Chime TTS useful, please consider showing your support: ",(0,u.jsx)("a",{href:"https://www.buymeacoffee.com/nimroddolev",target:"_blank",children:(0,u.jsx)("img",{src:"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png",alt:"Buy me a coffee",id:"buyMeACoffee"})})]}),a]})]})})}function jt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(At,{style:o,links:n&&n.length>0&&(0,u.jsx)(xt,{links:n}),logo:r&&(0,u.jsx)(Ct,{logo:r}),copyright:t&&(0,u.jsx)(Tt,{copyright:t})})}const Lt=r.memo(jt),Pt=(0,P.fM)([M.a,k.o,L.Tv,Qe.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(R.y_,{children:(0,u.jsx)(j.e,{children:(0,u.jsx)(O,{children:t})})})}]);function Rt(e){let{children:t}=e;return(0,u.jsx)(Pt,{children:t})}var Nt=n(1107);function Ot(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(Nt.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(ot,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(at,{error:t})})]})})})}const It={mainWrapper:"mainWrapper_z2l0"};function Dt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,y.J)(),(0,u.jsxs)(Rt,{children:[(0,u.jsx)(i.be,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(A,{}),(0,u.jsx)(ht,{}),(0,u.jsx)("div",{id:d,className:(0,o.A)(g.G.wrapper.main,It.mainWrapper,r),children:(0,u.jsx)(a.A,{fallback:e=>(0,u.jsx)(Ot,{...e}),children:t})}),!n&&(0,u.jsx)(Lt,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(8774),o=n(6025),a=n(4586),i=n(6342),s=n(1122),l=n(4848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.Ay)(s?.href||"/"),h=n?"":t,m=s?.alt??h;return(0,l.jsxs)(r.A,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:m,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(5260),o=n(4848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(6540),o=n(4164),a=n(2303),i=n(5293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(4848);function c(e){let{className:t,children:n}=e;const c=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>c});var r=n(6540),o=n(8193),a=n(205),i=n(3109),s=n(4848);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function h(e){if(!o.A.canUseDOM)return e?u:d}function m(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:h(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(m,{...n,collapsed:l}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:m;return(0,s.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{M:()=>m,o:()=>h});var r=n(6540),o=n(2303),a=n(679),i=n(9532),s=n(6342),l=n(4848);const c=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>g});var r=n(6540),o=n(8193),a=n(9532),i=n(679),s=n(6342),l=n(4848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,h=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[o,a]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(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||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},9876:(e,t,n)=>{"use strict";n.d(t,{e:()=>f,M:()=>h});var r=n(6540),o=n(5600),a=n(4581),i=n(6347),s=n(9532);function l(e){!function(e){const t=(0,i.W6)(),n=(0,s._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6342),u=n(4848);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,c.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function h(){const e=r.useContext(d);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>l,y_:()=>s});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(6540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(6540),o=n(8193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1682:(e,t,n)=>{"use strict";function r(e){return Array.from(new Set(e))}function o(e,t){const n={};let r=0;for(const o of e){const e=t(o,r);n[e]??=[],n[e].push(o),r+=1}return n}n.d(t,{$z:()=>o,sb:()=>r})},1213:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>u,Jx:()=>f});var r=n(6540),o=n(4164),a=n(5260),i=n(6803),s=n(6025),l=n(4586);var c=n(4848);function u(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const u=function(e){const{siteConfig:t}=(0,l.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.hH)(),p=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.A,{children:[t&&(0,c.jsx)("title",{children:u}),t&&(0,c.jsx)("meta",{property:"og:title",content:u}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.A)(i,t);return(0,c.jsxs)(d.Provider,{value:s,children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("html",{className:s})}),n]})}function f(e){let{children:t}=e;const n=(0,i.A)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,o.A)(r,a),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>u});var r=n(6540),o=n(205),a=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(6540),o=n(8328),a=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>c,gk:()=>f});var r=n(6540),o=n(8193),a=n(2303),i=(n(205),n(9532)),s=n(4848);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c});n(6540);const r=JSON.parse('{"N":"localStorage","M":""}'),o=r.N;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,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 l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const o=i(t?.persistence);return null===o?l:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),o=n(6347),a=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,o.zy)(),c=(0,a.Ks)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),o=n(6347),a=n(9532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(4586);function o(){return(0,r.A)().siteConfig.themeConfig}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?o(l):a(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(2566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},440:(e,t,n)=>{"use strict";t.rA=t.Ks=t.LU=void 0;const r=n(1635);t.LU="__blog-post-container";var o=n(2983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(2566);var i=n(253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},2849:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(6540);var r=n(5391);const o={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};var a=n(4848);function i(e){let{className:t}=e;return(0,a.jsxs)("div",{className:(0,r.A)(o.loadingRing,t),children:[(0,a.jsx)("div",{}),(0,a.jsx)("div",{}),(0,a.jsx)("div",{}),(0,a.jsx)("div",{})]})}},5891:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8291),o=n.n(r),a=n(1088);const i=new Map;function s(e,t){const n=`${e}${t}`;let r=i.get(n);return r||(r=async function(e,t){{const n=`${e}${a.IH.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(n,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const r=await(await fetch(n)).json(),i=r.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:o().Index.load(r)}})),s=r.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:i,zhDictionary:Array.from(s)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),i.set(n,r)),r}},2384:(e,t,n)=>{"use strict";n.d(t,{m:()=>c});var r=n(8291),o=n.n(r);var a=n(1088);function i(e){return s(e).concat(s(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function s(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:o().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?o().Query.wildcard.TRAILING:o().Query.wildcard.NONE})))})))}var l=n(9913);function c(e,t,n){return function(r,s){const c=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return o()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,a.BH);if(0===c.length)return void s([]);const u=function(e,t){const n=function(e,t){const n=[];return function e(r,o){if(0===r.length)return void n.push(o);const a=r[0];if(/\p{Unified_Ideograph}/u.test(a)){const n=function(e,t){const n=[];return function e(r,o){let a=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:o.missed,term:o.term.concat({value:s})};r.length>s.length?e(r.substr(s.length),t):n.push(t),i=!0}else for(let t=s.length-1;t>a;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){a=t;const s={missed:o.missed,term:o.term.concat({value:l,trailing:!0})};r.length>t?e(r.substr(t),s):n.push(s),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:o.missed+1,term:o.term}):o.term.length>0&&n.push(o))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(a,t);for(const t of n){const n=o.concat(...t);e(r.slice(1),n)}}else{const t=o.concat({value:a});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:o().Query.presence.REQUIRED,wildcard:o().Query.wildcard.LEADING|o().Query.wildcard.TRAILING})))}];for(const o of n)o[o.length-1].maybeTyping=!0;const r=[];for(const i of a.BH)if("en"===i)a.sx||r.unshift(o().stopWordFilter);else{const e=o()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let s;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);s=[];const t=[];for(const r of n){const n=e(r);s.push(n),n.length0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const o of s)if(o.length>2)for(let e=o.length-1;e>=0;e-=1)l.push(o.slice(0,e).concat(o.slice(e+1)));return i(n).concat(i(l))}(c,t),d=[];e:for(const{term:t,tokens:o}of u)for(const{documents:r,index:a,type:i}of e)if(d.push(...a.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!d.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-d.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:i!==l.i.Title&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:o,score:t.score}}))),d.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type!==l.i.Heading&&t.type!==l.i.Content&&t.type!==l.i.Description||!t.page?t.index:e.findIndex((e=>e.document===t.page)),o=n.type!==l.i.Heading&&n.type!==l.i.Content&&n.type!==l.i.Description||!n.page?n.index:e.findIndex((e=>e.document===n.page));if(-1===r&&(r=t.index),-1===o&&(o=n.index),r===o){const e=(0===n.type?1:0)-(0===t.type?1:0);return 0===e?t.index-n.index:e}return r-o}))}(d),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.slice(0,n).some((e=>(e.type===l.i.Keywords?e.page:e.document)===t.page))&&(n{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{$:()=>r})},3103:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{Z:()=>r})},7674:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{g:()=>r})},6841:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(3103);function o(e,t,n){const a=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&a.push(o(e.substr(0,n),t)),a.push(`${(0,r.Z)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.Z)(e)}`:(0,r.Z)(e):a.join("")}},3810:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(3103),o=n(6841);const a=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const o=r.match(a);if(!o){t.push(r);break}o.index>0&&t.push(r.substring(0,o.index)),t.push(o[0]),n+=o.index+o[0].length,r=e.substring(n)}return t}var s=n(1088);function l(e,t,n,a){void 0===a&&(a=s.rG);const{chunkIndex:l,chunks:c}=function(e,t,n){const a=[];let s=0,l=0,c=-1;for(;sl){const t=i(e.substring(l,u)).map((e=>({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)a.push(e)}-1===c&&(c=a.length),l=u+d,a.push({html:(0,o.Z)(e.substring(u,l),n,!0),textLength:d})}}if(l({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)a.push(e)}return{chunkIndex:c,chunks:a}}(e,t,n),u=c.slice(0,l),d=c[l],p=[d.html],f=c.slice(l+1);let h=d.textLength,m=0,g=0,y=!1,b=!1;for(;h0){const e=u.pop();h+e.textLength<=a?(p.unshift(e.html),m+=e.textLength,h+=e.textLength):(y=!0,u.length=0)}else{if(!(f.length>0))break;{const e=f.shift();h+e.textLength<=a?(p.push(e.html),g+=e.textLength,h+=e.textLength):(b=!0,f.length=0)}}return(y||u.length>0)&&p.unshift("\u2026"),(b||f.length>0)&&p.push("\u2026"),p.join("")}},3385:(e,t,n)=>{"use strict";function r(e,t){if("string"==typeof e)return{label:e,path:e};{const{label:n,path:r}=e;return"string"==typeof n?{label:n,path:r}:Object.prototype.hasOwnProperty.call(n,t)?{label:n[t],path:r}:{label:r,path:r}}}n.d(t,{p:()=>r})},1088:(e,t,n)=>{"use strict";n.d(t,{CU:()=>a,UB:()=>f,tb:()=>c,O6:()=>g,I$:()=>h,BH:()=>r,sx:()=>o,ZG:()=>p,WW:()=>u,pk:()=>d,Hg:()=>m,IH:()=>i,rG:()=>l,AT:()=>s,dz:()=>y});n(8291);const r=["en"],o=!1,a=null,i="search-index{dir}.json?_=d2685850",s=8,l=50,c=!1,u=!0,d=!0,p="right",f=void 0,h=!0,m=null,g=!1,y=!1},9913:(e,t,n)=>{"use strict";var r;n.d(t,{i:()=>r}),function(e){e[e.Title=0]="Title",e[e.Heading=1]="Heading",e[e.Description=2]="Description",e[e.Keywords=3]="Keywords",e[e.Content=4]="Content"}(r||(r={}))},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>f,sC:()=>A,AO:()=>p});var r=n(8168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(1561);function l(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 p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,m(),w.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var o=f(n);o&&o!==h&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=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,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},8291:(e,t,n)=>{var r,o;!function(){var a,i,s,l,c,u,d,p,f,h,m,g,y,b,v,w,k,x,S,_,E,C,T,A,j,L,P,R,N,O,I=function(e){var t=new I.Builder;return t.pipeline.add(I.trimmer,I.stopWordFilter,I.stemmer),t.searchPipeline.add(I.stemmer),e.call(t,t),t.build()};I.version="2.3.9",I.utils={},I.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),I.utils.asString=function(e){return null==e?"":e.toString()},I.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=I.utils.clone(t)||{};l.position=[i,s],l.index=o.length,o.push(new I.Token(n.slice(i,a),l))}i=a+1}}return o},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:as?c+=2:i==s&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new I.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new I.TokenSet;o.node.edges["*"]=s}if(0==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new I.TokenSet;o.node.edges["*"]=l}1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,u=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?c=o.node.edges[d]:(c=new I.TokenSet,o.node.edges[d]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(o.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}},I.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},I.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=o)}()},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{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)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),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&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),o=n(8380),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),a.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),h=p.indexOf(f);if(h>-1){++o;var m=p.substring(0,h),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(h+f.length),b=[];m&&b.push.apply(b,i([m])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof c?s.splice.apply(s,[l,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},8692:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=8692},3157:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=3157},8380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var s={},l=e[r];if(l){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in s))for(var i in o(t,a),s[t]=!0,n[t])s[i]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[r]=s,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,s){var l=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(l);i=i.map(c),s=(s||[]).map(c);var u=n(i),d=n(s);i.forEach((function e(n){var r=l[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(l),h=u;o(h);){for(var m in p={},h){var g=l[m];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in u))for(var b in f(y))if(b in u){p[y]=!0;break}for(var v in h=p)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var o,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)o=r(e);else{var p=i(u.map((function(e){var t=c(e);return delete l[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return s[e]=o}for(var u in n)c(u);var d=[];for(var p in l)d.push(s[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=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 s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),o=n(9982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n