From 3b4cbb351ed3f1c273cf4351425c1086c532f62c Mon Sep 17 00:00:00 2001 From: Sparkier Date: Wed, 10 Jan 2024 14:14:37 +0000 Subject: [PATCH] deploy: 0ae34a280fdb157dd82546d3b898044575cc6a77 --- 404.html | 4 ++-- about/index.html | 4 ++-- assets/js/{1741efd4.e956fe5b.js => 1741efd4.d621a76f.js} | 2 +- assets/js/4bc6dbc6.b02f1943.js | 1 - assets/js/5d1a16ad.214ef86e.js | 1 + assets/js/ade309af.dd69bf8a.js | 1 - assets/js/{b2b675dd.3192af58.js => b2b675dd.084f6d38.js} | 2 +- assets/js/b2f554cd.147708fe.js | 1 + assets/js/b2f554cd.3f8870ff.js | 1 - assets/js/f76f6b06.bf4eeb95.js | 1 + assets/js/main.1e61ff2d.js | 2 ++ ...16f98.js.LICENSE.txt => main.1e61ff2d.js.LICENSE.txt} | 0 assets/js/main.69f16f98.js | 2 -- assets/js/runtime~main.144a24e3.js | 1 + assets/js/runtime~main.b06db1b1.js | 1 - blog/archive/index.html | 4 ++-- blog/atom.xml | 3 ++- blog/index.html | 9 +++++---- blog/newsletter-24-01/index.html | 7 ++++--- blog/rss.xml | 3 ++- blog/tags/index.html | 4 ++-- blog/tags/zenos-notes/index.html | 7 ++++--- docs/examples/index.html | 4 ++-- docs/examples/transcription/index.html | 4 ++-- docs/integrations/eleuther/index.html | 4 ++-- docs/integrations/index.html | 4 ++-- docs/integrations/ragas/index.html | 4 ++-- docs/intro/index.html | 4 ++-- docs/python-client/index.html | 4 ++-- docs/tutorials/index.html | 4 ++-- docs/tutorials/leaderboard/index.html | 4 ++-- docs/views/existing/index.html | 4 ++-- docs/views/index.html | 4 ++-- docs/views/spec/index.html | 4 ++-- docs/views/spec/other/index.html | 4 ++-- faq/index.html | 4 ++-- index.html | 4 ++-- 37 files changed, 63 insertions(+), 58 deletions(-) rename assets/js/{1741efd4.e956fe5b.js => 1741efd4.d621a76f.js} (64%) delete mode 100644 assets/js/4bc6dbc6.b02f1943.js create mode 100644 assets/js/5d1a16ad.214ef86e.js delete mode 100644 assets/js/ade309af.dd69bf8a.js rename assets/js/{b2b675dd.3192af58.js => b2b675dd.084f6d38.js} (68%) create mode 100644 assets/js/b2f554cd.147708fe.js delete mode 100644 assets/js/b2f554cd.3f8870ff.js create mode 100644 assets/js/f76f6b06.bf4eeb95.js create mode 100644 assets/js/main.1e61ff2d.js rename assets/js/{main.69f16f98.js.LICENSE.txt => main.1e61ff2d.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.69f16f98.js create mode 100644 assets/js/runtime~main.144a24e3.js delete mode 100644 assets/js/runtime~main.b06db1b1.js diff --git a/404.html b/404.html index 0fbc556b..99463760 100644 --- a/404.html +++ b/404.html @@ -13,8 +13,8 @@ - - + + diff --git a/about/index.html b/about/index.html index c780f777..75f49f22 100644 --- a/about/index.html +++ b/about/index.html @@ -13,8 +13,8 @@ - - + + diff --git a/assets/js/1741efd4.e956fe5b.js b/assets/js/1741efd4.d621a76f.js similarity index 64% rename from assets/js/1741efd4.e956fe5b.js rename to assets/js/1741efd4.d621a76f.js index 9d83dc87..3c8534b0 100644 --- a/assets/js/1741efd4.e956fe5b.js +++ b/assets/js/1741efd4.d621a76f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[217],{314:e=>{e.exports=JSON.parse('{"permalink":"/blog/tags/zenos-notes","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[217],{314:e=>{e.exports=JSON.parse('{"permalink":"/blog/tags/zenos-notes","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Updates and news from the Zeno team","blogTitle":"Zeno Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/4bc6dbc6.b02f1943.js b/assets/js/4bc6dbc6.b02f1943.js deleted file mode 100644 index 810efffb..00000000 --- a/assets/js/4bc6dbc6.b02f1943.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[577],{9065:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>i,toc:()=>h});var o=t(5893),a=t(1151);const s={slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},r=void 0,i={permalink:"/blog/newsletter-24-01",source:"@site/blog/2024-01-09-newsletter.md",title:"Zeno's Notes on AI Evaluation | January 2024",description:"Welcome to the first edition of the Zeno's Notes newsletter!",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"zeno's notes",permalink:"/blog/tags/zenos-notes"}],readingTime:3.575,hasTruncateMarker:!1,authors:[{name:"Alex Cabrera",title:"PhD Candidate @ CMU",url:"https://cabreraalex.com",imageURL:"https://cabreraalex.com/images/profile.png",key:"ac"},{name:"Alex B\xe4uerle",title:"Researcher @ CMU",url:"https://a13x.io",imageURL:"https://a13x.io/images/alex.jpeg",key:"ab"}],frontMatter:{slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},unlisted:!1},l={authorsImageUrls:[void 0,void 0]},h=[{value:"\ud83c\udf0e Community",id:"-community",level:2},{value:"An In-Depth Look at Gemini's Language Abilities",id:"an-in-depth-look-at-geminis-language-abilities",level:3},{value:"HuggingFace is Dropping DROP",id:"huggingface-is-dropping-drop",level:3},{value:"\ud83d\udcf0 Evaluation News",id:"-evaluation-news",level:2},{value:"CRUXEval",id:"cruxeval",level:3},{value:"CommonGen Leaderboard",id:"commongen-leaderboard",level:3},{value:"\u2728 New in Zeno",id:"-new-in-zeno",level:2},{value:"Integrations",id:"integrations",level:3},{value:"Documentation",id:"documentation",level:3}];function d(e){const n={a:"a",em:"em",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["Welcome to the first edition of the ",(0,o.jsx)(n.strong,{children:"Zeno's Notes"})," newsletter!\nEach month, we'll discuss the community's work around Zeno, interesting research and projects on AI evaluation, and new Zeno features."]}),"\n",(0,o.jsxs)(n.p,{children:["Before we dive in, we wanted to look back at the last few months since we launched ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com",children:"Zeno Hub"}),".\nOur users have created over ",(0,o.jsx)(n.strong,{children:"800 projects"})," and ",(0,o.jsx)(n.strong,{children:"1,400 slices"})," to evaluate more than ",(0,o.jsx)(n.strong,{children:"10,000 AI systems"}),"!\nThese insights have been used to author over ",(0,o.jsx)(n.strong,{children:"160 reports"}),", communicating interesting findings and insights.\nIt's exciting to see how Zeno is being used to make AI evaluation more accessible and transparent."]}),"\n",(0,o.jsx)(n.h2,{id:"-community",children:"\ud83c\udf0e Community"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Highlighting work from the Zeno community."})}),"\n",(0,o.jsx)(n.h3,{id:"an-in-depth-look-at-geminis-language-abilities",children:(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"An In-Depth Look at Gemini's Language Abilities"})}),"\n",(0,o.jsxs)(n.p,{children:["Researchers at CMU, including the Zeno team, conducted a ",(0,o.jsx)(n.a,{href:"https://x.com/gneubig/status/1737108966931673191?s=20",children:"deep dive into Gemini's language abilities"}),".\nThey compared Gemini Pro, Google's newly released LLM, with GPT-3.5-Turbo, GPT-4-Turbo, and Mixtral.\nOverall, they found that Gemini approaches but lags behind GPT-3.5-Turbo in all English tasks, yet performs better in translation into languages it supports.\nFor more detailed results, ",(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"read the paper"})," or explore the code on ",(0,o.jsx)(n.a,{href:"https://t.co/S7S9473xtP",children:"GitHub"}),".\nEach section of the paper is linked to a Zeno report for further exploration!"]}),"\n",(0,o.jsx)(n.h3,{id:"huggingface-is-dropping-drop",children:(0,o.jsx)(n.a,{href:"https://huggingface.co/blog/leaderboard-drop-dive",children:"HuggingFace is Dropping DROP"})}),"\n",(0,o.jsxs)(n.p,{children:["The HuggingFace ",(0,o.jsx)(n.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"})," is a popular repository for comparing new LLMs. HuggingFace recently added ",(0,o.jsx)(n.a,{href:"https://twitter.com/clefourrier/status/1722555555338956840",children:"three new benchmarks"})," to their leaderboard to better represent real-world performance.\nAfter receiving feedback from the community, they noticed significant fluctuations in the scores for one benchmark, DROP.\n",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/report/1255/DROP%20Benchmark%20Exploration",children:"Using Zeno"}),", they uncovered the reason behind the variance and decided to remove DROP from the leaderboard until a revised version of the benchmark is developed."]}),"\n",(0,o.jsx)(n.h2,{id:"-evaluation-news",children:"\ud83d\udcf0 Evaluation News"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Interesting news from the world of AI evaluation."})}),"\n",(0,o.jsx)(n.h3,{id:"cruxeval",children:(0,o.jsx)(n.a,{href:"https://crux-eval.github.io/",children:"CRUXEval"})}),"\n",(0,o.jsx)(n.p,{children:"Researchers from MIT and Meta AI Research released new evaluation dataset for code reasoning, understanding, and execution.\nInstead of having models generate code, CRUXEval asks models to either predict the output or input of a given function based on its signature.\nThis dataset, which includes 800 python functions, supplements classic code generation datasets such as HumanEval and MBPP.\nThey compared multiple open and closed-source models on their new benchmarks and found that there is quite a bit of room for improvement."}),"\n",(0,o.jsx)(n.h3,{id:"commongen-leaderboard",children:(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"CommonGen Leaderboard"})}),"\n",(0,o.jsxs)(n.p,{children:["CommonGen is a challenging benchmark task asking models to generate coherent sentences describing everyday scenarios.\nThe reseaerchers behind the benchmark, from USC, Allen AI, and UW, recently updated their ",(0,o.jsx)(n.a,{href:"https://github.com/allenai/CommonGen-Eval",children:"eval repository"})," with a ",(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"new leaderboard"})," for the task, showing how state-of-the-art models, including GPT-4, perform significantly worse than humans.\nThe authors argue that the task is so hard because it requires relational reasoning using background common sense knowledge and the models need to be able to generalize to unseen concept combinations."]}),"\n",(0,o.jsx)(n.h2,{id:"-new-in-zeno",children:"\u2728 New in Zeno"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Updates to Zeno that you'll love."})}),"\n",(0,o.jsx)(n.h3,{id:"integrations",children:"Integrations"}),"\n",(0,o.jsxs)(n.p,{children:["We've been focusing on making it even easier for you to analyze your evaluation results in Zeno by ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integrating Zeno into other AI evaluation frameworks"}),".\nYou can now directly upload your model outputs if you're using the ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"EleutherAI LM Evaluation Harness"})," or the ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/index.html",children:"Ragas Framework"}),"."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Ragas"})," is a library for model-graded evaluation of RAG applications. We've added ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/howtos/integrations/zeno.html",children:"a detailed tutorial"})," on how to use Zeno to investigate your evaluation results. You can view an example of this in Zeno ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/ragas%20FICA%20eval",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"EleutherAI LM Evaluation Harness"})," is a popular library for running LLM benchmarks. We wrote a script that allows you to directly upload all your evaluation data as a Zeno project, enabling you to compare different models across various benchmarks provided by EleutherAI. To start visualizing your LM Evaluation Harness data in Zeno, follow ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results",children:"these instructions"})," or take a look at our ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb",children:"example notebook"}),". We've already used this integration for some of our own projects, such as ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag",children:"this evaluation of the Mamba architecture"}),"!"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"documentation",children:"Documentation"}),"\n",(0,o.jsxs)(n.p,{children:["We've also been working on improving our documentation to make it easier for you to get started with Zeno.\nThis includes ",(0,o.jsx)(n.a,{href:"http://localhost:3000/docs/examples/",children:"use cases"}),", ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/tutorials/",children:"tutorials"}),", and ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integration guides"}),".\nIf you have any suggestions for what you'd like to see in our documentation, please let us know!"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsxs)(n.em,{children:["If you have questions about Zeno or anything we've highlighted in this newsletter, have ideas for new Zeno features or content for a future issue of Zeno's Notes, or simply want to say hi, get in touch via ",(0,o.jsx)(n.a,{href:"mailto:hello@zenoml.com",children:"email"})," or join our ",(0,o.jsx)(n.a,{href:"https://discord.gg/km62pDKAkE",children:"Discord"}),"."]})})]})}function c(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>r});var o=t(7294);const a={},s=o.createContext(a);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d1a16ad.214ef86e.js b/assets/js/5d1a16ad.214ef86e.js new file mode 100644 index 00000000..a914a1e3 --- /dev/null +++ b/assets/js/5d1a16ad.214ef86e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[830],{4204:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>i,toc:()=>h});var o=t(5893),a=t(1151);const s={slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},r=void 0,i={permalink:"/blog/newsletter-24-01",source:"@site/blog/2024-01-09-newsletter.mdx",title:"Zeno's Notes on AI Evaluation | January 2024",description:"Welcome to the first edition of the Zeno's Notes newsletter!",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"zeno's notes",permalink:"/blog/tags/zenos-notes"}],readingTime:3.625,hasTruncateMarker:!1,authors:[{name:"Alex Cabrera",title:"PhD Candidate @ CMU",url:"https://cabreraalex.com",imageURL:"https://cabreraalex.com/images/profile.png",key:"ac"},{name:"Alex B\xe4uerle",title:"Researcher @ CMU",url:"https://a13x.io",imageURL:"https://a13x.io/images/alex.jpeg",key:"ab"}],frontMatter:{slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},unlisted:!1},l={authorsImageUrls:[void 0,void 0]},h=[{value:"\ud83c\udf0e Community",id:"-community",level:2},{value:"An In-Depth Look at Gemini's Language Abilities",id:"an-in-depth-look-at-geminis-language-abilities",level:3},{value:"HuggingFace is Dropping DROP",id:"huggingface-is-dropping-drop",level:3},{value:"\ud83d\udcf0 Evaluation News",id:"-evaluation-news",level:2},{value:"CRUXEval",id:"cruxeval",level:3},{value:"CommonGen Leaderboard",id:"commongen-leaderboard",level:3},{value:"\u2728 New in Zeno",id:"-new-in-zeno",level:2},{value:"Integrations",id:"integrations",level:3},{value:"Documentation",id:"documentation",level:3}];function d(e){const n={a:"a",em:"em",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["Welcome to the first edition of the ",(0,o.jsx)(n.strong,{children:"Zeno's Notes"})," newsletter!\nEach month, we'll discuss the community's work around Zeno, interesting research and projects on AI evaluation, and new Zeno features."]}),"\n",(0,o.jsxs)(n.p,{children:["Before we dive in, we wanted to look back at the last few months since we launched ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com",children:"Zeno Hub"}),".\nOur users have created over ",(0,o.jsx)(n.strong,{children:"800 projects"})," and ",(0,o.jsx)(n.strong,{children:"1,400 slices"})," to evaluate more than ",(0,o.jsx)(n.strong,{children:"10,000 AI systems"}),"!\nThese insights have been used to author over ",(0,o.jsx)(n.strong,{children:"160 reports"}),", communicating interesting findings and insights.\nIt's exciting to see how Zeno is being used to make AI evaluation more accessible and transparent."]}),"\n",(0,o.jsx)(n.h2,{id:"-community",children:"\ud83c\udf0e Community"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Highlighting work from the Zeno community."})}),"\n",(0,o.jsx)(n.h3,{id:"an-in-depth-look-at-geminis-language-abilities",children:(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"An In-Depth Look at Gemini's Language Abilities"})}),"\n",(0,o.jsxs)(n.p,{children:["Researchers at CMU, including the Zeno team, conducted a ",(0,o.jsx)(n.a,{href:"https://x.com/gneubig/status/1737108966931673191?s=20",children:"deep dive into Gemini's language abilities"}),".\nThey compared Gemini Pro, Google's newly released LLM, with GPT-3.5-Turbo, GPT-4-Turbo, and Mixtral.\nOverall, they found that Gemini approaches but lags behind GPT-3.5-Turbo in all English tasks, yet performs better in translation into languages it supports.\nFor more detailed results, ",(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"read the paper"})," or explore the code on ",(0,o.jsx)(n.a,{href:"https://t.co/S7S9473xtP",children:"GitHub"}),".\nEach section of the paper is linked to a Zeno report for further exploration!"]}),"\n",(0,o.jsx)(n.h3,{id:"huggingface-is-dropping-drop",children:(0,o.jsx)(n.a,{href:"https://huggingface.co/blog/leaderboard-drop-dive",children:"HuggingFace is Dropping DROP"})}),"\n",(0,o.jsxs)(n.p,{children:["The HuggingFace ",(0,o.jsx)(n.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"})," is a popular repository for comparing new LLMs. HuggingFace recently added ",(0,o.jsx)(n.a,{href:"https://twitter.com/clefourrier/status/1722555555338956840",children:"three new benchmarks"})," to their leaderboard to better represent real-world performance.\nAfter receiving feedback from the community, they noticed significant fluctuations in the scores for one benchmark, DROP.\n",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/report/1255/DROP%20Benchmark%20Exploration",children:"Using Zeno"}),", they uncovered the reason behind the variance and decided to remove DROP from the leaderboard until a revised version of the benchmark is developed."]}),"\n",(0,o.jsx)(n.h2,{id:"-evaluation-news",children:"\ud83d\udcf0 Evaluation News"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Interesting news from the world of AI evaluation."})}),"\n",(0,o.jsx)(n.h3,{id:"cruxeval",children:(0,o.jsx)(n.a,{href:"https://crux-eval.github.io/",children:"CRUXEval"})}),"\n",(0,o.jsx)(n.p,{children:"Researchers from MIT and Meta AI Research released new evaluation dataset for code reasoning, understanding, and execution.\nInstead of having models generate code, CRUXEval asks models to either predict the output or input of a given function based on its signature.\nThis dataset, which includes 800 python functions, supplements classic code generation datasets such as HumanEval and MBPP.\nThey compared multiple open and closed-source models on their new benchmarks and found that there is quite a bit of room for improvement."}),"\n",(0,o.jsx)(n.h3,{id:"commongen-leaderboard",children:(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"CommonGen Leaderboard"})}),"\n",(0,o.jsxs)(n.p,{children:["CommonGen is a challenging benchmark task asking models to generate coherent sentences describing everyday scenarios.\nThe reseaerchers behind the benchmark, from USC, Allen AI, and UW, recently updated their ",(0,o.jsx)(n.a,{href:"https://github.com/allenai/CommonGen-Eval",children:"eval repository"})," with a ",(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"new leaderboard"})," for the task, showing how state-of-the-art models, including GPT-4, perform significantly worse than humans.\nThe authors argue that the task is so hard because it requires relational reasoning using background common sense knowledge and the models need to be able to generalize to unseen concept combinations."]}),"\n",(0,o.jsx)(n.h2,{id:"-new-in-zeno",children:"\u2728 New in Zeno"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Updates to Zeno that you'll love."})}),"\n",(0,o.jsx)(n.h3,{id:"integrations",children:"Integrations"}),"\n",(0,o.jsxs)(n.p,{children:["We've been focusing on making it even easier for you to analyze your evaluation results in Zeno by ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integrating Zeno into other AI evaluation frameworks"}),".\nYou can now directly upload your model outputs if you're using the ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"EleutherAI LM Evaluation Harness"})," or the ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/index.html",children:"Ragas Framework"}),"."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Ragas"})," is a library for model-graded evaluation of RAG applications. We've added ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/howtos/integrations/zeno.html",children:"a detailed tutorial"})," on how to use Zeno to investigate your evaluation results. You can view an example of this in Zeno ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/ragas%20FICA%20eval",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"EleutherAI LM Evaluation Harness"})," is a popular library for running LLM benchmarks. We wrote a script that allows you to directly upload all your evaluation data as a Zeno project, enabling you to compare different models across various benchmarks provided by EleutherAI. To start visualizing your LM Evaluation Harness data in Zeno, follow ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results",children:"these instructions"})," or take a look at our ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb",children:"example notebook"}),". We've already used this integration for some of our own projects, such as ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag",children:"this evaluation of the Mamba architecture"}),"!"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"documentation",children:"Documentation"}),"\n",(0,o.jsxs)(n.p,{children:["We've also been working on improving our documentation to make it easier for you to get started with Zeno.\nThis includes ",(0,o.jsx)(n.a,{href:"http://localhost:3000/docs/examples/",children:"use cases"}),", ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/tutorials/",children:"tutorials"}),", and ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integration guides"}),".\nIf you have any suggestions for what you'd like to see in our documentation, please let us know!"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsxs)(n.em,{children:["If you have questions about Zeno or anything we've highlighted in this newsletter, have ideas for new Zeno features or content for a future issue of Zeno's Notes, or simply want to say hi, get in touch via ",(0,o.jsx)(n.a,{href:"mailto:hello@zenoml.com",children:"email"})," or join our ",(0,o.jsx)(n.a,{href:"https://discord.gg/km62pDKAkE",children:"Discord"}),"."]})}),"\n",(0,o.jsx)("iframe",{src:"https://dashboard.mailerlite.com/forms/754700/109912648489895524/share",width:"100%",height:"200px",style:{borderRadius:"4px"},frameborder:"0"})]})}function c(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>r});var o=t(7294);const a={},s=o.createContext(a);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ade309af.dd69bf8a.js b/assets/js/ade309af.dd69bf8a.js deleted file mode 100644 index b952d575..00000000 --- a/assets/js/ade309af.dd69bf8a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[198],{8397:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>i,toc:()=>h});var o=t(5893),a=t(1151);const s={slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},r=void 0,i={permalink:"/blog/newsletter-24-01",source:"@site/blog/2024-01-09-newsletter.md",title:"Zeno's Notes on AI Evaluation | January 2024",description:"Welcome to the first edition of the Zeno's Notes newsletter!",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"zeno's notes",permalink:"/blog/tags/zenos-notes"}],readingTime:3.575,hasTruncateMarker:!1,authors:[{name:"Alex Cabrera",title:"PhD Candidate @ CMU",url:"https://cabreraalex.com",imageURL:"https://cabreraalex.com/images/profile.png",key:"ac"},{name:"Alex B\xe4uerle",title:"Researcher @ CMU",url:"https://a13x.io",imageURL:"https://a13x.io/images/alex.jpeg",key:"ab"}],frontMatter:{slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},unlisted:!1},l={authorsImageUrls:[void 0,void 0]},h=[{value:"\ud83c\udf0e Community",id:"-community",level:2},{value:"An In-Depth Look at Gemini's Language Abilities",id:"an-in-depth-look-at-geminis-language-abilities",level:3},{value:"HuggingFace is Dropping DROP",id:"huggingface-is-dropping-drop",level:3},{value:"\ud83d\udcf0 Evaluation News",id:"-evaluation-news",level:2},{value:"CRUXEval",id:"cruxeval",level:3},{value:"CommonGen Leaderboard",id:"commongen-leaderboard",level:3},{value:"\u2728 New in Zeno",id:"-new-in-zeno",level:2},{value:"Integrations",id:"integrations",level:3},{value:"Documentation",id:"documentation",level:3}];function d(e){const n={a:"a",em:"em",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["Welcome to the first edition of the ",(0,o.jsx)(n.strong,{children:"Zeno's Notes"})," newsletter!\nEach month, we'll discuss the community's work around Zeno, interesting research and projects on AI evaluation, and new Zeno features."]}),"\n",(0,o.jsxs)(n.p,{children:["Before we dive in, we wanted to look back at the last few months since we launched ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com",children:"Zeno Hub"}),".\nOur users have created over ",(0,o.jsx)(n.strong,{children:"800 projects"})," and ",(0,o.jsx)(n.strong,{children:"1,400 slices"})," to evaluate more than ",(0,o.jsx)(n.strong,{children:"10,000 AI systems"}),"!\nThese insights have been used to author over ",(0,o.jsx)(n.strong,{children:"160 reports"}),", communicating interesting findings and insights.\nIt's exciting to see how Zeno is being used to make AI evaluation more accessible and transparent."]}),"\n",(0,o.jsx)(n.h2,{id:"-community",children:"\ud83c\udf0e Community"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Highlighting work from the Zeno community."})}),"\n",(0,o.jsx)(n.h3,{id:"an-in-depth-look-at-geminis-language-abilities",children:(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"An In-Depth Look at Gemini's Language Abilities"})}),"\n",(0,o.jsxs)(n.p,{children:["Researchers at CMU, including the Zeno team, conducted a ",(0,o.jsx)(n.a,{href:"https://x.com/gneubig/status/1737108966931673191?s=20",children:"deep dive into Gemini's language abilities"}),".\nThey compared Gemini Pro, Google's newly released LLM, with GPT-3.5-Turbo, GPT-4-Turbo, and Mixtral.\nOverall, they found that Gemini approaches but lags behind GPT-3.5-Turbo in all English tasks, yet performs better in translation into languages it supports.\nFor more detailed results, ",(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"read the paper"})," or explore the code on ",(0,o.jsx)(n.a,{href:"https://t.co/S7S9473xtP",children:"GitHub"}),".\nEach section of the paper is linked to a Zeno report for further exploration!"]}),"\n",(0,o.jsx)(n.h3,{id:"huggingface-is-dropping-drop",children:(0,o.jsx)(n.a,{href:"https://huggingface.co/blog/leaderboard-drop-dive",children:"HuggingFace is Dropping DROP"})}),"\n",(0,o.jsxs)(n.p,{children:["The HuggingFace ",(0,o.jsx)(n.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"})," is a popular repository for comparing new LLMs. HuggingFace recently added ",(0,o.jsx)(n.a,{href:"https://twitter.com/clefourrier/status/1722555555338956840",children:"three new benchmarks"})," to their leaderboard to better represent real-world performance.\nAfter receiving feedback from the community, they noticed significant fluctuations in the scores for one benchmark, DROP.\n",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/report/1255/DROP%20Benchmark%20Exploration",children:"Using Zeno"}),", they uncovered the reason behind the variance and decided to remove DROP from the leaderboard until a revised version of the benchmark is developed."]}),"\n",(0,o.jsx)(n.h2,{id:"-evaluation-news",children:"\ud83d\udcf0 Evaluation News"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Interesting news from the world of AI evaluation."})}),"\n",(0,o.jsx)(n.h3,{id:"cruxeval",children:(0,o.jsx)(n.a,{href:"https://crux-eval.github.io/",children:"CRUXEval"})}),"\n",(0,o.jsx)(n.p,{children:"Researchers from MIT and Meta AI Research released new evaluation dataset for code reasoning, understanding, and execution.\nInstead of having models generate code, CRUXEval asks models to either predict the output or input of a given function based on its signature.\nThis dataset, which includes 800 python functions, supplements classic code generation datasets such as HumanEval and MBPP.\nThey compared multiple open and closed-source models on their new benchmarks and found that there is quite a bit of room for improvement."}),"\n",(0,o.jsx)(n.h3,{id:"commongen-leaderboard",children:(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"CommonGen Leaderboard"})}),"\n",(0,o.jsxs)(n.p,{children:["CommonGen is a challenging benchmark task asking models to generate coherent sentences describing everyday scenarios.\nThe reseaerchers behind the benchmark, from USC, Allen AI, and UW, recently updated their ",(0,o.jsx)(n.a,{href:"https://github.com/allenai/CommonGen-Eval",children:"eval repository"})," with a ",(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"new leaderboard"})," for the task, showing how state-of-the-art models, including GPT-4, perform significantly worse than humans.\nThe authors argue that the task is so hard because it requires relational reasoning using background common sense knowledge and the models need to be able to generalize to unseen concept combinations."]}),"\n",(0,o.jsx)(n.h2,{id:"-new-in-zeno",children:"\u2728 New in Zeno"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Updates to Zeno that you'll love."})}),"\n",(0,o.jsx)(n.h3,{id:"integrations",children:"Integrations"}),"\n",(0,o.jsxs)(n.p,{children:["We've been focusing on making it even easier for you to analyze your evaluation results in Zeno by ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integrating Zeno into other AI evaluation frameworks"}),".\nYou can now directly upload your model outputs if you're using the ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"EleutherAI LM Evaluation Harness"})," or the ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/index.html",children:"Ragas Framework"}),"."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Ragas"})," is a library for model-graded evaluation of RAG applications. We've added ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/howtos/integrations/zeno.html",children:"a detailed tutorial"})," on how to use Zeno to investigate your evaluation results. You can view an example of this in Zeno ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/ragas%20FICA%20eval",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"EleutherAI LM Evaluation Harness"})," is a popular library for running LLM benchmarks. We wrote a script that allows you to directly upload all your evaluation data as a Zeno project, enabling you to compare different models across various benchmarks provided by EleutherAI. To start visualizing your LM Evaluation Harness data in Zeno, follow ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results",children:"these instructions"})," or take a look at our ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb",children:"example notebook"}),". We've already used this integration for some of our own projects, such as ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag",children:"this evaluation of the Mamba architecture"}),"!"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"documentation",children:"Documentation"}),"\n",(0,o.jsxs)(n.p,{children:["We've also been working on improving our documentation to make it easier for you to get started with Zeno.\nThis includes ",(0,o.jsx)(n.a,{href:"http://localhost:3000/docs/examples/",children:"use cases"}),", ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/tutorials/",children:"tutorials"}),", and ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integration guides"}),".\nIf you have any suggestions for what you'd like to see in our documentation, please let us know!"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsxs)(n.em,{children:["If you have questions about Zeno or anything we've highlighted in this newsletter, have ideas for new Zeno features or content for a future issue of Zeno's Notes, or simply want to say hi, get in touch via ",(0,o.jsx)(n.a,{href:"mailto:hello@zenoml.com",children:"email"})," or join our ",(0,o.jsx)(n.a,{href:"https://discord.gg/km62pDKAkE",children:"Discord"}),"."]})})]})}function c(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>r});var o=t(7294);const a={},s=o.createContext(a);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b2b675dd.3192af58.js b/assets/js/b2b675dd.084f6d38.js similarity index 68% rename from assets/js/b2b675dd.3192af58.js rename to assets/js/b2b675dd.084f6d38.js index 70aff17a..15056abd 100644 --- a/assets/js/b2b675dd.3192af58.js +++ b/assets/js/b2b675dd.084f6d38.js @@ -1 +1 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[533],{8017:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[533],{8017:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Updates and news from the Zeno team","blogTitle":"Zeno Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.147708fe.js b/assets/js/b2f554cd.147708fe.js new file mode 100644 index 00000000..7f166ef9 --- /dev/null +++ b/assets/js/b2f554cd.147708fe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"newsletter-24-01","metadata":{"permalink":"/blog/newsletter-24-01","source":"@site/blog/2024-01-09-newsletter.mdx","title":"Zeno\'s Notes on AI Evaluation | January 2024","description":"Welcome to the first edition of the Zeno\'s Notes newsletter!","date":"2024-01-09T00:00:00.000Z","formattedDate":"January 9, 2024","tags":[{"label":"zeno\'s notes","permalink":"/blog/tags/zenos-notes"}],"readingTime":3.625,"hasTruncateMarker":false,"authors":[{"name":"Alex Cabrera","title":"PhD Candidate @ CMU","url":"https://cabreraalex.com","imageURL":"https://cabreraalex.com/images/profile.png","key":"ac"},{"name":"Alex B\xe4uerle","title":"Researcher @ CMU","url":"https://a13x.io","imageURL":"https://a13x.io/images/alex.jpeg","key":"ab"}],"frontMatter":{"slug":"newsletter-24-01","title":"Zeno\'s Notes on AI Evaluation | January 2024","authors":["ac","ab"],"tags":["zeno\'s notes"]},"unlisted":false},"content":"Welcome to the first edition of the **Zeno\'s Notes** newsletter!\\nEach month, we\'ll discuss the community\'s work around Zeno, interesting research and projects on AI evaluation, and new Zeno features.\\n\\nBefore we dive in, we wanted to look back at the last few months since we launched [Zeno Hub](https://hub.zenoml.com).\\nOur users have created over **800 projects** and **1,400 slices** to evaluate more than **10,000 AI systems**!\\nThese insights have been used to author over **160 reports**, communicating interesting findings and insights.\\nIt\'s exciting to see how Zeno is being used to make AI evaluation more accessible and transparent.\\n\\n## \ud83c\udf0e Community\\n\\n_Highlighting work from the Zeno community._\\n\\n### [An In-Depth Look at Gemini\'s Language Abilities](https://arxiv.org/abs/2312.11444)\\n\\nResearchers at CMU, including the Zeno team, conducted a [deep dive into Gemini\'s language abilities](https://x.com/gneubig/status/1737108966931673191?s=20).\\nThey compared Gemini Pro, Google\'s newly released LLM, with GPT-3.5-Turbo, GPT-4-Turbo, and Mixtral.\\nOverall, they found that Gemini approaches but lags behind GPT-3.5-Turbo in all English tasks, yet performs better in translation into languages it supports.\\nFor more detailed results, [read the paper](https://arxiv.org/abs/2312.11444) or explore the code on [GitHub](https://t.co/S7S9473xtP).\\nEach section of the paper is linked to a Zeno report for further exploration!\\n\\n### [HuggingFace is Dropping DROP](https://huggingface.co/blog/leaderboard-drop-dive)\\n\\nThe HuggingFace [Open LLM Leaderboard](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) is a popular repository for comparing new LLMs. HuggingFace recently added [three new benchmarks](https://twitter.com/clefourrier/status/1722555555338956840) to their leaderboard to better represent real-world performance.\\nAfter receiving feedback from the community, they noticed significant fluctuations in the scores for one benchmark, DROP.\\n[Using Zeno](https://hub.zenoml.com/report/1255/DROP%20Benchmark%20Exploration), they uncovered the reason behind the variance and decided to remove DROP from the leaderboard until a revised version of the benchmark is developed.\\n\\n## \ud83d\udcf0 Evaluation News\\n\\n_Interesting news from the world of AI evaluation._\\n\\n### [CRUXEval](https://crux-eval.github.io/)\\n\\nResearchers from MIT and Meta AI Research released new evaluation dataset for code reasoning, understanding, and execution.\\nInstead of having models generate code, CRUXEval asks models to either predict the output or input of a given function based on its signature.\\nThis dataset, which includes 800 python functions, supplements classic code generation datasets such as HumanEval and MBPP.\\nThey compared multiple open and closed-source models on their new benchmarks and found that there is quite a bit of room for improvement.\\n\\n### [CommonGen Leaderboard](https://inklab.usc.edu/CommonGen/leaderboard.html)\\n\\nCommonGen is a challenging benchmark task asking models to generate coherent sentences describing everyday scenarios.\\nThe reseaerchers behind the benchmark, from USC, Allen AI, and UW, recently updated their [eval repository](https://github.com/allenai/CommonGen-Eval) with a [new leaderboard](https://inklab.usc.edu/CommonGen/leaderboard.html) for the task, showing how state-of-the-art models, including GPT-4, perform significantly worse than humans.\\nThe authors argue that the task is so hard because it requires relational reasoning using background common sense knowledge and the models need to be able to generalize to unseen concept combinations.\\n\\n## \u2728 New in Zeno\\n\\n_Updates to Zeno that you\'ll love._\\n\\n### Integrations\\n\\nWe\'ve been focusing on making it even easier for you to analyze your evaluation results in Zeno by [integrating Zeno into other AI evaluation frameworks](https://zenoml.com/docs/integrations/).\\nYou can now directly upload your model outputs if you\'re using the [EleutherAI LM Evaluation Harness](https://github.com/EleutherAI/lm-evaluation-harness) or the [Ragas Framework](https://docs.ragas.io/en/latest/index.html).\\n\\n- **Ragas** is a library for model-graded evaluation of RAG applications. We\'ve added [a detailed tutorial](https://docs.ragas.io/en/latest/howtos/integrations/zeno.html) on how to use Zeno to investigate your evaluation results. You can view an example of this in Zeno [here](https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/ragas%20FICA%20eval).\\n\\n- **EleutherAI LM Evaluation Harness** is a popular library for running LLM benchmarks. We wrote a script that allows you to directly upload all your evaluation data as a Zeno project, enabling you to compare different models across various benchmarks provided by EleutherAI. To start visualizing your LM Evaluation Harness data in Zeno, follow [these instructions](https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results) or take a look at our [example notebook](https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb). We\'ve already used this integration for some of our own projects, such as [this evaluation of the Mamba architecture](https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag)!\\n\\n### Documentation\\n\\nWe\'ve also been working on improving our documentation to make it easier for you to get started with Zeno.\\nThis includes [use cases](http://localhost:3000/docs/examples/), [tutorials](https://zenoml.com/docs/tutorials/), and [integration guides](https://zenoml.com/docs/integrations/).\\nIf you have any suggestions for what you\'d like to see in our documentation, please let us know!\\n\\n---\\n\\n_If you have questions about Zeno or anything we\'ve highlighted in this newsletter, have ideas for new Zeno features or content for a future issue of Zeno\'s Notes, or simply want to say hi, get in touch via [email](mailto:hello@zenoml.com) or join our [Discord](https://discord.gg/km62pDKAkE)._\\n\\n"}]}')}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.3f8870ff.js b/assets/js/b2f554cd.3f8870ff.js deleted file mode 100644 index f6ac6012..00000000 --- a/assets/js/b2f554cd.3f8870ff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"newsletter-24-01","metadata":{"permalink":"/blog/newsletter-24-01","source":"@site/blog/2024-01-09-newsletter.md","title":"Zeno\'s Notes on AI Evaluation | January 2024","description":"Welcome to the first edition of the Zeno\'s Notes newsletter!","date":"2024-01-09T00:00:00.000Z","formattedDate":"January 9, 2024","tags":[{"label":"zeno\'s notes","permalink":"/blog/tags/zenos-notes"}],"readingTime":3.575,"hasTruncateMarker":false,"authors":[{"name":"Alex Cabrera","title":"PhD Candidate @ CMU","url":"https://cabreraalex.com","imageURL":"https://cabreraalex.com/images/profile.png","key":"ac"},{"name":"Alex B\xe4uerle","title":"Researcher @ CMU","url":"https://a13x.io","imageURL":"https://a13x.io/images/alex.jpeg","key":"ab"}],"frontMatter":{"slug":"newsletter-24-01","title":"Zeno\'s Notes on AI Evaluation | January 2024","authors":["ac","ab"],"tags":["zeno\'s notes"]},"unlisted":false},"content":"Welcome to the first edition of the **Zeno\'s Notes** newsletter!\\nEach month, we\'ll discuss the community\'s work around Zeno, interesting research and projects on AI evaluation, and new Zeno features.\\n\\nBefore we dive in, we wanted to look back at the last few months since we launched [Zeno Hub](https://hub.zenoml.com).\\nOur users have created over **800 projects** and **1,400 slices** to evaluate more than **10,000 AI systems**!\\nThese insights have been used to author over **160 reports**, communicating interesting findings and insights.\\nIt\'s exciting to see how Zeno is being used to make AI evaluation more accessible and transparent.\\n\\n## \ud83c\udf0e Community\\n\\n_Highlighting work from the Zeno community._\\n\\n### [An In-Depth Look at Gemini\'s Language Abilities](https://arxiv.org/abs/2312.11444)\\n\\nResearchers at CMU, including the Zeno team, conducted a [deep dive into Gemini\'s language abilities](https://x.com/gneubig/status/1737108966931673191?s=20).\\nThey compared Gemini Pro, Google\'s newly released LLM, with GPT-3.5-Turbo, GPT-4-Turbo, and Mixtral.\\nOverall, they found that Gemini approaches but lags behind GPT-3.5-Turbo in all English tasks, yet performs better in translation into languages it supports.\\nFor more detailed results, [read the paper](https://arxiv.org/abs/2312.11444) or explore the code on [GitHub](https://t.co/S7S9473xtP).\\nEach section of the paper is linked to a Zeno report for further exploration!\\n\\n### [HuggingFace is Dropping DROP](https://huggingface.co/blog/leaderboard-drop-dive)\\n\\nThe HuggingFace [Open LLM Leaderboard](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) is a popular repository for comparing new LLMs. HuggingFace recently added [three new benchmarks](https://twitter.com/clefourrier/status/1722555555338956840) to their leaderboard to better represent real-world performance.\\nAfter receiving feedback from the community, they noticed significant fluctuations in the scores for one benchmark, DROP.\\n[Using Zeno](https://hub.zenoml.com/report/1255/DROP%20Benchmark%20Exploration), they uncovered the reason behind the variance and decided to remove DROP from the leaderboard until a revised version of the benchmark is developed.\\n\\n## \ud83d\udcf0 Evaluation News\\n\\n_Interesting news from the world of AI evaluation._\\n\\n### [CRUXEval](https://crux-eval.github.io/)\\n\\nResearchers from MIT and Meta AI Research released new evaluation dataset for code reasoning, understanding, and execution.\\nInstead of having models generate code, CRUXEval asks models to either predict the output or input of a given function based on its signature.\\nThis dataset, which includes 800 python functions, supplements classic code generation datasets such as HumanEval and MBPP.\\nThey compared multiple open and closed-source models on their new benchmarks and found that there is quite a bit of room for improvement.\\n\\n### [CommonGen Leaderboard](https://inklab.usc.edu/CommonGen/leaderboard.html)\\n\\nCommonGen is a challenging benchmark task asking models to generate coherent sentences describing everyday scenarios.\\nThe reseaerchers behind the benchmark, from USC, Allen AI, and UW, recently updated their [eval repository](https://github.com/allenai/CommonGen-Eval) with a [new leaderboard](https://inklab.usc.edu/CommonGen/leaderboard.html) for the task, showing how state-of-the-art models, including GPT-4, perform significantly worse than humans.\\nThe authors argue that the task is so hard because it requires relational reasoning using background common sense knowledge and the models need to be able to generalize to unseen concept combinations.\\n\\n## \u2728 New in Zeno\\n\\n_Updates to Zeno that you\'ll love._\\n\\n### Integrations\\n\\nWe\'ve been focusing on making it even easier for you to analyze your evaluation results in Zeno by [integrating Zeno into other AI evaluation frameworks](https://zenoml.com/docs/integrations/).\\nYou can now directly upload your model outputs if you\'re using the [EleutherAI LM Evaluation Harness](https://github.com/EleutherAI/lm-evaluation-harness) or the [Ragas Framework](https://docs.ragas.io/en/latest/index.html).\\n\\n- **Ragas** is a library for model-graded evaluation of RAG applications. We\'ve added [a detailed tutorial](https://docs.ragas.io/en/latest/howtos/integrations/zeno.html) on how to use Zeno to investigate your evaluation results. You can view an example of this in Zeno [here](https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/ragas%20FICA%20eval).\\n\\n- **EleutherAI LM Evaluation Harness** is a popular library for running LLM benchmarks. We wrote a script that allows you to directly upload all your evaluation data as a Zeno project, enabling you to compare different models across various benchmarks provided by EleutherAI. To start visualizing your LM Evaluation Harness data in Zeno, follow [these instructions](https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results) or take a look at our [example notebook](https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb). We\'ve already used this integration for some of our own projects, such as [this evaluation of the Mamba architecture](https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag)!\\n\\n### Documentation\\n\\nWe\'ve also been working on improving our documentation to make it easier for you to get started with Zeno.\\nThis includes [use cases](http://localhost:3000/docs/examples/), [tutorials](https://zenoml.com/docs/tutorials/), and [integration guides](https://zenoml.com/docs/integrations/).\\nIf you have any suggestions for what you\'d like to see in our documentation, please let us know!\\n\\n---\\n\\n_If you have questions about Zeno or anything we\'ve highlighted in this newsletter, have ideas for new Zeno features or content for a future issue of Zeno\'s Notes, or simply want to say hi, get in touch via [email](mailto:hello@zenoml.com) or join our [Discord](https://discord.gg/km62pDKAkE)._"}]}')}}]); \ No newline at end of file diff --git a/assets/js/f76f6b06.bf4eeb95.js b/assets/js/f76f6b06.bf4eeb95.js new file mode 100644 index 00000000..87c6473c --- /dev/null +++ b/assets/js/f76f6b06.bf4eeb95.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[699],{2507:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>i,toc:()=>h});var o=t(5893),a=t(1151);const s={slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},r=void 0,i={permalink:"/blog/newsletter-24-01",source:"@site/blog/2024-01-09-newsletter.mdx",title:"Zeno's Notes on AI Evaluation | January 2024",description:"Welcome to the first edition of the Zeno's Notes newsletter!",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"zeno's notes",permalink:"/blog/tags/zenos-notes"}],readingTime:3.625,hasTruncateMarker:!1,authors:[{name:"Alex Cabrera",title:"PhD Candidate @ CMU",url:"https://cabreraalex.com",imageURL:"https://cabreraalex.com/images/profile.png",key:"ac"},{name:"Alex B\xe4uerle",title:"Researcher @ CMU",url:"https://a13x.io",imageURL:"https://a13x.io/images/alex.jpeg",key:"ab"}],frontMatter:{slug:"newsletter-24-01",title:"Zeno's Notes on AI Evaluation | January 2024",authors:["ac","ab"],tags:["zeno's notes"]},unlisted:!1},l={authorsImageUrls:[void 0,void 0]},h=[{value:"\ud83c\udf0e Community",id:"-community",level:2},{value:"An In-Depth Look at Gemini's Language Abilities",id:"an-in-depth-look-at-geminis-language-abilities",level:3},{value:"HuggingFace is Dropping DROP",id:"huggingface-is-dropping-drop",level:3},{value:"\ud83d\udcf0 Evaluation News",id:"-evaluation-news",level:2},{value:"CRUXEval",id:"cruxeval",level:3},{value:"CommonGen Leaderboard",id:"commongen-leaderboard",level:3},{value:"\u2728 New in Zeno",id:"-new-in-zeno",level:2},{value:"Integrations",id:"integrations",level:3},{value:"Documentation",id:"documentation",level:3}];function d(e){const n={a:"a",em:"em",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["Welcome to the first edition of the ",(0,o.jsx)(n.strong,{children:"Zeno's Notes"})," newsletter!\nEach month, we'll discuss the community's work around Zeno, interesting research and projects on AI evaluation, and new Zeno features."]}),"\n",(0,o.jsxs)(n.p,{children:["Before we dive in, we wanted to look back at the last few months since we launched ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com",children:"Zeno Hub"}),".\nOur users have created over ",(0,o.jsx)(n.strong,{children:"800 projects"})," and ",(0,o.jsx)(n.strong,{children:"1,400 slices"})," to evaluate more than ",(0,o.jsx)(n.strong,{children:"10,000 AI systems"}),"!\nThese insights have been used to author over ",(0,o.jsx)(n.strong,{children:"160 reports"}),", communicating interesting findings and insights.\nIt's exciting to see how Zeno is being used to make AI evaluation more accessible and transparent."]}),"\n",(0,o.jsx)(n.h2,{id:"-community",children:"\ud83c\udf0e Community"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Highlighting work from the Zeno community."})}),"\n",(0,o.jsx)(n.h3,{id:"an-in-depth-look-at-geminis-language-abilities",children:(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"An In-Depth Look at Gemini's Language Abilities"})}),"\n",(0,o.jsxs)(n.p,{children:["Researchers at CMU, including the Zeno team, conducted a ",(0,o.jsx)(n.a,{href:"https://x.com/gneubig/status/1737108966931673191?s=20",children:"deep dive into Gemini's language abilities"}),".\nThey compared Gemini Pro, Google's newly released LLM, with GPT-3.5-Turbo, GPT-4-Turbo, and Mixtral.\nOverall, they found that Gemini approaches but lags behind GPT-3.5-Turbo in all English tasks, yet performs better in translation into languages it supports.\nFor more detailed results, ",(0,o.jsx)(n.a,{href:"https://arxiv.org/abs/2312.11444",children:"read the paper"})," or explore the code on ",(0,o.jsx)(n.a,{href:"https://t.co/S7S9473xtP",children:"GitHub"}),".\nEach section of the paper is linked to a Zeno report for further exploration!"]}),"\n",(0,o.jsx)(n.h3,{id:"huggingface-is-dropping-drop",children:(0,o.jsx)(n.a,{href:"https://huggingface.co/blog/leaderboard-drop-dive",children:"HuggingFace is Dropping DROP"})}),"\n",(0,o.jsxs)(n.p,{children:["The HuggingFace ",(0,o.jsx)(n.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"})," is a popular repository for comparing new LLMs. HuggingFace recently added ",(0,o.jsx)(n.a,{href:"https://twitter.com/clefourrier/status/1722555555338956840",children:"three new benchmarks"})," to their leaderboard to better represent real-world performance.\nAfter receiving feedback from the community, they noticed significant fluctuations in the scores for one benchmark, DROP.\n",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/report/1255/DROP%20Benchmark%20Exploration",children:"Using Zeno"}),", they uncovered the reason behind the variance and decided to remove DROP from the leaderboard until a revised version of the benchmark is developed."]}),"\n",(0,o.jsx)(n.h2,{id:"-evaluation-news",children:"\ud83d\udcf0 Evaluation News"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Interesting news from the world of AI evaluation."})}),"\n",(0,o.jsx)(n.h3,{id:"cruxeval",children:(0,o.jsx)(n.a,{href:"https://crux-eval.github.io/",children:"CRUXEval"})}),"\n",(0,o.jsx)(n.p,{children:"Researchers from MIT and Meta AI Research released new evaluation dataset for code reasoning, understanding, and execution.\nInstead of having models generate code, CRUXEval asks models to either predict the output or input of a given function based on its signature.\nThis dataset, which includes 800 python functions, supplements classic code generation datasets such as HumanEval and MBPP.\nThey compared multiple open and closed-source models on their new benchmarks and found that there is quite a bit of room for improvement."}),"\n",(0,o.jsx)(n.h3,{id:"commongen-leaderboard",children:(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"CommonGen Leaderboard"})}),"\n",(0,o.jsxs)(n.p,{children:["CommonGen is a challenging benchmark task asking models to generate coherent sentences describing everyday scenarios.\nThe reseaerchers behind the benchmark, from USC, Allen AI, and UW, recently updated their ",(0,o.jsx)(n.a,{href:"https://github.com/allenai/CommonGen-Eval",children:"eval repository"})," with a ",(0,o.jsx)(n.a,{href:"https://inklab.usc.edu/CommonGen/leaderboard.html",children:"new leaderboard"})," for the task, showing how state-of-the-art models, including GPT-4, perform significantly worse than humans.\nThe authors argue that the task is so hard because it requires relational reasoning using background common sense knowledge and the models need to be able to generalize to unseen concept combinations."]}),"\n",(0,o.jsx)(n.h2,{id:"-new-in-zeno",children:"\u2728 New in Zeno"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Updates to Zeno that you'll love."})}),"\n",(0,o.jsx)(n.h3,{id:"integrations",children:"Integrations"}),"\n",(0,o.jsxs)(n.p,{children:["We've been focusing on making it even easier for you to analyze your evaluation results in Zeno by ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integrating Zeno into other AI evaluation frameworks"}),".\nYou can now directly upload your model outputs if you're using the ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"EleutherAI LM Evaluation Harness"})," or the ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/index.html",children:"Ragas Framework"}),"."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Ragas"})," is a library for model-graded evaluation of RAG applications. We've added ",(0,o.jsx)(n.a,{href:"https://docs.ragas.io/en/latest/howtos/integrations/zeno.html",children:"a detailed tutorial"})," on how to use Zeno to investigate your evaluation results. You can view an example of this in Zeno ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/ragas%20FICA%20eval",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"EleutherAI LM Evaluation Harness"})," is a popular library for running LLM benchmarks. We wrote a script that allows you to directly upload all your evaluation data as a Zeno project, enabling you to compare different models across various benchmarks provided by EleutherAI. To start visualizing your LM Evaluation Harness data in Zeno, follow ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results",children:"these instructions"})," or take a look at our ",(0,o.jsx)(n.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb",children:"example notebook"}),". We've already used this integration for some of our own projects, such as ",(0,o.jsx)(n.a,{href:"https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag",children:"this evaluation of the Mamba architecture"}),"!"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"documentation",children:"Documentation"}),"\n",(0,o.jsxs)(n.p,{children:["We've also been working on improving our documentation to make it easier for you to get started with Zeno.\nThis includes ",(0,o.jsx)(n.a,{href:"http://localhost:3000/docs/examples/",children:"use cases"}),", ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/tutorials/",children:"tutorials"}),", and ",(0,o.jsx)(n.a,{href:"https://zenoml.com/docs/integrations/",children:"integration guides"}),".\nIf you have any suggestions for what you'd like to see in our documentation, please let us know!"]}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsxs)(n.em,{children:["If you have questions about Zeno or anything we've highlighted in this newsletter, have ideas for new Zeno features or content for a future issue of Zeno's Notes, or simply want to say hi, get in touch via ",(0,o.jsx)(n.a,{href:"mailto:hello@zenoml.com",children:"email"})," or join our ",(0,o.jsx)(n.a,{href:"https://discord.gg/km62pDKAkE",children:"Discord"}),"."]})}),"\n",(0,o.jsx)("iframe",{src:"https://dashboard.mailerlite.com/forms/754700/109912648489895524/share",width:"100%",height:"200px",style:{borderRadius:"4px"},frameborder:"0"})]})}function c(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>r});var o=t(7294);const a={},s=o.createContext(a);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.1e61ff2d.js b/assets/js/main.1e61ff2d.js new file mode 100644 index 00000000..9e2cff90 --- /dev/null +++ b/assets/js/main.1e61ff2d.js @@ -0,0 +1,2 @@ +/*! For license information please see main.1e61ff2d.js.LICENSE.txt */ +(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(13)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"135eeb26":[()=>n.e(649).then(n.t.bind(n,6128,19)),"~blog/default/blog-tags-zenos-notes-fec.json",6128],"1741efd4":[()=>n.e(217).then(n.t.bind(n,314,19)),"~blog/default/blog-tags-zenos-notes-fec-list.json",314],17896441:[()=>Promise.all([n.e(532),n.e(286),n.e(976),n.e(918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"1df93b7f":[()=>Promise.all([n.e(532),n.e(237)]).then(n.bind(n,1102)),"@site/src/pages/index.tsx",1102],"1f4f09bf":[()=>n.e(106).then(n.bind(n,1215)),"@site/docs/tutorials/leaderboard.mdx",1215],"24c768db":[()=>n.e(489).then(n.bind(n,6686)),"@site/src/pages/faq.jsx",6686],"2831b18a":[()=>Promise.all([n.e(532),n.e(286),n.e(640)]).then(n.bind(n,9342)),"@site/docs/views/spec/other.mdx",9342],"28df1be2":[()=>n.e(934).then(n.t.bind(n,4469,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"4d0932fd":[()=>n.e(194).then(n.t.bind(n,5745,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"58b26e5f":[()=>n.e(425).then(n.bind(n,857)),"@site/docs/examples/examples.mdx",857],"5c1fb99f":[()=>n.e(539).then(n.bind(n,3393)),"@site/docs/python-client.mdx",3393],"5cd43755":[()=>n.e(517).then(n.bind(n,5728)),"@site/docs/views/views.mdx",5728],"5d1a16ad":[()=>n.e(830).then(n.bind(n,4204)),"@site/blog/2024-01-09-newsletter.mdx",4204],"5e95c892":[()=>n.e(661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6875c492":[()=>Promise.all([n.e(532),n.e(286),n.e(976),n.e(130),n.e(610)]).then(n.bind(n,1404)),"@theme/BlogTagsPostsPage",1404],"6df9c4f6":[()=>n.e(617).then(n.bind(n,528)),"@site/docs/integrations/integrations.mdx",528],"7009d80f":[()=>n.e(157).then(n.bind(n,5644)),"@site/docs/integrations/ragas.mdx",5644],"814f3328":[()=>n.e(535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"86c78be4":[()=>n.e(3).then(n.bind(n,5705)),"@site/docs/examples/transcription.mdx",5705],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9375f4e3":[()=>Promise.all([n.e(532),n.e(286),n.e(333)]).then(n.bind(n,3797)),"@site/docs/views/existing.mdx",3797],"94c0c3db":[()=>n.e(906).then(n.bind(n,7213)),"@site/docs/tutorials/tutorials.mdx",7213],"989c4899":[()=>Promise.all([n.e(532),n.e(286),n.e(346)]).then(n.bind(n,2028)),"@site/src/pages/about.jsx",2028],"9e4087bc":[()=>n.e(608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(286),n.e(976),n.e(130),n.e(89)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a7023ddc:[()=>n.e(713).then(n.t.bind(n,3457,19)),"~blog/default/blog-tags-tags-4c2.json",3457],a7bd4aaa:[()=>n.e(518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],ae6c4130:[()=>n.e(60).then(n.t.bind(n,3769,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],b245f42a:[()=>Promise.all([n.e(532),n.e(286),n.e(250)]).then(n.bind(n,1561)),"@site/docs/views/spec/spec.mdx",1561],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(477).then(n.t.bind(n,10,19)),"~blog/default/blog-archive-80c.json",10],ccc49370:[()=>Promise.all([n.e(532),n.e(286),n.e(976),n.e(130),n.e(103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],f73eeb10:[()=>n.e(154).then(n.bind(n,7445)),"@site/docs/integrations/eleuther.mdx",7445],f76f6b06:[()=>n.e(699).then(n.bind(n,2507)),"@site/blog/2024-01-09-newsletter.mdx?truncated=true",2507],f8409a7e:[()=>Promise.all([n.e(532),n.e(286),n.e(206)]).then(n.bind(n,9325)),"@site/docs/intro.mdx",9325]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(9670),c=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],g=(0,u.Z)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),a().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)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 o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const f=[{path:"/about",component:d("/about","b73"),exact:!0},{path:"/blog",component:d("/blog","b7a"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","49c"),exact:!0},{path:"/blog/newsletter-24-01",component:d("/blog/newsletter-24-01","458"),exact:!0},{path:"/blog/tags",component:d("/blog/tags","63c"),exact:!0},{path:"/blog/tags/zenos-notes",component:d("/blog/tags/zenos-notes","ba9"),exact:!0},{path:"/faq",component:d("/faq","4c7"),exact:!0},{path:"/docs",component:d("/docs","ad3"),routes:[{path:"/docs",component:d("/docs","e04"),routes:[{path:"/docs",component:d("/docs","4b0"),routes:[{path:"/docs/examples/",component:d("/docs/examples/","ff9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/examples/transcription",component:d("/docs/examples/transcription","861"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/integrations/",component:d("/docs/integrations/","506"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/integrations/eleuther",component:d("/docs/integrations/eleuther","64c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/integrations/ragas",component:d("/docs/integrations/ragas","4e8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/intro",component:d("/docs/intro","99a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/python-client",component:d("/docs/python-client","710"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorials/",component:d("/docs/tutorials/","7e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorials/leaderboard",component:d("/docs/tutorials/leaderboard","397"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/",component:d("/docs/views/","48e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/existing",component:d("/docs/views/existing","c29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/spec/",component:d("/docs/views/spec/","ea9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/spec/other",component:d("/docs/views/spec/other","d3f"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/",component:d("/","348"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(6657),n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790),f=n(5893);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var g=n(5742),h=n(2263),m=n(4996),y=n(6668),b=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,f.jsxs)(g.Z,{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:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,m.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:a}),(0,f.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.h})]}),n&&(0,f.jsx)(b.d,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(E,{}),(0,f.jsx)(S.Z,{tag:k.HX,locale:e}),(0,f.jsx)(g.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const T=new Map;function N(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),j=n(8940),A=n(469);function P(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()=>a.forEach((e=>e?.()))}const O=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,A.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?P("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=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),R(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)(O,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(c.AW,{location:t,render:()=>e})})}}const F=I,D="__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 = '${D}';\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(/{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 a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.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 Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),R(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.B6,{children:(0,f.jsx)(o.VK,{children:(0,f.jsx)(q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};R(window.location.pathname).then(l)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>f});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-google-tag-manager":{"default":{"containerId":"GTM-WWXQ3HNL","id":"default"}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-ZL2PD9TQNF"],"anonymizeIP":true,"id":"default"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"examples/examples","path":"/docs/examples/","sidebar":"tutorialSidebar"},{"id":"examples/transcription","path":"/docs/examples/transcription","sidebar":"tutorialSidebar"},{"id":"integrations/eleuther","path":"/docs/integrations/eleuther","sidebar":"tutorialSidebar"},{"id":"integrations/integrations","path":"/docs/integrations/","sidebar":"tutorialSidebar"},{"id":"integrations/ragas","path":"/docs/integrations/ragas","sidebar":"tutorialSidebar"},{"id":"intro","path":"/docs/intro","sidebar":"tutorialSidebar"},{"id":"python-client","path":"/docs/python-client","sidebar":"tutorialSidebar"},{"id":"tutorials/leaderboard","path":"/docs/tutorials/leaderboard","sidebar":"tutorialSidebar"},{"id":"tutorials/tutorials","path":"/docs/tutorials/","sidebar":"tutorialSidebar"},{"id":"views/existing","path":"/docs/views/existing","sidebar":"tutorialSidebar"},{"id":"views/spec/other","path":"/docs/views/spec/other","sidebar":"tutorialSidebar"},{"id":"views/spec/spec","path":"/docs/views/spec/","sidebar":"tutorialSidebar"},{"id":"views/views","path":"/docs/views/","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.1.0","siteVersion":"0.0.1","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.1.0"},"docusaurus-plugin-google-tag-manager":{"type":"package","name":"@docusaurus/plugin-google-tag-manager","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"}}}');var u=n(5893);const c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(6040),s=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,s.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,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(p,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const f=e=>(0,s.jsx)(d,{...e});class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??f)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),l=n(3919),s=n(412),u=n(8138),c=n(4996),d=n(5893);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:g,isActive:h,"data-noBrokenLinkCheck":m,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,c.C)(),x=(0,u.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=f||p;const _=(0,l.Z)(E),C=E?.replace("pathname://","");let T=void 0!==C?(N=C,y&&(e=>e.startsWith("/"))(N)?k(N):N):void 0;var N;T&&_&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const L=(0,r.useRef)(!1),j=n?a.OL:a.rU,A=s.Z.canUseIntersectionObserver,P=(0,r.useRef)(),O=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,r.useEffect)((()=>(!A&&_&&null!=T&&window.docusaurus.prefetch(T),()=>{A&&P.current&&P.current.disconnect()})),[P,T,A,_]);const R=T?.startsWith("#")??!1,I=!T||!_||R;return I||m||x.collectLink(T),I?(0,d.jsx)("a",{ref:S,href:T,...E&&!_&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(j,{...b,onMouseEnter:O,onTouchStart:O,innerRef:e=>{S.current=e,A&&e&&_&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),P.current.observe(e))},to:T,...n&&{isActive:h,activeClassName:g}})}const p=r.forwardRef(f)},1875:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=()=>null},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(7294),a=n(5893);function o(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(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>f,_r:()=>c,Jo:()=>m,zh:()=>d,yW:()=>g,gB:()=>p});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function g(e){const t=d(e);return l(t)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function m(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6657:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(9510)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(3692),l=n(8138);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(5893);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.Z)(),{navbar:{hideOnScroll:f}}=(0,o.L)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const p=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.Z)("anchor",f?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.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"})})}},6040:(e,t,n)=>{"use strict";n.d(t,{Z:()=>pt});var r=n(7294),a=n(512),o=n(4763),i=n(1944),l=n(6550),s=n(5999),u=n(5936),c=n(5893);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??g,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var m=n(5281),y=n(9727);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(h,{className:b.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function N(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(C,{className:T.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var L=n(2961),j=n(2466);var A=n(902),P=n(3102);const O=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,P.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,A.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(O.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(O);if(!e)throw new A.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=F();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function Z(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.Z)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(Z),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function W(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var q=n(1327);function G(){return(0,c.jsx)(q.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,L.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(G,{}),(0,c.jsx)(W,{className:"margin-right--md"}),(0,c.jsx)(Q,{})]})}var K=n(3692),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Z)(r),f=(0,X.Z)(t),p=(0,X.Z)(a,{forcePrependBaseUrl:!0}),g=o&&a&&!(0,J.Z)(a),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,g&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(K.Z,{href:s?p:a,...u,...h}):(0,c.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...u,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),le=n(8596),se=n(2263);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(_e,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[u,d,g]),(0,c.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),p()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(_e,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,c.jsx)(r,{...n})}var ge=n(4711);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const me="iconLanguage_nlXk";var ye=n(1875);const be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.Z)(n,be.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var xe=n(373);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.Z)(),f=(0,ge.l)(),{search:p,hash:g}=(0,l.TH)(),h=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}${a}`;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],m=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(pe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(he,{className:me}),m]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.Z,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.vY)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.lO)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.TH)(),f=(0,we.Iw)(n),p=(0,we.gB)(n),{savePreferredVersionName:g}=(0,xe.J)(n),h=[...a,...p.map((e=>{const t=f.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...o],m=(0,ke.lO)(n)[0],y=t&&h.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,b=t&&h.length>1?void 0:Se(m).path;return h.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(pe,{...i,mobile:t,label:y,to:b,items:h,isActive:r?()=>!1:void 0})}};function _e(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function Ce(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(_e,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ne(){const e=0===(0,w.L)().navbar.items.length,t=F();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Le(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(D,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(Ce,{}),secondaryMenu:(0,c.jsx)(Ne,{})}):null}const je={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ae(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Pe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,j.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[je.navbarHideable,!d&&je.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Ae,{onClick:i.toggle}),(0,c.jsx)(Le,{})]})}var Oe=n(8780);const Re={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Ie(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{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 Fe(e){let{error:t}=e;const n=(0,Oe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Re.errorBoundaryError,children:n})}class De extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,L.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(De,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(_e,{...e})},t)))})}function Ze(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function He(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(Ze,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(G,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(W,{className:$e.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.Z,{})})]})})}function Ve(){return(0,c.jsx)(Pe,{children:(0,c.jsx)(He,{})})}function We(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(K.Z,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function qe(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(We,{item:t})},t.href??t.to)}function Ge(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(qe,{item:e},t)))})]})}function Qe(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Ge,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ke(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(We,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ke,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Qe,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(9965);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(K.Z,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function it(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const lt=r.memo(it),st=(0,A.Qc)([M.S,k.pl,j.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(P.n2,{children:(0,c.jsx)(L.M,{children:(0,c.jsx)(R,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(2503);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(Ie,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Fe,{error:t})})]})})})}const ft={mainWrapper:"mainWrapper_z2l0"};function pt(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(N,{}),(0,c.jsx)(Ve,{}),(0,c.jsx)("div",{id:d,className:(0,a.Z)(m.k.wrapper.main,ft.mainWrapper,r),children:(0,c.jsx)(o.Z,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(3692),a=n(4996),o=n(2263),i=n(6668),l=n(9965),s=n(5893);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,a.Z)(l?.href||"/"),g=n?"":t,h=l?.alt??g;return(0,s.jsxs)(r.Z,{to:p,...f,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:h,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function u(e){let{className:t,children:n}=e;const u=(0,o.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(7294),a=n(412),o=n(469),i=n(1442),l=n(5893);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return f(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function g(e){if(!a.Z.canUseDOM)return e?c:d}function h(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(c.current,n),i?.(n))},className:s,children:a})}function m(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?m:h;return(0,l.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>g});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668),s=n(5893);const u=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&f(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>m});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668),s=n(5893);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,g=e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&h(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>y});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12),c=n(5893);const d=e=>`docs-preferred-version-${e}`,f={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const g=r.createContext(null);function h(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){f.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return(0,c.jsx)(g.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(m,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(g);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>g});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=n(902);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668),c=n(5893);const d=r.createContext(void 0);function f(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function p(e){let{children:t}=e;const n=f();return(0,c.jsx)(d.Provider,{value:n,children:t})}function g(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>p,_F:()=>m,cE:()=>f,SN:()=>E,lO:()=>k,vY:()=>S,oz:()=>x,s1:()=>w,f:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(4477),u=n(1116);function c(e){return Array.from(new Set(e))}var d=n(8596);const f=!!i._r;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}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),h=(e,t)=>e.some((e=>m(e,t)));function m(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||h(e.items,t))}function y(e,t){switch(e.type){case"category":return m(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||m(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 a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,a.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.H)(i),sidebarName:u,sidebarItems:c}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>d,VC:()=>g});var r=n(7294),a=n(512),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2263);var c=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),f=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),l=(0,a.Z)(i,t);return(0,c.jsxs)(f.Provider,{value:l,children:[(0,c.jsx)(o.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function g(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,a.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>p,OC:()=>u,RF:()=>f});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),l=n(5893);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"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,i||(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),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>p,PP:()=>N,Ep:()=>f});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go: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(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var a=p(n);a&&a!==g&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),m=0;m{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},4779:(e,t,n)=>{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(i,p),i=p+d.length,f)l+=f[1];else{var g=e[i],h=n[2],m=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=h&&null!=g&&g!==h,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||c,_=y||b;r.push({name:m||o++,prefix:h||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":"[^"+s(E)+"]+?"})}}return i{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),g=f.indexOf(p);if(g>-1){++a;var h=f.substring(0,g),m=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(g+p.length),b=[];h&&b.push.apply(b,i([h])),b.push(m),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},9930:()=>{!function(e){var t=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function n(e){return e.replace(/__/g,(function(){return t}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(Prism)},9510:(e,t,n)=>{var r={"./prism-json":4277,"./prism-toml":9930};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=9510},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n