From 9d396ebb2e8bf516ea95f7069b7ea3271d7defb8 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Sun, 22 Sep 2024 15:31:43 +0000 Subject: [PATCH] build based on 0430239 --- previews/PR211/404.html | 21 + previews/PR211/assets/app.C-4p2J3b.js | 110 + .../chunks/@localSearchIndexroot.CPDZDfTv.js | 4 + .../chunks/VPLocalSearchBox.Cmsrx5Ra.js | 5095 +++++++++ .../PR211/assets/chunks/framework.DWWQFVfn.js | 9926 +++++++++++++++++ .../PR211/assets/chunks/theme.CBAd8UUw.js | 3412 ++++++ ...coverage_of_model_providers.md.BPL_5seF.js | 13 + ...age_of_model_providers.md.BPL_5seF.lean.js | 13 + .../examples_building_RAG.md.BZv6qGcF.js | 13 + .../examples_building_RAG.md.BZv6qGcF.lean.js | 13 + .../examples_readme_examples.md.2SP9Nugz.js | 21 + ...amples_readme_examples.md.2SP9Nugz.lean.js | 21 + ...es_working_with_aitemplates.md.C7MLdzU_.js | 15 + ...rking_with_aitemplates.md.C7MLdzU_.lean.js | 15 + ...es_working_with_custom_apis.md.CYQux6Do.js | 13 + ...rking_with_custom_apis.md.CYQux6Do.lean.js | 13 + ...rking_with_google_ai_studio.md.BvYwEqui.js | 13 + ..._with_google_ai_studio.md.BvYwEqui.lean.js | 13 + ...xamples_working_with_ollama.md.BBg22D2L.js | 13 + ...es_working_with_ollama.md.BBg22D2L.lean.js | 13 + ...tra_tools_agent_tools_intro.md.CqFwb7J-.js | 13 + ...ools_agent_tools_intro.md.CqFwb7J-.lean.js | 13 + ...extra_tools_api_tools_intro.md.T7NrW3JF.js | 13 + ..._tools_api_tools_intro.md.T7NrW3JF.lean.js | 13 + ...extra_tools_rag_tools_intro.md.CPYd20Se.js | 15 + ..._tools_rag_tools_intro.md.CPYd20Se.lean.js | 15 + ..._tools_text_utilities_intro.md.CvAggUHl.js | 13 + ...s_text_utilities_intro.md.CvAggUHl.lean.js | 13 + .../frequently_asked_questions.md.a7IAQj-W.js | 13 + ...uently_asked_questions.md.a7IAQj-W.lean.js | 13 + .../assets/getting_started.md.9tvtR6vN.js | 13 + .../getting_started.md.9tvtR6vN.lean.js | 13 + .../PR211/assets/how_it_works.md.D7MeC3ra.js | 35 + .../assets/how_it_works.md.D7MeC3ra.lean.js | 35 + previews/PR211/assets/index.md.BeR3jBAa.js | 13 + .../PR211/assets/index.md.BeR3jBAa.lean.js | 13 + .../inter-italic-cyrillic-ext.r48I6akx.woff2 | Bin 0 -> 43112 bytes .../inter-italic-cyrillic.By2_1cv3.woff2 | Bin 0 -> 31300 bytes .../inter-italic-greek-ext.1u6EdAuj.woff2 | Bin 0 -> 17404 bytes .../assets/inter-italic-greek.DJ8dCoTZ.woff2 | Bin 0 -> 32564 bytes .../inter-italic-latin-ext.CN1xVJS-.woff2 | Bin 0 -> 120840 bytes .../assets/inter-italic-latin.C2AdPX0b.woff2 | Bin 0 -> 74784 bytes .../inter-italic-vietnamese.BSbpV94h.woff2 | Bin 0 -> 14884 bytes .../inter-roman-cyrillic-ext.BBPuwvHQ.woff2 | Bin 0 -> 40488 bytes .../inter-roman-cyrillic.C5lxZ8CY.woff2 | Bin 0 -> 29164 bytes .../inter-roman-greek-ext.CqjqNYQ-.woff2 | Bin 0 -> 16272 bytes .../assets/inter-roman-greek.BBVDIX6e.woff2 | Bin 0 -> 29920 bytes .../inter-roman-latin-ext.4ZJIpNVo.woff2 | Bin 0 -> 110160 bytes .../assets/inter-roman-latin.Di8DUHzh.woff2 | Bin 0 -> 67792 bytes .../inter-roman-vietnamese.BjW4sHH5.woff2 | Bin 0 -> 14072 bytes .../PR211/assets/prompts_RAG.md.Cm-FTU_O.js | 13 + .../assets/prompts_RAG.md.Cm-FTU_O.lean.js | 13 + .../assets/prompts_agents.md.DksQJFYG.js | 13 + .../assets/prompts_agents.md.DksQJFYG.lean.js | 13 + .../prompts_classification.md.t-V6iHaM.js | 13 + ...prompts_classification.md.t-V6iHaM.lean.js | 13 + .../assets/prompts_critic.md.CZSb_vr7.js | 13 + .../assets/prompts_critic.md.CZSb_vr7.lean.js | 13 + .../assets/prompts_extraction.md.T--nMVwC.js | 13 + .../prompts_extraction.md.T--nMVwC.lean.js | 13 + .../assets/prompts_general.md.CZFIYvxl.js | 13 + .../prompts_general.md.CZFIYvxl.lean.js | 13 + .../prompts_persona-task.md.Cl2c9D6I.js | 141 + .../prompts_persona-task.md.Cl2c9D6I.lean.js | 141 + .../assets/prompts_visual.md.DKRe3Xqk.js | 13 + .../assets/prompts_visual.md.DKRe3Xqk.lean.js | 13 + .../assets/rag_diagram_detailed._BjqL9Ae.png | Bin 0 -> 299799 bytes .../assets/rag_diagram_highlevel.D_aLugML.png | Bin 0 -> 397424 bytes .../PR211/assets/reference.md.BnM2ayrx.js | 647 ++ .../assets/reference.md.BnM2ayrx.lean.js | 647 ++ .../reference_agenttools.md.B5lKdxNU.js | 13 + .../reference_agenttools.md.B5lKdxNU.lean.js | 13 + .../assets/reference_apitools.md.BetvOJmo.js | 13 + .../reference_apitools.md.BetvOJmo.lean.js | 13 + .../reference_experimental.md.BpkrMOcX.js | 13 + ...reference_experimental.md.BpkrMOcX.lean.js | 13 + .../assets/reference_ragtools.md.cnwXDxvK.js | 13 + .../reference_ragtools.md.cnwXDxvK.lean.js | 13 + previews/PR211/assets/style.BE7rkqtr.css | 5315 +++++++++ .../PR211/coverage_of_model_providers.html | 24 + previews/PR211/examples/building_RAG.html | 85 + previews/PR211/examples/readme_examples.html | 146 + .../examples/working_with_aitemplates.html | 66 + .../examples/working_with_custom_apis.html | 60 + .../working_with_google_ai_studio.html | 34 + .../PR211/examples/working_with_ollama.html | 63 + .../PR211/extra_tools/agent_tools_intro.html | 260 + .../PR211/extra_tools/api_tools_intro.html | 26 + .../PR211/extra_tools/rag_tools_intro.html | 289 + .../extra_tools/text_utilities_intro.html | 78 + previews/PR211/favicon.png | Bin 0 -> 1173 bytes .../PR211/frequently_asked_questions.html | 136 + previews/PR211/getting_started.html | 29 + previews/PR211/hashmap.json | 1 + previews/PR211/how_it_works.html | 119 + previews/PR211/index.html | 28 + previews/PR211/logo.png | Bin 0 -> 2119 bytes previews/PR211/prompts/RAG.html | 258 + previews/PR211/prompts/agents.html | 96 + previews/PR211/prompts/classification.html | 53 + previews/PR211/prompts/critic.html | 109 + previews/PR211/prompts/extraction.html | 30 + previews/PR211/prompts/general.html | 26 + previews/PR211/prompts/persona-task.html | 467 + previews/PR211/prompts/visual.html | 37 + previews/PR211/reference.html | 960 ++ previews/PR211/reference_agenttools.html | 288 + previews/PR211/reference_apitools.html | 31 + previews/PR211/reference_experimental.html | 24 + previews/PR211/reference_ragtools.html | 523 + previews/PR211/siteinfo.js | 1 + 111 files changed, 30550 insertions(+) create mode 100644 previews/PR211/404.html create mode 100644 previews/PR211/assets/app.C-4p2J3b.js create mode 100644 previews/PR211/assets/chunks/@localSearchIndexroot.CPDZDfTv.js create mode 100644 previews/PR211/assets/chunks/VPLocalSearchBox.Cmsrx5Ra.js create mode 100644 previews/PR211/assets/chunks/framework.DWWQFVfn.js create mode 100644 previews/PR211/assets/chunks/theme.CBAd8UUw.js create mode 100644 previews/PR211/assets/coverage_of_model_providers.md.BPL_5seF.js create mode 100644 previews/PR211/assets/coverage_of_model_providers.md.BPL_5seF.lean.js create mode 100644 previews/PR211/assets/examples_building_RAG.md.BZv6qGcF.js create mode 100644 previews/PR211/assets/examples_building_RAG.md.BZv6qGcF.lean.js create mode 100644 previews/PR211/assets/examples_readme_examples.md.2SP9Nugz.js create mode 100644 previews/PR211/assets/examples_readme_examples.md.2SP9Nugz.lean.js create mode 100644 previews/PR211/assets/examples_working_with_aitemplates.md.C7MLdzU_.js create mode 100644 previews/PR211/assets/examples_working_with_aitemplates.md.C7MLdzU_.lean.js create mode 100644 previews/PR211/assets/examples_working_with_custom_apis.md.CYQux6Do.js create mode 100644 previews/PR211/assets/examples_working_with_custom_apis.md.CYQux6Do.lean.js create mode 100644 previews/PR211/assets/examples_working_with_google_ai_studio.md.BvYwEqui.js create mode 100644 previews/PR211/assets/examples_working_with_google_ai_studio.md.BvYwEqui.lean.js create mode 100644 previews/PR211/assets/examples_working_with_ollama.md.BBg22D2L.js create mode 100644 previews/PR211/assets/examples_working_with_ollama.md.BBg22D2L.lean.js create mode 100644 previews/PR211/assets/extra_tools_agent_tools_intro.md.CqFwb7J-.js create mode 100644 previews/PR211/assets/extra_tools_agent_tools_intro.md.CqFwb7J-.lean.js create mode 100644 previews/PR211/assets/extra_tools_api_tools_intro.md.T7NrW3JF.js create mode 100644 previews/PR211/assets/extra_tools_api_tools_intro.md.T7NrW3JF.lean.js create mode 100644 previews/PR211/assets/extra_tools_rag_tools_intro.md.CPYd20Se.js create mode 100644 previews/PR211/assets/extra_tools_rag_tools_intro.md.CPYd20Se.lean.js create mode 100644 previews/PR211/assets/extra_tools_text_utilities_intro.md.CvAggUHl.js create mode 100644 previews/PR211/assets/extra_tools_text_utilities_intro.md.CvAggUHl.lean.js create mode 100644 previews/PR211/assets/frequently_asked_questions.md.a7IAQj-W.js create mode 100644 previews/PR211/assets/frequently_asked_questions.md.a7IAQj-W.lean.js create mode 100644 previews/PR211/assets/getting_started.md.9tvtR6vN.js create mode 100644 previews/PR211/assets/getting_started.md.9tvtR6vN.lean.js create mode 100644 previews/PR211/assets/how_it_works.md.D7MeC3ra.js create mode 100644 previews/PR211/assets/how_it_works.md.D7MeC3ra.lean.js create mode 100644 previews/PR211/assets/index.md.BeR3jBAa.js create mode 100644 previews/PR211/assets/index.md.BeR3jBAa.lean.js create mode 100644 previews/PR211/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 create mode 100644 previews/PR211/assets/inter-italic-cyrillic.By2_1cv3.woff2 create mode 100644 previews/PR211/assets/inter-italic-greek-ext.1u6EdAuj.woff2 create mode 100644 previews/PR211/assets/inter-italic-greek.DJ8dCoTZ.woff2 create mode 100644 previews/PR211/assets/inter-italic-latin-ext.CN1xVJS-.woff2 create mode 100644 previews/PR211/assets/inter-italic-latin.C2AdPX0b.woff2 create mode 100644 previews/PR211/assets/inter-italic-vietnamese.BSbpV94h.woff2 create mode 100644 previews/PR211/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 create mode 100644 previews/PR211/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 create mode 100644 previews/PR211/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 create mode 100644 previews/PR211/assets/inter-roman-greek.BBVDIX6e.woff2 create mode 100644 previews/PR211/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 create mode 100644 previews/PR211/assets/inter-roman-latin.Di8DUHzh.woff2 create mode 100644 previews/PR211/assets/inter-roman-vietnamese.BjW4sHH5.woff2 create mode 100644 previews/PR211/assets/prompts_RAG.md.Cm-FTU_O.js create mode 100644 previews/PR211/assets/prompts_RAG.md.Cm-FTU_O.lean.js create mode 100644 previews/PR211/assets/prompts_agents.md.DksQJFYG.js create mode 100644 previews/PR211/assets/prompts_agents.md.DksQJFYG.lean.js create mode 100644 previews/PR211/assets/prompts_classification.md.t-V6iHaM.js create mode 100644 previews/PR211/assets/prompts_classification.md.t-V6iHaM.lean.js create mode 100644 previews/PR211/assets/prompts_critic.md.CZSb_vr7.js create mode 100644 previews/PR211/assets/prompts_critic.md.CZSb_vr7.lean.js create mode 100644 previews/PR211/assets/prompts_extraction.md.T--nMVwC.js create mode 100644 previews/PR211/assets/prompts_extraction.md.T--nMVwC.lean.js create mode 100644 previews/PR211/assets/prompts_general.md.CZFIYvxl.js create mode 100644 previews/PR211/assets/prompts_general.md.CZFIYvxl.lean.js create mode 100644 previews/PR211/assets/prompts_persona-task.md.Cl2c9D6I.js create mode 100644 previews/PR211/assets/prompts_persona-task.md.Cl2c9D6I.lean.js create mode 100644 previews/PR211/assets/prompts_visual.md.DKRe3Xqk.js create mode 100644 previews/PR211/assets/prompts_visual.md.DKRe3Xqk.lean.js create mode 100644 previews/PR211/assets/rag_diagram_detailed._BjqL9Ae.png create mode 100644 previews/PR211/assets/rag_diagram_highlevel.D_aLugML.png create mode 100644 previews/PR211/assets/reference.md.BnM2ayrx.js create mode 100644 previews/PR211/assets/reference.md.BnM2ayrx.lean.js create mode 100644 previews/PR211/assets/reference_agenttools.md.B5lKdxNU.js create mode 100644 previews/PR211/assets/reference_agenttools.md.B5lKdxNU.lean.js create mode 100644 previews/PR211/assets/reference_apitools.md.BetvOJmo.js create mode 100644 previews/PR211/assets/reference_apitools.md.BetvOJmo.lean.js create mode 100644 previews/PR211/assets/reference_experimental.md.BpkrMOcX.js create mode 100644 previews/PR211/assets/reference_experimental.md.BpkrMOcX.lean.js create mode 100644 previews/PR211/assets/reference_ragtools.md.cnwXDxvK.js create mode 100644 previews/PR211/assets/reference_ragtools.md.cnwXDxvK.lean.js create mode 100644 previews/PR211/assets/style.BE7rkqtr.css create mode 100644 previews/PR211/coverage_of_model_providers.html create mode 100644 previews/PR211/examples/building_RAG.html create mode 100644 previews/PR211/examples/readme_examples.html create mode 100644 previews/PR211/examples/working_with_aitemplates.html create mode 100644 previews/PR211/examples/working_with_custom_apis.html create mode 100644 previews/PR211/examples/working_with_google_ai_studio.html create mode 100644 previews/PR211/examples/working_with_ollama.html create mode 100644 previews/PR211/extra_tools/agent_tools_intro.html create mode 100644 previews/PR211/extra_tools/api_tools_intro.html create mode 100644 previews/PR211/extra_tools/rag_tools_intro.html create mode 100644 previews/PR211/extra_tools/text_utilities_intro.html create mode 100644 previews/PR211/favicon.png create mode 100644 previews/PR211/frequently_asked_questions.html create mode 100644 previews/PR211/getting_started.html create mode 100644 previews/PR211/hashmap.json create mode 100644 previews/PR211/how_it_works.html create mode 100644 previews/PR211/index.html create mode 100644 previews/PR211/logo.png create mode 100644 previews/PR211/prompts/RAG.html create mode 100644 previews/PR211/prompts/agents.html create mode 100644 previews/PR211/prompts/classification.html create mode 100644 previews/PR211/prompts/critic.html create mode 100644 previews/PR211/prompts/extraction.html create mode 100644 previews/PR211/prompts/general.html create mode 100644 previews/PR211/prompts/persona-task.html create mode 100644 previews/PR211/prompts/visual.html create mode 100644 previews/PR211/reference.html create mode 100644 previews/PR211/reference_agenttools.html create mode 100644 previews/PR211/reference_apitools.html create mode 100644 previews/PR211/reference_experimental.html create mode 100644 previews/PR211/reference_ragtools.html create mode 100644 previews/PR211/siteinfo.js diff --git a/previews/PR211/404.html b/previews/PR211/404.html new file mode 100644 index 000000000..b0689557f --- /dev/null +++ b/previews/PR211/404.html @@ -0,0 +1,21 @@ + + + + + + 404 | PromptingTools.jl + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/previews/PR211/assets/app.C-4p2J3b.js b/previews/PR211/assets/app.C-4p2J3b.js new file mode 100644 index 000000000..090656216 --- /dev/null +++ b/previews/PR211/assets/app.C-4p2J3b.js @@ -0,0 +1,110 @@ +import { R as RawTheme } from "./chunks/theme.CBAd8UUw.js"; +import { R as inBrowser, a6 as useUpdateHead, a7 as RouterSymbol, a8 as initData, a9 as dataSymbol, aa as Content, ab as ClientOnly, ac as siteDataRef, ad as createSSRApp, ae as createRouter, af as pathToFile, d as defineComponent, u as useData, v as onMounted, s as watchEffect, ag as usePrefetch, ah as useCopyCode, ai as useCodeGroups, a4 as h } from "./chunks/framework.DWWQFVfn.js"; +function resolveThemeExtends(theme) { + if (theme.extends) { + const base = resolveThemeExtends(theme.extends); + return { + ...base, + ...theme, + async enhanceApp(ctx) { + if (base.enhanceApp) + await base.enhanceApp(ctx); + if (theme.enhanceApp) + await theme.enhanceApp(ctx); + } + }; + } + return theme; +} +const Theme = resolveThemeExtends(RawTheme); +const VitePressApp = defineComponent({ + name: "VitePressApp", + setup() { + const { site, lang, dir } = useData(); + onMounted(() => { + watchEffect(() => { + document.documentElement.lang = lang.value; + document.documentElement.dir = dir.value; + }); + }); + if (site.value.router.prefetchLinks) { + usePrefetch(); + } + useCopyCode(); + useCodeGroups(); + if (Theme.setup) + Theme.setup(); + return () => h(Theme.Layout); + } +}); +async function createApp() { + globalThis.__VITEPRESS__ = true; + const router = newRouter(); + const app = newApp(); + app.provide(RouterSymbol, router); + const data = initData(router.route); + app.provide(dataSymbol, data); + app.component("Content", Content); + app.component("ClientOnly", ClientOnly); + Object.defineProperties(app.config.globalProperties, { + $frontmatter: { + get() { + return data.frontmatter.value; + } + }, + $params: { + get() { + return data.page.value.params; + } + } + }); + if (Theme.enhanceApp) { + await Theme.enhanceApp({ + app, + router, + siteData: siteDataRef + }); + } + return { app, router, data }; +} +function newApp() { + return createSSRApp(VitePressApp); +} +function newRouter() { + let isInitialPageLoad = inBrowser; + let initialPath; + return createRouter((path) => { + let pageFilePath = pathToFile(path); + let pageModule = null; + if (pageFilePath) { + if (isInitialPageLoad) { + initialPath = pageFilePath; + } + if (isInitialPageLoad || initialPath === pageFilePath) { + pageFilePath = pageFilePath.replace(/\.js$/, ".lean.js"); + } + if (false) ; + else { + pageModule = import( + /*@vite-ignore*/ + pageFilePath + ); + } + } + if (inBrowser) { + isInitialPageLoad = false; + } + return pageModule; + }, Theme.NotFound); +} +if (inBrowser) { + createApp().then(({ app, router, data }) => { + router.go().then(() => { + useUpdateHead(router.route, data.site); + app.mount("#app"); + }); + }); +} +export { + createApp +}; diff --git a/previews/PR211/assets/chunks/@localSearchIndexroot.CPDZDfTv.js b/previews/PR211/assets/chunks/@localSearchIndexroot.CPDZDfTv.js new file mode 100644 index 000000000..4ba9b5095 --- /dev/null +++ b/previews/PR211/assets/chunks/@localSearchIndexroot.CPDZDfTv.js @@ -0,0 +1,4 @@ +const _localSearchIndexroot = '{"documentCount":184,"nextId":184,"documentIds":{"0":"/PromptingTools.jl/previews/PR211/coverage_of_model_providers#Coverage-of-Model-Providers","1":"/PromptingTools.jl/previews/PR211/examples/building_RAG#Building-a-Simple-Retrieval-Augmented-Generation-(RAG)-System-with-RAGTools","2":"/PromptingTools.jl/previews/PR211/examples/building_RAG#RAG-in-Two-Lines","3":"/PromptingTools.jl/previews/PR211/examples/building_RAG#Evaluations","4":"/PromptingTools.jl/previews/PR211/examples/building_RAG#Generate-Q-and-A-pairs","5":"/PromptingTools.jl/previews/PR211/examples/building_RAG#Explore-one-Q-and-A-pair","6":"/PromptingTools.jl/previews/PR211/examples/building_RAG#Evaluate-this-Q-and-A-pair","7":"/PromptingTools.jl/previews/PR211/examples/building_RAG#Evaluate-the-Whole-Set","8":"/PromptingTools.jl/previews/PR211/examples/building_RAG#What-would-we-do-next?","9":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Various-Examples","10":"/PromptingTools.jl/previews/PR211/examples/readme_examples#ai*-Functions-Overview","11":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Seamless-Integration-Into-Your-Workflow","12":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Advanced-Prompts-/-Conversations","13":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Templated-Prompts","14":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Asynchronous-Execution","15":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Model-Aliases","16":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Embeddings","17":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Classification","18":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Routing-to-Defined-Categories","19":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Data-Extraction","20":"/PromptingTools.jl/previews/PR211/examples/readme_examples#OCR-and-Image-Comprehension","21":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Experimental-Agent-Workflows-/-Output-Validation-with-airetry!","22":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Using-Ollama-models","23":"/PromptingTools.jl/previews/PR211/examples/readme_examples#Using-MistralAI-API-and-other-OpenAI-compatible-APIs","24":"/PromptingTools.jl/previews/PR211/examples/working_with_aitemplates#Using-AITemplates","25":"/PromptingTools.jl/previews/PR211/examples/working_with_custom_apis#Custom-APIs","26":"/PromptingTools.jl/previews/PR211/examples/working_with_custom_apis#Using-MistralAI","27":"/PromptingTools.jl/previews/PR211/examples/working_with_custom_apis#Using-other-OpenAI-compatible-APIs","28":"/PromptingTools.jl/previews/PR211/examples/working_with_custom_apis#Using-llama.cpp-server","29":"/PromptingTools.jl/previews/PR211/examples/working_with_custom_apis#Using-Databricks-Foundation-Models","30":"/PromptingTools.jl/previews/PR211/examples/working_with_custom_apis#Using-Together.ai","31":"/PromptingTools.jl/previews/PR211/examples/working_with_custom_apis#Using-Fireworks.ai","32":"/PromptingTools.jl/previews/PR211/examples/working_with_google_ai_studio#Working-with-Google-AI-Studio","33":"/PromptingTools.jl/previews/PR211/examples/working_with_google_ai_studio#Text-Generation-with-aigenerate","34":"/PromptingTools.jl/previews/PR211/examples/working_with_google_ai_studio#Simple-message","35":"/PromptingTools.jl/previews/PR211/examples/working_with_google_ai_studio#Advanced-Prompts","36":"/PromptingTools.jl/previews/PR211/examples/working_with_google_ai_studio#Gotchas","37":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Local-models-with-Ollama.ai","38":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Text-Generation-with-aigenerate","39":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Simple-message","40":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Standard-string-interpolation","41":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Advanced-Prompts","42":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Schema-Changes-/-Custom-models","43":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Providing-Images-with-aiscan","44":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Embeddings-with-aiembed","45":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Simple-embedding-for-one-document","46":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Multiple-documents-embedding","47":"/PromptingTools.jl/previews/PR211/examples/working_with_ollama#Using-postprocessing-function","48":"/PromptingTools.jl/previews/PR211/extra_tools/api_tools_intro#APITools-Introduction","49":"/PromptingTools.jl/previews/PR211/extra_tools/api_tools_intro#Highlights","50":"/PromptingTools.jl/previews/PR211/extra_tools/api_tools_intro#References","51":"/PromptingTools.jl/previews/PR211/extra_tools/agent_tools_intro#Agent-Tools-Introduction","52":"/PromptingTools.jl/previews/PR211/extra_tools/agent_tools_intro#Highlights","53":"/PromptingTools.jl/previews/PR211/extra_tools/agent_tools_intro#Examples","54":"/PromptingTools.jl/previews/PR211/extra_tools/agent_tools_intro#Automatic-Fixing-of-AI-Calls","55":"/PromptingTools.jl/previews/PR211/extra_tools/agent_tools_intro#References","56":"/PromptingTools.jl/previews/PR211/extra_tools/text_utilities_intro#Text-Utilities","57":"/PromptingTools.jl/previews/PR211/extra_tools/text_utilities_intro#Highlights","58":"/PromptingTools.jl/previews/PR211/extra_tools/text_utilities_intro#References","59":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#RAG-Tools-Introduction","60":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#Highlights","61":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#Examples","62":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#RAG-Interface","63":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#System-Overview","64":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#RAG-Diagram","65":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#Passing-Keyword-Arguments","66":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#Deepdive","67":"/PromptingTools.jl/previews/PR211/extra_tools/rag_tools_intro#References","68":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Frequently-Asked-Questions","69":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Why-OpenAI","70":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#What-if-I-cannot-access-OpenAI?","71":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Data-Privacy-and-OpenAI","72":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Creating-OpenAI-API-Key","73":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#getting-an-error-argumenterror-api-key-cannot-be-empty-despite-having-set-openai-api-key-getting-an-error-argumenterror-apikey-cannot-be-empty-despite-having-set-openaiapi-key","74":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Getting-an-error-"Rate-limit-exceeded"-from-OpenAI?","75":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Getting-the-error-"429-Too-Many-Requests"?","76":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Setting-OpenAI-Spending-Limits","77":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#How-much-does-it-cost?-Is-it-worth-paying-for?","78":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#How-to-try-new-OpenAI-models-if-I\'m-not-Tier-5-customer?","79":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Configuring-the-Environment-Variable-for-API-Key","80":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Setting-the-API-Key-via-Preferences.jl","81":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Understanding-the-API-Keyword-Arguments-in-aigenerate-(api_kwargs)","82":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Instant-Access-from-Anywhere","83":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Open-Source-Alternatives","84":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Setup-Guide-for-Ollama","85":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Changing-the-Default-Model-or-Schema","86":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Using-Custom-API-Providers-like-Azure-or-Databricks","87":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#How-to-have-Multi-turn-Conversations?","88":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#How-to-have-typed-responses?","89":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#How-to-quickly-create-a-prompt-template?","90":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Do-we-have-a-RecursiveCharacterTextSplitter-like-Langchain?","91":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#How-would-I-fine-tune-a-model?","92":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Can-I-see-how-my-prompt-is-rendered-/-what-is-sent-to-the-API?","93":"/PromptingTools.jl/previews/PR211/frequently_asked_questions#Automatic-Logging-/-Tracing","94":"/PromptingTools.jl/previews/PR211/getting_started#Getting-Started","95":"/PromptingTools.jl/previews/PR211/getting_started#Prerequisites","96":"/PromptingTools.jl/previews/PR211/getting_started#Installation","97":"/PromptingTools.jl/previews/PR211/getting_started#Quick-Start-with-@ai_str","98":"/PromptingTools.jl/previews/PR211/getting_started#Using-aigenerate-with-placeholders","99":"/PromptingTools.jl/previews/PR211/how_it_works#How-It-Works","100":"/PromptingTools.jl/previews/PR211/how_it_works#Key-Concepts","101":"/PromptingTools.jl/previews/PR211/how_it_works#API/Model-Providers","102":"/PromptingTools.jl/previews/PR211/how_it_works#Schemas","103":"/PromptingTools.jl/previews/PR211/how_it_works#Prompts","104":"/PromptingTools.jl/previews/PR211/how_it_works#Messages","105":"/PromptingTools.jl/previews/PR211/how_it_works#Prompt-Templates","106":"/PromptingTools.jl/previews/PR211/how_it_works#ai*-Functions-Overview","107":"/PromptingTools.jl/previews/PR211/how_it_works#Walkthrough-Example-for-aigenerate","108":"/PromptingTools.jl/previews/PR211/how_it_works#Walkthrough-Example-for-aiextract","109":"/PromptingTools.jl/previews/PR211/prompts/agents#Code-Fixing-Templates","110":"/PromptingTools.jl/previews/PR211/prompts/agents#Template:-CodeFixerRCI","111":"/PromptingTools.jl/previews/PR211/prompts/agents#Template:-CodeFixerShort","112":"/PromptingTools.jl/previews/PR211/prompts/agents#Template:-CodeFixerTiny","113":"/PromptingTools.jl/previews/PR211/prompts/agents#Feedback-Templates","114":"/PromptingTools.jl/previews/PR211/prompts/agents#Template:-FeedbackFromEvaluator","115":"/PromptingTools.jl/previews/PR211/prompts/RAG#Basic-Rag-Templates","116":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGAnswerFromContext","117":"/PromptingTools.jl/previews/PR211/prompts/RAG#Ranking-Templates","118":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGRankGPT","119":"/PromptingTools.jl/previews/PR211/prompts/RAG#Metadata-Templates","120":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGExtractMetadataLong","121":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGExtractMetadataShort","122":"/PromptingTools.jl/previews/PR211/prompts/RAG#Refinement-Templates","123":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGAnswerRefiner","124":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGWebSearchRefiner","125":"/PromptingTools.jl/previews/PR211/prompts/RAG#Evaluation-Templates","126":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGCreateQAFromContext","127":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGJudgeAnswerFromContext","128":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGJudgeAnswerFromContextShort","129":"/PromptingTools.jl/previews/PR211/prompts/RAG#Query-Transformations-Templates","130":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGJuliaQueryHyDE","131":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGQueryHyDE","132":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGQueryKeywordExpander","133":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGQueryOptimizer","134":"/PromptingTools.jl/previews/PR211/prompts/RAG#Template:-RAGQuerySimplifier","135":"/PromptingTools.jl/previews/PR211/prompts/classification#Classification-Templates","136":"/PromptingTools.jl/previews/PR211/prompts/classification#Template:-InputClassifier","137":"/PromptingTools.jl/previews/PR211/prompts/classification#Template:-JudgeIsItTrue","138":"/PromptingTools.jl/previews/PR211/prompts/classification#Template:-QuestionRouter","139":"/PromptingTools.jl/previews/PR211/prompts/critic#Critic-Templates","140":"/PromptingTools.jl/previews/PR211/prompts/critic#Template:-ChiefEditorTranscriptCritic","141":"/PromptingTools.jl/previews/PR211/prompts/critic#Template:-GenericTranscriptCritic","142":"/PromptingTools.jl/previews/PR211/prompts/critic#Template:-JuliaExpertTranscriptCritic","143":"/PromptingTools.jl/previews/PR211/prompts/extraction#Xml-Formatted-Templates","144":"/PromptingTools.jl/previews/PR211/prompts/extraction#Template:-ExtractDataCoTXML","145":"/PromptingTools.jl/previews/PR211/prompts/extraction#Template:-ExtractDataXML","146":"/PromptingTools.jl/previews/PR211/prompts/extraction#Extraction-Templates","147":"/PromptingTools.jl/previews/PR211/prompts/extraction#Template:-ExtractData","148":"/PromptingTools.jl/previews/PR211/prompts/general#General-Templates","149":"/PromptingTools.jl/previews/PR211/prompts/general#Template:-BlankSystemUser","150":"/PromptingTools.jl/previews/PR211/prompts/general#Template:-PromptEngineerForTask","151":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Persona-Task-Templates","152":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-AnalystChaptersInTranscript","153":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-AnalystDecisionsInTranscript","154":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-AnalystThemesInResponses","155":"/PromptingTools.jl/previews/PR211/prompts/persona-task#theme-1-theme-description","156":"/PromptingTools.jl/previews/PR211/prompts/persona-task#theme-2-theme-description","157":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-AssistantAsk","158":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-ConversationLabeler","159":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-DetailOrientedTask","160":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-DrafterEmailBrief","161":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-GenericTopicExpertAsk","162":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-GenericWriter","163":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JavaScriptExpertAsk","164":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaBlogWriter","165":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaExpertAsk","166":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaExpertCoTTask","167":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaExpertTestCode","168":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaRecapCoTTask","169":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaRecapTask","170":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-LinuxBashExpertAsk","171":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-StorytellerExplainSHAP","172":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Xml-Formatted-Templates","173":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaExpertAskXML","174":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaExpertCoTTaskXML","175":"/PromptingTools.jl/previews/PR211/prompts/persona-task#Template:-JuliaExpertTestCodeXML","176":"/PromptingTools.jl/previews/PR211/prompts/visual#Visual-Templates","177":"/PromptingTools.jl/previews/PR211/prompts/visual#Template:-BlogTitleImageGenerator","178":"/PromptingTools.jl/previews/PR211/prompts/visual#Template:-OCRTask","179":"/PromptingTools.jl/previews/PR211/reference_apitools#Reference-for-APITools","180":"/PromptingTools.jl/previews/PR211/reference_experimental#Reference-for-Experimental-Module","181":"/PromptingTools.jl/previews/PR211/reference_agenttools#Reference-for-AgentTools","182":"/PromptingTools.jl/previews/PR211/reference_ragtools#Reference-for-RAGTools","183":"/PromptingTools.jl/previews/PR211/reference#Reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[4,1,158],"1":[10,1,78],"2":[4,10,197],"3":[1,1,40],"4":[5,1,74],"5":[6,1,68],"6":[6,1,180],"7":[4,1,366],"8":[6,1,111],"9":[2,1,1],"10":[3,2,306],"11":[5,2,128],"12":[3,2,152],"13":[2,2,161],"14":[2,2,40],"15":[2,2,97],"16":[1,2,65],"17":[1,2,97],"18":[4,3,81],"19":[2,2,158],"20":[4,2,103],"21":[8,2,274],"22":[3,2,108],"23":[8,2,195],"24":[2,1,322],"25":[2,1,27],"26":[2,2,145],"27":[5,2,87],"28":[4,2,118],"29":[4,2,85],"30":[3,2,109],"31":[3,2,162],"32":[5,1,83],"33":[4,5,14],"34":[2,8,55],"35":[2,8,90],"36":[1,8,59],"37":[5,1,147],"38":[4,5,1],"39":[2,8,51],"40":[3,8,35],"41":[2,8,122],"42":[4,8,134],"43":[4,5,40],"44":[3,5,1],"45":[5,7,42],"46":[3,7,53],"47":[3,7,61],"48":[2,1,23],"49":[1,2,41],"50":[1,2,87],"51":[3,1,37],"52":[1,3,185],"53":[1,3,1],"54":[5,4,227],"55":[1,3,919],"56":[2,1,28],"57":[1,2,126],"58":[1,2,513],"59":[3,1,99],"60":[1,3,91],"61":[1,3,375],"62":[2,3,1],"63":[2,4,195],"64":[2,4,79],"65":[3,5,105],"66":[1,4,165],"67":[1,3,779],"68":[3,1,1],"69":[2,3,54],"70":[7,5,36],"71":[4,3,65],"72":[4,3,54],"73":[19,3,120],"74":[10,3,151],"75":[9,3,87],"76":[4,3,57],"77":[10,3,99],"78":[14,3,118],"79":[7,3,97],"80":[7,3,41],"81":[10,3,8],"82":[4,3,47],"83":[3,3,31],"84":[4,3,108],"85":[6,3,83],"86":[8,3,111],"87":[7,3,120],"88":[6,3,256],"89":[8,3,193],"90":[8,3,70],"91":[8,3,87],"92":[14,3,155],"93":[3,3,141],"94":[2,1,1],"95":[1,2,112],"96":[1,2,37],"97":[5,2,112],"98":[4,2,101],"99":[3,1,49],"100":[2,3,91],"101":[3,5,56],"102":[1,5,77],"103":[1,5,61],"104":[1,5,77],"105":[2,5,139],"106":[3,5,308],"107":[4,3,203],"108":[4,3,451],"109":[3,1,1],"110":[2,3,236],"111":[2,3,126],"112":[2,3,60],"113":[2,1,1],"114":[2,2,23],"115":[3,1,1],"116":[2,3,61],"117":[2,1,1],"118":[2,2,90],"119":[2,1,1],"120":[2,2,160],"121":[2,2,66],"122":[2,1,1],"123":[2,2,111],"124":[2,2,119],"125":[2,1,1],"126":[2,2,140],"127":[2,2,116],"128":[2,2,63],"129":[3,1,1],"130":[2,3,85],"131":[2,3,83],"132":[2,3,122],"133":[2,3,85],"134":[2,3,65],"135":[2,1,1],"136":[2,2,73],"137":[2,2,41],"138":[2,2,101],"139":[2,1,1],"140":[2,2,188],"141":[2,2,136],"142":[2,2,178],"143":[3,1,1],"144":[2,3,101],"145":[2,3,83],"146":[2,1,1],"147":[2,2,74],"148":[2,1,1],"149":[2,2,35],"150":[2,2,71],"151":[3,1,1],"152":[2,3,198],"153":[2,3,207],"154":[2,3,124],"155":[4,1,5],"156":[4,1,36],"157":[2,4,47],"158":[2,4,108],"159":[2,4,46],"160":[2,4,160],"161":[2,4,65],"162":[2,4,65],"163":[2,4,63],"164":[2,4,118],"165":[2,4,51],"166":[2,4,85],"167":[2,4,171],"168":[2,4,168],"169":[2,4,174],"170":[2,4,66],"171":[2,4,175],"172":[3,4,1],"173":[2,6,60],"174":[2,6,96],"175":[2,6,181],"176":[2,1,1],"177":[2,2,76],"178":[2,2,51],"179":[3,1,101],"180":[4,1,68],"181":[3,1,1182],"182":[3,1,1818],"183":[1,1,2758]},"averageFieldLength":[3.2500000000000013,2.869565217391304,136.1576086956522],"storedFields":{"0":{"title":"Coverage of Model Providers","titles":[]},"1":{"title":"Building a Simple Retrieval-Augmented Generation (RAG) System with RAGTools","titles":[]},"2":{"title":"RAG in Two Lines","titles":["Building a Simple Retrieval-Augmented Generation (RAG) System with RAGTools"]},"3":{"title":"Evaluations","titles":[]},"4":{"title":"Generate Q&A pairs","titles":["Evaluations"]},"5":{"title":"Explore one Q&A pair","titles":["Evaluations"]},"6":{"title":"Evaluate this Q&A pair","titles":["Evaluations"]},"7":{"title":"Evaluate the Whole Set","titles":["Evaluations"]},"8":{"title":"What would we do next?","titles":[]},"9":{"title":"Various Examples","titles":[]},"10":{"title":"ai* Functions Overview","titles":["Various Examples"]},"11":{"title":"Seamless Integration Into Your Workflow","titles":["Various Examples"]},"12":{"title":"Advanced Prompts / Conversations","titles":["Various Examples"]},"13":{"title":"Templated Prompts","titles":["Various Examples"]},"14":{"title":"Asynchronous Execution","titles":["Various Examples"]},"15":{"title":"Model Aliases","titles":["Various Examples"]},"16":{"title":"Embeddings","titles":["Various Examples"]},"17":{"title":"Classification","titles":["Various Examples"]},"18":{"title":"Routing to Defined Categories","titles":["Various Examples","Classification"]},"19":{"title":"Data Extraction","titles":["Various Examples"]},"20":{"title":"OCR and Image Comprehension","titles":["Various Examples"]},"21":{"title":"Experimental Agent Workflows / Output Validation with airetry!","titles":["Various Examples"]},"22":{"title":"Using Ollama models","titles":["Various Examples"]},"23":{"title":"Using MistralAI API and other OpenAI-compatible APIs","titles":["Various Examples"]},"24":{"title":"Using AITemplates","titles":[]},"25":{"title":"Custom APIs","titles":[]},"26":{"title":"Using MistralAI","titles":["Custom APIs"]},"27":{"title":"Using other OpenAI-compatible APIs","titles":["Custom APIs"]},"28":{"title":"Using llama.cpp server","titles":["Custom APIs"]},"29":{"title":"Using Databricks Foundation Models","titles":["Custom APIs"]},"30":{"title":"Using Together.ai","titles":["Custom APIs"]},"31":{"title":"Using Fireworks.ai","titles":["Custom APIs"]},"32":{"title":"Working with Google AI Studio","titles":[]},"33":{"title":"Text Generation with aigenerate","titles":["Working with Google AI Studio"]},"34":{"title":"Simple message","titles":["Working with Google AI Studio","Text Generation with aigenerate"]},"35":{"title":"Advanced Prompts","titles":["Working with Google AI Studio","Text Generation with aigenerate"]},"36":{"title":"Gotchas","titles":["Working with Google AI Studio","Text Generation with aigenerate"]},"37":{"title":"Local models with Ollama.ai","titles":[]},"38":{"title":"Text Generation with aigenerate","titles":["Local models with Ollama.ai"]},"39":{"title":"Simple message","titles":["Local models with Ollama.ai","Text Generation with aigenerate"]},"40":{"title":"Standard string interpolation","titles":["Local models with Ollama.ai","Text Generation with aigenerate"]},"41":{"title":"Advanced Prompts","titles":["Local models with Ollama.ai","Text Generation with aigenerate"]},"42":{"title":"Schema Changes / Custom models","titles":["Local models with Ollama.ai","Text Generation with aigenerate"]},"43":{"title":"Providing Images with aiscan","titles":["Local models with Ollama.ai"]},"44":{"title":"Embeddings with aiembed","titles":["Local models with Ollama.ai"]},"45":{"title":"Simple embedding for one document","titles":["Local models with Ollama.ai","Embeddings with aiembed"]},"46":{"title":"Multiple documents embedding","titles":["Local models with Ollama.ai","Embeddings with aiembed"]},"47":{"title":"Using postprocessing function","titles":["Local models with Ollama.ai","Embeddings with aiembed"]},"48":{"title":"APITools Introduction","titles":[]},"49":{"title":"Highlights","titles":["APITools Introduction"]},"50":{"title":"References","titles":["APITools Introduction"]},"51":{"title":"Agent Tools Introduction","titles":[]},"52":{"title":"Highlights","titles":["Agent Tools Introduction"]},"53":{"title":"Examples","titles":["Agent Tools Introduction"]},"54":{"title":"Automatic Fixing of AI Calls","titles":["Agent Tools Introduction","Examples"]},"55":{"title":"References","titles":["Agent Tools Introduction"]},"56":{"title":"Text Utilities","titles":[]},"57":{"title":"Highlights","titles":["Text Utilities"]},"58":{"title":"References","titles":["Text Utilities"]},"59":{"title":"RAG Tools Introduction","titles":[]},"60":{"title":"Highlights","titles":["RAG Tools Introduction"]},"61":{"title":"Examples","titles":["RAG Tools Introduction"]},"62":{"title":"RAG Interface","titles":["RAG Tools Introduction"]},"63":{"title":"System Overview","titles":["RAG Tools Introduction","RAG Interface"]},"64":{"title":"RAG Diagram","titles":["RAG Tools Introduction","RAG Interface"]},"65":{"title":"Passing Keyword Arguments","titles":["RAG Tools Introduction","RAG Interface","RAG Diagram"]},"66":{"title":"Deepdive","titles":["RAG Tools Introduction","RAG Interface"]},"67":{"title":"References","titles":["RAG Tools Introduction"]},"68":{"title":"Frequently Asked Questions","titles":[]},"69":{"title":"Why OpenAI","titles":["Frequently Asked Questions"]},"70":{"title":"What if I cannot access OpenAI?","titles":["Frequently Asked Questions","Why OpenAI"]},"71":{"title":"Data Privacy and OpenAI","titles":["Frequently Asked Questions"]},"72":{"title":"Creating OpenAI API Key","titles":["Frequently Asked Questions"]},"73":{"title":"Getting an error "ArgumentError: api_key cannot be empty" despite having set OPENAI_API_KEY? {#Getting-an-error-"ArgumentError:-apikey-cannot-be-empty"-despite-having-set-OPENAIAPI_KEY?}","titles":["Frequently Asked Questions"]},"74":{"title":"Getting an error "Rate limit exceeded" from OpenAI?","titles":["Frequently Asked Questions"]},"75":{"title":"Getting the error "429 Too Many Requests"?","titles":["Frequently Asked Questions"]},"76":{"title":"Setting OpenAI Spending Limits","titles":["Frequently Asked Questions"]},"77":{"title":"How much does it cost? Is it worth paying for?","titles":["Frequently Asked Questions"]},"78":{"title":"How to try new OpenAI models if I\'m not Tier 5 customer?","titles":["Frequently Asked Questions"]},"79":{"title":"Configuring the Environment Variable for API Key","titles":["Frequently Asked Questions"]},"80":{"title":"Setting the API Key via Preferences.jl","titles":["Frequently Asked Questions"]},"81":{"title":"Understanding the API Keyword Arguments in aigenerate (api_kwargs)","titles":["Frequently Asked Questions"]},"82":{"title":"Instant Access from Anywhere","titles":["Frequently Asked Questions"]},"83":{"title":"Open Source Alternatives","titles":["Frequently Asked Questions"]},"84":{"title":"Setup Guide for Ollama","titles":["Frequently Asked Questions"]},"85":{"title":"Changing the Default Model or Schema","titles":["Frequently Asked Questions"]},"86":{"title":"Using Custom API Providers like Azure or Databricks","titles":["Frequently Asked Questions"]},"87":{"title":"How to have Multi-turn Conversations?","titles":["Frequently Asked Questions"]},"88":{"title":"How to have typed responses?","titles":["Frequently Asked Questions"]},"89":{"title":"How to quickly create a prompt template?","titles":["Frequently Asked Questions"]},"90":{"title":"Do we have a RecursiveCharacterTextSplitter like Langchain?","titles":["Frequently Asked Questions"]},"91":{"title":"How would I fine-tune a model?","titles":["Frequently Asked Questions"]},"92":{"title":"Can I see how my prompt is rendered / what is sent to the API?","titles":["Frequently Asked Questions"]},"93":{"title":"Automatic Logging / Tracing","titles":["Frequently Asked Questions"]},"94":{"title":"Getting Started","titles":[]},"95":{"title":"Prerequisites","titles":["Getting Started"]},"96":{"title":"Installation","titles":["Getting Started"]},"97":{"title":"Quick Start with @ai_str","titles":["Getting Started"]},"98":{"title":"Using aigenerate with placeholders","titles":["Getting Started"]},"99":{"title":"How It Works","titles":[]},"100":{"title":"Key Concepts","titles":["How It Works"]},"101":{"title":"API/Model Providers","titles":["How It Works","Key Concepts"]},"102":{"title":"Schemas","titles":["How It Works","Key Concepts"]},"103":{"title":"Prompts","titles":["How It Works","Key Concepts"]},"104":{"title":"Messages","titles":["How It Works","Key Concepts"]},"105":{"title":"Prompt Templates","titles":["How It Works","Key Concepts"]},"106":{"title":"ai* Functions Overview","titles":["How It Works","Key Concepts"]},"107":{"title":"Walkthrough Example for aigenerate","titles":["How It Works"]},"108":{"title":"Walkthrough Example for aiextract","titles":["How It Works"]},"109":{"title":"Code-Fixing Templates","titles":[]},"110":{"title":"Template: CodeFixerRCI","titles":["Code-Fixing Templates"]},"111":{"title":"Template: CodeFixerShort","titles":["Code-Fixing Templates"]},"112":{"title":"Template: CodeFixerTiny","titles":["Code-Fixing Templates"]},"113":{"title":"Feedback Templates","titles":[]},"114":{"title":"Template: FeedbackFromEvaluator","titles":["Feedback Templates"]},"115":{"title":"Basic-Rag Templates","titles":[]},"116":{"title":"Template: RAGAnswerFromContext","titles":["Basic-Rag Templates"]},"117":{"title":"Ranking Templates","titles":[]},"118":{"title":"Template: RAGRankGPT","titles":["Ranking Templates"]},"119":{"title":"Metadata Templates","titles":[]},"120":{"title":"Template: RAGExtractMetadataLong","titles":["Metadata Templates"]},"121":{"title":"Template: RAGExtractMetadataShort","titles":["Metadata Templates"]},"122":{"title":"Refinement Templates","titles":[]},"123":{"title":"Template: RAGAnswerRefiner","titles":["Refinement Templates"]},"124":{"title":"Template: RAGWebSearchRefiner","titles":["Refinement Templates"]},"125":{"title":"Evaluation Templates","titles":[]},"126":{"title":"Template: RAGCreateQAFromContext","titles":["Evaluation Templates"]},"127":{"title":"Template: RAGJudgeAnswerFromContext","titles":["Evaluation Templates"]},"128":{"title":"Template: RAGJudgeAnswerFromContextShort","titles":["Evaluation Templates"]},"129":{"title":"Query-Transformations Templates","titles":[]},"130":{"title":"Template: RAGJuliaQueryHyDE","titles":["Query-Transformations Templates"]},"131":{"title":"Template: RAGQueryHyDE","titles":["Query-Transformations Templates"]},"132":{"title":"Template: RAGQueryKeywordExpander","titles":["Query-Transformations Templates"]},"133":{"title":"Template: RAGQueryOptimizer","titles":["Query-Transformations Templates"]},"134":{"title":"Template: RAGQuerySimplifier","titles":["Query-Transformations Templates"]},"135":{"title":"Classification Templates","titles":[]},"136":{"title":"Template: InputClassifier","titles":["Classification Templates"]},"137":{"title":"Template: JudgeIsItTrue","titles":["Classification Templates"]},"138":{"title":"Template: QuestionRouter","titles":["Classification Templates"]},"139":{"title":"Critic Templates","titles":[]},"140":{"title":"Template: ChiefEditorTranscriptCritic","titles":["Critic Templates"]},"141":{"title":"Template: GenericTranscriptCritic","titles":["Critic Templates"]},"142":{"title":"Template: JuliaExpertTranscriptCritic","titles":["Critic Templates"]},"143":{"title":"Xml-Formatted Templates","titles":[]},"144":{"title":"Template: ExtractDataCoTXML","titles":["Xml-Formatted Templates"]},"145":{"title":"Template: ExtractDataXML","titles":["Xml-Formatted Templates"]},"146":{"title":"Extraction Templates","titles":[]},"147":{"title":"Template: ExtractData","titles":["Extraction Templates"]},"148":{"title":"General Templates","titles":[]},"149":{"title":"Template: BlankSystemUser","titles":["General Templates"]},"150":{"title":"Template: PromptEngineerForTask","titles":["General Templates"]},"151":{"title":"Persona-Task Templates","titles":[]},"152":{"title":"Template: AnalystChaptersInTranscript","titles":["Persona-Task Templates"]},"153":{"title":"Template: AnalystDecisionsInTranscript","titles":["Persona-Task Templates"]},"154":{"title":"Template: AnalystThemesInResponses","titles":["Persona-Task Templates"]},"155":{"title":"Theme 1: [Theme Description]","titles":[]},"156":{"title":"Theme 2: [Theme Description]","titles":[]},"157":{"title":"Template: AssistantAsk","titles":["Theme 2: [Theme Description]"]},"158":{"title":"Template: ConversationLabeler","titles":["Theme 2: [Theme Description]"]},"159":{"title":"Template: DetailOrientedTask","titles":["Theme 2: [Theme Description]"]},"160":{"title":"Template: DrafterEmailBrief","titles":["Theme 2: [Theme Description]"]},"161":{"title":"Template: GenericTopicExpertAsk","titles":["Theme 2: [Theme Description]"]},"162":{"title":"Template: GenericWriter","titles":["Theme 2: [Theme Description]"]},"163":{"title":"Template: JavaScriptExpertAsk","titles":["Theme 2: [Theme Description]"]},"164":{"title":"Template: JuliaBlogWriter","titles":["Theme 2: [Theme Description]"]},"165":{"title":"Template: JuliaExpertAsk","titles":["Theme 2: [Theme Description]"]},"166":{"title":"Template: JuliaExpertCoTTask","titles":["Theme 2: [Theme Description]"]},"167":{"title":"Template: JuliaExpertTestCode","titles":["Theme 2: [Theme Description]"]},"168":{"title":"Template: JuliaRecapCoTTask","titles":["Theme 2: [Theme Description]"]},"169":{"title":"Template: JuliaRecapTask","titles":["Theme 2: [Theme Description]"]},"170":{"title":"Template: LinuxBashExpertAsk","titles":["Theme 2: [Theme Description]"]},"171":{"title":"Template: StorytellerExplainSHAP","titles":["Theme 2: [Theme Description]"]},"172":{"title":"Xml-Formatted Templates","titles":["Theme 2: [Theme Description]"]},"173":{"title":"Template: JuliaExpertAskXML","titles":["Theme 2: [Theme Description]","Xml-Formatted Templates"]},"174":{"title":"Template: JuliaExpertCoTTaskXML","titles":["Theme 2: [Theme Description]","Xml-Formatted Templates"]},"175":{"title":"Template: JuliaExpertTestCodeXML","titles":["Theme 2: [Theme Description]","Xml-Formatted Templates"]},"176":{"title":"Visual Templates","titles":[]},"177":{"title":"Template: BlogTitleImageGenerator","titles":["Visual Templates"]},"178":{"title":"Template: OCRTask","titles":["Visual Templates"]},"179":{"title":"Reference for APITools","titles":[]},"180":{"title":"Reference for Experimental Module","titles":[]},"181":{"title":"Reference for AgentTools","titles":[]},"182":{"title":"Reference for RAGTools","titles":[]},"183":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["θ",{"2":{"181":1}}],["β",{"2":{"181":1}}],["α",{"2":{"181":2}}],["→",{"2":{"108":1}}],["zoom",{"2":{"108":1}}],["zshrc",{"2":{"79":1}}],["zero",{"2":{"58":1,"167":1,"175":1,"183":4}}],["~300",{"2":{"183":3}}],["~0",{"2":{"77":1}}],["~",{"2":{"73":1,"79":1,"82":1}}],["~word",{"2":{"67":1,"182":1}}],["~words",{"2":{"67":1,"182":1}}],["^",{"2":{"58":2,"183":2}}],["÷",{"2":{"55":1,"67":1,"181":1,"182":1}}],["├─",{"2":{"55":9,"181":11}}],["👋",{"2":{"183":1}}],["😊",{"2":{"42":1}}],["😃",{"2":{"2":1,"55":1,"181":1}}],["905",{"2":{"183":1}}],["909",{"2":{"158":1}}],["93",{"2":{"181":1}}],["911",{"2":{"108":2}}],["911t",{"2":{"88":2}}],["94",{"2":{"55":1,"181":1}}],["9999999999999982",{"2":{"47":1}}],["99",{"2":{"28":1,"181":1}}],["9",{"2":{"22":1,"23":1,"26":1,"31":1,"182":4,"183":2}}],["9examples",{"2":{"7":1}}],["|im",{"2":{"183":4}}],["|",{"2":{"21":2,"54":2,"55":1,"181":1}}],["|>",{"2":{"13":3,"20":1,"24":1,"54":1,"55":4,"58":1,"88":2,"93":4,"106":1,"181":5,"182":1,"183":16}}],["y`",{"2":{"168":1,"169":1}}],["yarrr",{"2":{"89":2,"183":2}}],["yay",{"2":{"55":1,"181":1}}],["y",{"2":{"55":2,"82":1,"181":4,"182":2,"183":2}}],["years",{"2":{"158":1}}],["yes",{"2":{"41":1,"90":1,"92":1,"98":1}}],["yedi",{"2":{"35":1,"41":2,"183":5}}],["yet",{"2":{"32":1,"55":3,"78":1,"107":1,"141":1,"160":1,"180":1,"181":2,"182":2,"183":6}}],["yellow",{"2":{"21":2,"54":3,"55":5,"181":5}}],["york",{"2":{"183":6}}],["yoda",{"2":{"12":2,"35":1,"41":1,"183":5}}],["youtube",{"2":{"152":1,"153":1}}],["young",{"2":{"12":1,"35":1,"41":1,"183":1}}],["yours",{"2":{"183":12}}],["yourself",{"2":{"41":2,"183":1}}],["your",{"0":{"11":1},"2":{"2":4,"4":1,"8":1,"10":1,"11":3,"12":1,"13":3,"15":1,"22":1,"23":3,"24":9,"26":1,"27":1,"28":1,"29":1,"32":2,"35":2,"37":2,"41":1,"42":1,"55":3,"57":2,"59":1,"60":1,"63":1,"64":1,"67":5,"71":5,"72":1,"73":2,"74":2,"75":4,"76":1,"77":1,"78":2,"79":6,"80":2,"82":1,"84":2,"85":3,"86":4,"87":2,"89":2,"91":1,"92":1,"93":2,"95":5,"96":1,"97":2,"100":1,"102":1,"104":1,"105":4,"106":1,"107":4,"108":3,"110":6,"111":1,"123":1,"124":1,"127":1,"130":1,"131":1,"133":2,"136":1,"138":1,"140":1,"141":2,"142":1,"144":1,"152":3,"153":4,"154":1,"157":2,"158":1,"159":1,"160":1,"161":5,"163":5,"165":2,"166":4,"167":3,"170":5,"171":2,"173":2,"174":4,"175":3,"181":3,"182":13,"183":48}}],["you",{"2":{"0":1,"1":2,"2":3,"4":2,"5":1,"7":6,"8":1,"10":9,"11":9,"12":11,"13":7,"14":2,"15":2,"16":2,"17":3,"18":1,"19":6,"20":4,"21":6,"22":5,"23":12,"24":32,"25":1,"26":9,"27":3,"28":5,"29":5,"30":9,"31":9,"32":2,"33":1,"34":4,"35":3,"37":4,"39":6,"40":2,"41":10,"42":9,"43":1,"46":3,"49":1,"50":1,"52":1,"54":4,"55":25,"57":2,"58":5,"59":1,"60":2,"61":7,"63":7,"65":4,"67":19,"69":1,"71":2,"72":1,"73":6,"74":11,"75":5,"76":3,"77":9,"78":4,"79":5,"80":2,"82":1,"83":2,"84":7,"85":5,"86":6,"87":4,"88":5,"89":21,"91":2,"92":3,"93":12,"95":5,"96":1,"97":3,"98":3,"100":4,"101":3,"102":1,"103":3,"104":1,"105":8,"106":8,"107":8,"108":19,"110":4,"111":2,"112":2,"116":2,"118":1,"120":2,"121":2,"123":3,"124":3,"126":1,"132":2,"134":1,"136":2,"137":1,"138":3,"140":1,"152":3,"153":1,"154":1,"156":1,"157":2,"159":1,"160":1,"161":1,"162":3,"163":1,"164":4,"165":2,"166":3,"167":3,"169":1,"170":1,"171":1,"173":2,"174":2,"175":3,"179":1,"181":24,"182":36,"183":209}}],["└─",{"2":{"55":9,"181":13}}],["└",{"2":{"11":1}}],["┌",{"2":{"11":1}}],["72",{"2":{"183":6}}],["74",{"2":{"98":1}}],["754",{"2":{"138":1}}],["75",{"2":{"67":1,"182":1}}],["77",{"2":{"55":1,"181":1}}],["786",{"2":{"111":1}}],["78",{"2":{"31":1}}],["787",{"2":{"16":1,"183":1}}],["70b",{"2":{"29":3}}],["7",{"2":{"11":1,"55":7,"61":1,"160":1,"181":8,"182":4,"183":2}}],["7examples",{"2":{"7":1}}],["`1",{"2":{"183":1}}],["`1+1`",{"2":{"183":5}}],["`2`",{"2":{"183":5}}],["`top",{"2":{"182":1}}],["`test",{"2":{"67":1,"182":1}}],["`textchunker",{"2":{"67":1,"182":1}}],["`build",{"2":{"182":1}}],["`begin`",{"2":{"168":1,"169":1}}],["`empty",{"2":{"183":2}}],["`error`",{"2":{"183":2}}],["`end`",{"2":{"168":1,"169":1}}],["`example`",{"2":{"24":2}}],["`$`",{"2":{"168":1,"169":1}}],["`$a+$a`",{"2":{"40":1,"183":6}}],["`while`",{"2":{"168":1,"169":1}}],["`function`",{"2":{"168":1,"169":1}}],["`function",{"2":{"168":1,"169":1}}],["`for`",{"2":{"168":1,"169":1}}],["`false`",{"2":{"108":1}}],["`fahrenheit`",{"2":{"19":1}}],["`image",{"2":{"183":2}}],["`isx",{"2":{"168":1,"169":1}}],["`if",{"2":{"168":1,"169":1}}],["`index`",{"2":{"67":2,"182":3}}],["`innerjoin`",{"2":{"7":1}}],["`x",{"2":{"168":2,"169":2}}],["`other",{"2":{"153":1}}],["`out",{"2":{"55":1,"181":1}}],["`dict",{"2":{"168":1,"169":1}}],["`distributed`",{"2":{"61":1}}],["`data`",{"2":{"147":1}}],["`register",{"2":{"183":1}}],["`return",{"2":{"106":1}}],["`run",{"2":{"181":1}}],["`ragresult`",{"2":{"67":1,"182":1}}],["`you",{"2":{"104":1}}],["`streamcallback",{"2":{"183":3}}],["`score",{"2":{"182":1}}],["`schema",{"2":{"108":1}}],["`schema`",{"2":{"27":1,"28":1}}],["`success",{"2":{"55":1,"181":1}}],["`model",{"2":{"183":1}}],["`model`",{"2":{"28":1}}],["`maybeextract",{"2":{"183":1}}],["`map`",{"2":{"74":1}}],["`message`",{"2":{"183":2}}],["`msg",{"2":{"37":1}}],["`processor`",{"2":{"182":1}}],["`pt",{"2":{"27":1,"28":1}}],["`pkg`",{"2":{"24":1}}],["`usermessage`",{"2":{"55":1,"181":1}}],["`using`",{"2":{"24":1}}],["`unit`",{"2":{"19":1}}],["`local",{"2":{"183":1}}],["`location`",{"2":{"19":1}}],["`last",{"2":{"21":2,"54":2,"55":2,"181":2}}],["`number`",{"2":{"168":1,"169":1}}],["`nothing`",{"2":{"108":1}}],["`n",{"2":{"21":1,"54":1,"55":1,"181":1}}],["`condition`",{"2":{"108":1}}],["`convert`",{"2":{"108":1}}],["`conversation`",{"2":{"55":1,"106":1,"181":1}}],["`config",{"2":{"55":1,"181":1}}],["`config`",{"2":{"21":1,"54":1,"55":1,"181":1}}],["`celsius`",{"2":{"19":1}}],["`abstractstring`",{"2":{"168":1,"169":1}}],["`a",{"2":{"168":1,"169":1}}],["`answerer",{"2":{"65":1}}],["`answerer`",{"2":{"65":1}}],["`answer",{"2":{"65":1}}],["`add`",{"2":{"24":1,"167":1,"175":1}}],["`aigenerate",{"2":{"55":1,"181":1}}],["`aicall`",{"2":{"21":1,"54":1,"55":2,"181":2}}],["`airag`",{"2":{"6":1,"67":1,"182":1}}],["`api",{"2":{"21":1,"37":1,"54":1,"55":1,"181":1}}],["`ask`",{"2":{"13":1,"24":2,"183":2}}],["``",{"2":{"13":1,"183":1}}],["```plaintext",{"2":{"111":1,"112":1}}],["````",{"2":{"55":1,"181":1}}],["```julia",{"2":{"24":2,"58":1,"110":2,"111":1,"167":2,"175":2,"181":1,"182":1,"183":3}}],["```sql",{"2":{"20":1,"183":2}}],["```",{"2":{"11":2,"24":2,"55":1,"110":1,"111":1,"112":1,"127":1,"128":1,"152":2,"153":2,"167":2,"175":2,"181":2,"182":1}}],["`",{"2":{"11":2,"21":1,"24":2,"27":1,"28":1,"37":2,"54":1,"55":2,"61":1,"65":1,"67":1,"108":2,"110":2,"164":2,"167":6,"168":8,"169":8,"175":6,"181":3,"182":1,"183":6}}],["│",{"2":{"7":12,"11":5,"55":14,"181":16}}],["22",{"2":{"181":1}}],["2277",{"2":{"140":1}}],["26078",{"2":{"181":3}}],["267",{"2":{"134":1}}],["29",{"2":{"183":2}}],["29826",{"2":{"181":3}}],["2900",{"2":{"58":2,"183":2}}],["21",{"2":{"183":1}}],["2190",{"2":{"153":1}}],["210",{"2":{"112":1}}],["278",{"2":{"121":1}}],["2733",{"2":{"55":4,"181":4}}],["2500",{"2":{"183":7}}],["256",{"2":{"182":2}}],["25",{"2":{"67":3,"182":4}}],["25px",{"2":{"58":1,"182":1,"183":6}}],["248",{"2":{"173":1}}],["2487",{"2":{"110":1}}],["24",{"2":{"36":1}}],["24622",{"2":{"20":1,"183":2}}],["239",{"2":{"178":1}}],["23",{"2":{"55":1,"181":1,"183":1}}],["23rd",{"2":{"31":1}}],["237",{"2":{"13":1,"24":1,"165":1,"183":2}}],["2s",{"2":{"21":1,"54":1,"55":2,"181":2}}],["2",{"0":{"156":1},"1":{"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1},"2":{"7":3,"11":1,"13":1,"19":1,"20":3,"21":5,"24":3,"29":3,"46":1,"47":2,"50":1,"54":5,"55":19,"58":7,"61":1,"67":2,"73":1,"74":1,"77":1,"88":1,"89":1,"90":2,"108":2,"110":3,"111":1,"118":1,"120":2,"121":1,"126":1,"127":1,"136":1,"138":1,"154":1,"158":1,"160":2,"164":1,"166":1,"167":2,"168":3,"169":3,"175":2,"179":1,"181":33,"182":14,"183":34}}],["2064",{"2":{"142":1}}],["2000",{"2":{"167":1,"175":1}}],["200",{"2":{"77":1,"183":5}}],["20506",{"2":{"55":1,"181":1}}],["20737",{"2":{"55":4,"181":4}}],["2049",{"2":{"152":1}}],["20493",{"2":{"55":2,"181":2}}],["2048",{"2":{"28":1,"183":5}}],["2021",{"2":{"120":2}}],["2020",{"2":{"98":1}}],["20240307",{"2":{"183":1}}],["2024",{"2":{"31":1,"78":1,"183":1}}],["2023",{"2":{"15":1,"61":1}}],["20",{"2":{"7":6,"18":1,"58":2,"130":1,"131":1,"182":3,"183":8}}],["2examples",{"2":{"7":1}}],["$f",{"2":{"108":1}}],["$25",{"2":{"108":1}}],["$10",{"2":{"76":1}}],["$50",{"2":{"121":1}}],["$5",{"2":{"76":1}}],["$user",{"2":{"55":1,"181":1}}],["$upper",{"2":{"55":1,"181":1}}],["$lower",{"2":{"55":1,"181":1}}],["$",{"2":{"7":3,"55":9,"58":7,"88":1,"97":1,"108":1,"181":9,"183":7}}],["$0",{"2":{"4":1,"11":1,"20":2,"23":1,"26":1,"30":1,"31":1,"61":1,"87":1,"97":2,"98":1,"183":5}}],[">0",{"2":{"182":1}}],[">tryparse",{"2":{"88":1}}],[">x",{"2":{"7":2,"182":1}}],[">",{"2":{"7":1,"13":1,"18":3,"21":1,"31":1,"46":1,"54":1,"55":8,"58":5,"61":1,"65":1,"67":1,"97":1,"108":2,"110":2,"118":2,"152":2,"153":3,"168":1,"169":1,"181":9,"182":8,"183":28}}],["x123",{"2":{"183":2}}],["x^2`",{"2":{"168":1,"169":1}}],["xml",{"0":{"143":1,"172":1},"1":{"144":1,"145":1,"173":1,"174":1,"175":1},"2":{"144":1,"145":1,"173":1,"174":1,"175":1,"183":1}}],["x3c",{"2":{"20":1,"27":1,"55":6,"58":13,"61":1,"63":1,"67":5,"88":5,"110":4,"144":4,"145":4,"152":3,"153":3,"160":2,"167":1,"173":2,"174":12,"175":17,"181":11,"182":116,"183":152}}],["xyz",{"2":{"11":3,"55":1,"77":1,"106":2,"181":3,"182":1}}],["x",{"2":{"7":4,"21":2,"46":2,"54":2,"55":6,"74":4,"82":1,"88":2,"168":2,"169":2,"181":17,"182":11,"183":11}}],["x26",{"2":{"4":1,"58":2,"126":1,"182":2,"183":12}}],["08",{"2":{"183":2}}],["02",{"2":{"183":1}}],["024",{"2":{"7":1}}],["07",{"2":{"183":1}}],["05",{"2":{"181":1,"183":2}}],["0s",{"2":{"181":1}}],["04302390e23053146fa1f0ddd046f6dbc09843cb",{"2":{"58":1,"182":1,"183":6}}],["0011",{"2":{"183":1}}],["0015",{"2":{"183":3}}],["002",{"2":{"183":3}}],["000",{"2":{"58":2,"67":1,"74":3,"182":10,"183":2}}],["0001",{"2":{"30":1,"31":1,"77":2,"97":1,"98":1}}],["0002",{"2":{"11":1}}],["0045",{"2":{"20":1,"183":1}}],["0117",{"2":{"20":1,"183":2}}],["014",{"2":{"7":7}}],["015",{"2":{"7":2}}],["0dict",{"2":{"7":3}}],["0",{"2":{"6":2,"10":2,"16":2,"19":1,"22":1,"23":2,"26":2,"31":1,"32":1,"33":1,"42":1,"47":2,"55":8,"57":2,"58":4,"61":6,"67":24,"77":1,"84":2,"87":2,"89":2,"97":2,"106":1,"111":1,"112":1,"114":1,"116":1,"121":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"138":1,"140":1,"141":1,"142":1,"144":1,"145":1,"158":1,"161":1,"162":1,"163":1,"164":1,"166":1,"167":3,"169":1,"170":1,"171":1,"174":1,"175":4,"177":1,"181":29,"182":84,"183":66}}],["39931",{"2":{"181":2}}],["390",{"2":{"130":1}}],["383",{"2":{"162":1}}],["31",{"2":{"97":1}}],["344",{"2":{"163":1}}],["34",{"2":{"61":1,"183":1}}],["34900",{"2":{"58":2,"183":2}}],["34315",{"2":{"55":1,"181":1}}],["374",{"2":{"170":1}}],["375",{"2":{"116":1}}],["37581",{"2":{"55":1,"181":1}}],["37",{"2":{"55":1,"181":1}}],["354",{"2":{"131":1}}],["35",{"2":{"55":4,"58":2,"181":4,"183":2}}],["35603",{"2":{"55":1,"181":1}}],["32000",{"2":{"181":3}}],["32991",{"2":{"55":5,"181":5}}],["32",{"2":{"55":2,"97":1,"181":2}}],["337",{"2":{"161":1}}],["33",{"2":{"55":5,"181":5}}],["33333dict",{"2":{"7":1}}],["3x",{"2":{"55":1,"181":1}}],["366",{"2":{"136":1}}],["36",{"2":{"55":1,"181":1}}],["362",{"2":{"20":1,"183":1}}],["3000",{"2":{"167":1,"175":1}}],["300",{"2":{"164":1}}],["30088",{"2":{"55":2,"181":2}}],["30",{"2":{"19":2,"77":1,"130":1,"131":1,"182":2,"183":15}}],["3examples",{"2":{"7":1}}],["3",{"2":{"6":2,"7":11,"10":1,"11":1,"24":1,"37":1,"55":3,"58":3,"61":4,"74":1,"90":1,"93":1,"97":1,"98":3,"106":1,"108":2,"110":4,"111":1,"120":3,"121":2,"154":3,"158":1,"160":1,"167":2,"168":1,"169":1,"175":2,"181":8,"182":5,"183":27}}],["+",{"2":{"6":1,"55":2,"61":2,"63":1,"66":1,"67":1,"108":2,"167":1,"175":1,"181":2,"182":1,"183":5}}],["5th",{"2":{"182":1}}],["595",{"2":{"174":1}}],["570",{"2":{"144":1}}],["57694",{"2":{"55":1,"181":1}}],["519",{"2":{"145":1,"166":1}}],["514",{"2":{"133":1}}],["512",{"2":{"55":5,"181":5,"182":1}}],["5=best",{"2":{"128":1}}],["50m",{"2":{"183":2}}],["504",{"2":{"177":1}}],["500",{"2":{"147":1,"182":2}}],["50086",{"2":{"55":4,"181":4}}],["50",{"2":{"55":4,"87":1,"181":4}}],["52910",{"2":{"55":4,"181":4}}],["55394",{"2":{"55":1,"181":1}}],["5examples",{"2":{"7":1}}],["5",{"0":{"78":1},"2":{"6":5,"11":2,"20":1,"22":3,"28":1,"30":2,"31":1,"37":3,"40":1,"47":1,"50":1,"55":11,"61":3,"65":2,"67":11,"74":1,"75":1,"78":2,"84":2,"87":1,"93":1,"95":1,"97":3,"100":1,"104":1,"107":1,"120":2,"121":1,"127":14,"128":2,"132":1,"154":2,"158":2,"160":2,"167":1,"171":1,"175":1,"179":1,"181":11,"182":25,"183":48}}],["837",{"2":{"183":1}}],["8k",{"2":{"183":1}}],["84",{"2":{"181":1}}],["886",{"2":{"164":1}}],["82",{"2":{"55":1,"181":1}}],["87",{"2":{"30":1}}],["8755f69180b7ac7ee76a69ae68ec36872a116ad4",{"2":{"20":1,"183":2}}],["8x7b",{"2":{"28":1,"37":1,"108":1}}],["80k",{"2":{"182":3}}],["80kg",{"2":{"19":1,"183":7}}],["8080",{"2":{"28":1,"65":3,"67":3,"182":3,"183":2}}],["8081",{"2":{"23":1,"183":2}}],["80",{"2":{"19":1,"182":6,"183":4}}],["8examples",{"2":{"7":1}}],["8",{"2":{"6":1,"55":1,"181":1,"182":4}}],["64",{"2":{"182":2}}],["636",{"2":{"118":1}}],["60",{"2":{"55":3,"74":1,"77":1,"182":2,"183":6}}],["67",{"2":{"55":10,"181":11}}],["67dict",{"2":{"7":3}}],["69",{"2":{"22":1,"183":2}}],["66667dict",{"2":{"7":3}}],["6examples",{"2":{"7":1}}],["6",{"2":{"6":1,"7":1,"42":1,"55":6,"58":1,"74":1,"181":7,"182":5,"183":2}}],["48",{"2":{"181":1}}],["48343",{"2":{"55":1,"181":1}}],["420",{"2":{"128":1,"177":1}}],["429",{"0":{"75":1}}],["4k",{"2":{"58":1,"183":1}}],["46",{"2":{"89":1,"183":1}}],["46632",{"2":{"55":1,"181":1}}],["46839",{"2":{"55":2,"181":2}}],["43094",{"2":{"55":1,"181":1}}],["43",{"2":{"55":1,"181":1}}],["44816",{"2":{"55":2,"181":2}}],["41",{"2":{"55":1,"114":1,"181":1}}],["4examples",{"2":{"7":1}}],["402",{"2":{"150":1}}],["40796033843072876",{"2":{"47":1}}],["4096×2",{"2":{"22":1,"46":1,"183":1}}],["4096",{"2":{"22":1,"45":2,"46":1,"47":1,"183":2}}],["40",{"2":{"7":8,"61":1,"183":2}}],["4",{"2":{"6":3,"7":2,"15":5,"23":1,"24":1,"26":1,"55":10,"58":1,"61":3,"93":3,"97":1,"98":1,"120":1,"154":1,"158":1,"181":10,"182":14,"183":10}}],["1`",{"2":{"183":1}}],["1+1",{"2":{"183":1}}],["16",{"2":{"183":2}}],["1643",{"2":{"175":1}}],["16k",{"2":{"58":1,"181":1,"183":1}}],["17",{"2":{"183":2}}],["175b",{"2":{"183":3}}],["1712",{"2":{"171":1}}],["172",{"2":{"159":1}}],["1>",{"2":{"152":1}}],["184",{"2":{"157":1}}],["18",{"2":{"149":1,"181":1,"183":1}}],["180",{"2":{"19":1,"183":4}}],["180cm",{"2":{"19":1,"183":7}}],["150",{"2":{"160":1}}],["1501",{"2":{"160":1}}],["1506",{"2":{"154":1}}],["1515",{"2":{"141":1}}],["151",{"2":{"137":1}}],["1536×2",{"2":{"183":1}}],["1536",{"2":{"16":1,"183":1}}],["1=worst",{"2":{"128":1}}],["13184",{"2":{"181":2}}],["1396",{"2":{"126":1}}],["1392",{"2":{"124":1}}],["1384",{"2":{"120":1}}],["1m",{"2":{"98":1}}],["1em",{"2":{"58":1,"182":1,"183":6}}],["1examples",{"2":{"7":1}}],["1px",{"2":{"58":1,"182":1,"183":6}}],["1475",{"2":{"167":1}}],["1415",{"2":{"127":1}}],["14966",{"2":{"55":4,"181":4}}],["14",{"2":{"55":1,"181":1}}],["124",{"2":{"183":1}}],["128",{"2":{"182":2}}],["127",{"2":{"84":1,"183":5}}],["12940",{"2":{"55":1,"181":1}}],["12",{"2":{"55":2,"74":1,"181":2,"182":1,"183":2}}],["123",{"2":{"24":1,"85":1}}],["120",{"2":{"10":2,"74":1,"106":2,"183":10}}],["111",{"2":{"183":2}}],["11",{"2":{"182":1}}],["11434",{"2":{"84":1,"183":2}}],["1143",{"2":{"58":1,"168":1,"169":1,"183":1}}],["114",{"2":{"23":1,"26":1}}],["1141",{"2":{"20":1,"183":2}}],["1106",{"2":{"15":2}}],["1928",{"2":{"126":3}}],["190",{"2":{"19":2,"183":6}}],["19",{"2":{"19":2,"61":1,"183":6}}],["10897",{"2":{"183":5}}],["10`",{"2":{"168":1,"169":1}}],["1073",{"2":{"132":1}}],["1074",{"2":{"123":1}}],["10examples",{"2":{"7":1}}],["10×8",{"2":{"7":1}}],["100k",{"2":{"182":1}}],["1000",{"2":{"77":1,"88":1,"167":1,"175":1,"177":1,"182":3,"183":4}}],["100x",{"2":{"74":1}}],["100",{"2":{"7":3,"55":4,"65":2,"67":5,"160":1,"181":3,"182":15,"183":17}}],["10",{"2":{"6":1,"7":4,"11":1,"55":8,"58":1,"61":1,"67":1,"73":2,"74":2,"108":1,"132":1,"181":6,"182":11,"183":18}}],["1024x1024",{"2":{"183":2}}],["1024",{"2":{"183":2}}],["102",{"2":{"4":1,"11":1}}],["1",{"0":{"155":1},"2":{"5":1,"6":1,"7":13,"10":2,"13":3,"16":2,"18":1,"21":6,"24":4,"28":1,"30":1,"32":1,"33":1,"37":2,"40":1,"45":1,"47":1,"54":6,"55":48,"57":2,"58":9,"61":6,"67":9,"73":1,"77":1,"84":1,"87":1,"89":4,"90":2,"93":1,"97":1,"98":2,"106":3,"107":1,"108":3,"110":3,"111":3,"112":1,"114":1,"116":1,"118":2,"120":4,"121":1,"123":2,"124":2,"126":5,"127":17,"128":3,"130":1,"131":1,"132":1,"133":1,"134":1,"136":3,"137":2,"138":2,"140":1,"141":1,"142":1,"144":1,"145":1,"147":2,"149":2,"150":1,"152":5,"153":4,"154":3,"157":1,"158":2,"159":2,"160":2,"161":1,"162":1,"163":1,"164":1,"165":1,"167":3,"168":6,"169":5,"170":1,"171":1,"173":1,"174":1,"175":2,"177":1,"178":1,"181":63,"182":47,"183":79}}],["q4",{"2":{"28":1,"37":1}}],["qaevalresult",{"2":{"6":1,"182":5}}],["qaevalitems",{"2":{"182":1}}],["qaevalitem",{"2":{"4":1,"5":1,"67":5,"182":13}}],["qa",{"2":{"4":1,"6":2,"7":5,"60":1,"67":8,"182":38,"183":3}}],["q",{"0":{"4":1,"5":1,"6":1},"2":{"3":1,"4":1,"6":1,"67":4,"182":4}}],["quantization",{"2":{"158":1,"182":6}}],["quantum",{"2":{"61":1}}],["quarter",{"2":{"67":1,"182":1}}],["quality=",{"2":{"183":1}}],["quality`",{"2":{"183":1}}],["quality",{"2":{"3":2,"5":1,"7":1,"8":1,"13":2,"17":1,"24":3,"90":1,"105":1,"107":2,"127":2,"128":2,"152":1,"157":1,"161":1,"163":1,"165":1,"170":1,"173":1,"182":2,"183":6}}],["queried",{"2":{"183":2}}],["queries",{"2":{"136":1}}],["query",{"0":{"129":1},"1":{"130":1,"131":1,"132":1,"133":1,"134":1},"2":{"50":3,"58":7,"66":3,"118":4,"123":7,"124":8,"130":7,"131":5,"132":13,"133":11,"134":8,"179":3,"182":35,"183":15}}],["question=",{"2":{"182":4}}],["question>",{"2":{"173":2}}],["questionrouter",{"0":{"138":1},"2":{"183":1}}],["questions",{"0":{"68":1},"1":{"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1},"2":{"3":1,"4":1,"13":1,"15":1,"23":1,"24":2,"26":1,"31":1,"34":1,"37":1,"42":1,"58":1,"61":1,"67":3,"97":1,"116":1,"130":2,"157":1,"161":1,"163":1,"165":1,"170":1,"173":1,"182":8,"183":5}}],["question",{"2":{"2":5,"5":1,"6":4,"7":2,"8":1,"13":1,"23":1,"24":7,"26":1,"60":2,"61":8,"64":2,"65":3,"67":30,"77":1,"103":1,"104":1,"105":2,"107":2,"116":5,"118":4,"123":1,"124":1,"126":7,"127":8,"128":6,"131":1,"138":7,"152":1,"153":1,"154":4,"156":2,"157":1,"161":1,"163":1,"165":1,"170":1,"182":74,"183":6}}],["quirks",{"2":{"78":1,"88":1}}],["quicker",{"2":{"181":1}}],["quick",{"0":{"97":1},"2":{"29":1,"73":1,"89":2,"95":1,"160":1,"183":6}}],["quickly",{"0":{"89":1},"2":{"11":1,"58":1,"59":1,"152":1,"182":1,"183":1}}],["quite",{"2":{"28":1,"66":1,"74":1,"90":1,"108":1,"182":1}}],["quote",{"2":{"154":1}}],["quotes",{"2":{"110":3,"152":1,"182":1}}],["quota",{"2":{"75":1}}],["quot",{"0":{"73":4,"74":2,"75":2},"2":{"1":4,"2":2,"6":2,"7":8,"10":8,"11":6,"13":4,"15":10,"17":8,"18":2,"21":6,"24":2,"28":2,"29":2,"30":2,"31":2,"32":2,"33":2,"34":2,"37":4,"42":10,"50":6,"52":6,"54":6,"55":26,"58":52,"61":2,"63":2,"67":20,"73":8,"74":4,"75":4,"77":2,"78":4,"79":4,"80":6,"82":2,"84":2,"85":10,"86":6,"87":6,"88":8,"90":16,"91":6,"92":4,"93":2,"95":6,"97":4,"98":2,"100":2,"101":4,"102":6,"104":8,"105":6,"106":8,"107":6,"108":16,"114":2,"120":2,"121":2,"126":2,"152":2,"153":2,"154":2,"155":2,"156":2,"167":2,"169":2,"171":2,"175":2,"179":6,"181":64,"182":41,"183":258}}],["=template",{"2":{"183":2}}],["=pt",{"2":{"183":3}}],["=prompt",{"2":{"183":1}}],["=url",{"2":{"183":1}}],["=user",{"2":{"149":1}}],["=context",{"2":{"182":1}}],["=1",{"2":{"182":1}}],["=system",{"2":{"149":1,"183":1}}],["=main",{"2":{"55":1,"183":1}}],["=nothing",{"2":{"55":2,"181":4,"182":2}}],["==true",{"2":{"183":1}}],["==",{"2":{"21":2,"54":3,"55":4,"88":1,"167":4,"175":4,"181":13,"182":2,"183":4}}],["=wordcount",{"2":{"13":1,"183":2}}],["=>dic",{"2":{"183":1}}],["=>dict",{"2":{"108":6,"183":2}}],["=>",{"2":{"6":8,"7":1,"88":3,"92":4,"107":4,"108":16,"168":1,"169":1,"182":3,"183":46}}],["=",{"2":{"1":2,"2":6,"4":4,"6":8,"7":13,"10":1,"12":6,"13":7,"14":2,"15":3,"16":4,"17":2,"18":4,"19":2,"20":3,"21":14,"22":5,"23":7,"24":8,"25":1,"26":3,"27":5,"28":1,"29":9,"30":1,"31":3,"32":1,"34":2,"35":2,"37":2,"39":2,"40":5,"41":2,"42":8,"43":1,"45":2,"46":5,"47":3,"50":4,"51":1,"54":14,"55":68,"58":28,"59":1,"61":8,"63":2,"65":28,"67":146,"78":3,"79":2,"80":1,"82":1,"85":2,"86":1,"87":2,"88":11,"90":5,"92":9,"93":6,"95":2,"97":1,"98":1,"102":1,"105":1,"106":3,"107":10,"108":20,"166":1,"167":1,"168":2,"169":1,"174":1,"175":1,"179":7,"181":134,"182":423,"183":572}}],["jxnl",{"2":{"152":1,"153":1}}],["javascript",{"2":{"163":2}}],["javascriptexpertask",{"0":{"163":1}}],["jargon",{"2":{"132":1}}],["jarvislabs",{"2":{"91":1}}],["jack",{"2":{"19":1,"89":4,"183":9}}],["james",{"2":{"19":1,"183":9}}],["jane",{"2":{"7":4,"120":2}}],["jedi",{"2":{"12":3,"35":1,"183":1}}],["joy",{"2":{"41":1}}],["job",{"2":{"7":4,"77":1,"183":5}}],["job=",{"2":{"7":1}}],["jobs",{"2":{"7":7}}],["john",{"2":{"7":3,"40":2,"87":6,"92":2}}],["joint",{"2":{"182":1}}],["join",{"2":{"6":3,"7":23,"108":2,"183":3}}],["joining",{"2":{"5":2,"6":2,"7":2,"70":1}}],["joins",{"2":{"2":1,"5":3,"6":1,"7":15,"182":1}}],["joinpath",{"2":{"2":2,"24":1,"183":3}}],["jsonl",{"2":{"91":2,"183":1}}],["json",{"2":{"4":2,"24":2,"89":1,"91":1,"93":1,"107":1,"108":14,"183":30}}],["json3",{"2":{"1":1,"4":2,"22":1,"45":1,"108":7,"183":3}}],["jump",{"2":{"181":1,"183":1}}],["judgment",{"2":{"160":1}}],["judging",{"2":{"127":1,"182":1}}],["judge=",{"2":{"182":1}}],["judgerating",{"2":{"182":2,"183":1}}],["judgeisittrue",{"0":{"137":1},"2":{"13":1,"17":2,"183":7}}],["judgeallscores",{"2":{"6":1,"182":2,"183":1}}],["judged",{"2":{"6":2}}],["judge",{"2":{"2":1,"6":3,"7":2,"10":1,"17":1,"55":1,"106":1,"127":4,"128":3,"137":1,"181":1,"182":8,"183":3}}],["juicy",{"2":{"31":2,"108":8}}],["just",{"2":{"2":1,"10":1,"13":1,"23":1,"24":4,"26":1,"31":1,"50":1,"55":1,"73":1,"75":1,"82":1,"84":2,"87":1,"88":1,"105":1,"106":1,"108":4,"116":1,"123":1,"124":1,"138":1,"158":2,"179":1,"181":1,"183":13}}],["juliais",{"2":{"183":1}}],["juliainitialize",{"2":{"183":1}}],["juliaindex",{"2":{"61":1,"67":2,"182":6}}],["juliaweather",{"2":{"183":1}}],["juliawrap",{"2":{"58":2,"183":7}}],["juliaqa",{"2":{"182":1}}],["juliaquestion",{"2":{"61":1}}],["juliakwargs",{"2":{"182":1}}],["juliakw",{"2":{"182":3}}],["juliakeywordsprocessor",{"2":{"182":1}}],["juliakeywordsindexer",{"2":{"182":1}}],["julianotagger",{"2":{"182":1}}],["julianotagfilter",{"2":{"182":1}}],["julianoreranker",{"2":{"182":1}}],["julianorephraser",{"2":{"182":1}}],["julianorefiner",{"2":{"182":1}}],["julianoprocessor",{"2":{"182":1}}],["julianopostprocessor",{"2":{"182":1}}],["julianoembedder",{"2":{"182":1}}],["julianew",{"2":{"12":1,"183":1}}],["juliahandle",{"2":{"183":1}}],["juliahamming",{"2":{"182":1}}],["juliahcat",{"2":{"182":1}}],["juliahyderephraser",{"2":{"182":1}}],["juliahtmlstyler",{"2":{"182":1}}],["juliagroqopenaischema",{"2":{"183":1}}],["juliagetpropertynested",{"2":{"182":1}}],["juliaget",{"2":{"182":7,"183":1}}],["juliagenerate",{"2":{"67":1,"182":1,"183":1}}],["juliagamma",{"2":{"181":1}}],["juliabin",{"2":{"182":2}}],["juliabinary",{"2":{"182":1}}],["juliabinarycosinesimilarity",{"2":{"182":1}}],["juliabinarybatchembedder",{"2":{"182":1}}],["juliabitpacked",{"2":{"182":1}}],["juliabitpackedcosinesimilarity",{"2":{"182":1}}],["juliabitpackedbatchembedder",{"2":{"182":1}}],["juliabatchembedder",{"2":{"182":1}}],["juliabm25similarity",{"2":{"182":1}}],["juliabeta",{"2":{"181":1}}],["juliablogwriter",{"0":{"164":1}}],["juliabuild",{"2":{"67":3,"182":5,"183":3}}],["juliaollama",{"2":{"183":1}}],["juliaopenai",{"2":{"183":3}}],["juliaopenrouteropenaischema",{"2":{"183":1}}],["juliaopentagger",{"2":{"182":1}}],["juliaobj",{"2":{"108":1}}],["juliaoutput",{"2":{"54":1}}],["juliaout",{"2":{"21":1,"55":2,"181":2}}],["juliaupdate",{"2":{"183":1}}],["juliaunique",{"2":{"183":1}}],["juliaunwrap",{"2":{"93":1}}],["juliauct",{"2":{"181":1}}],["juliausing",{"2":{"1":1,"10":1,"12":1,"13":1,"16":1,"20":1,"21":1,"24":1,"25":1,"32":2,"37":1,"47":1,"48":1,"51":1,"57":1,"88":1,"90":1,"93":3,"96":1,"106":1,"107":2,"108":1,"182":1,"183":10}}],["juliaa=1",{"2":{"183":1}}],["juliaaai",{"2":{"183":1}}],["juliaauth",{"2":{"183":1}}],["juliaapi",{"2":{"183":2}}],["juliaa",{"2":{"182":1,"183":2}}],["juliaalternative",{"2":{"183":1}}],["juliaalign",{"2":{"182":1}}],["juliaalltagfilter",{"2":{"182":1}}],["juliaanthropic",{"2":{"183":2}}],["juliaanthropicschema",{"2":{"183":1}}],["juliaanswer",{"2":{"182":1}}],["juliaanytagfilter",{"2":{"182":1}}],["juliaannotatednode",{"2":{"182":1}}],["juliaannotater",{"2":{"67":1,"182":1}}],["juliaannotate",{"2":{"67":2,"182":2}}],["juliaadvancedretriever",{"2":{"182":1}}],["juliaadvancedgenerator",{"2":{"182":1}}],["juliaadd",{"2":{"181":1,"182":1}}],["juliaabstractretriever",{"2":{"182":1}}],["juliaabstractmultiindex",{"2":{"182":1}}],["juliaabstractindexbuilder",{"2":{"182":1}}],["juliaabstractgenerator",{"2":{"182":1}}],["juliaabstractchunkindex",{"2":{"182":1}}],["juliaabstractcandidatechunks",{"2":{"182":1}}],["juliaagenttools",{"2":{"181":1}}],["juliaassume",{"2":{"67":1,"182":1}}],["juliaaiimage",{"2":{"183":2}}],["juliaaitemplate",{"2":{"183":1}}],["juliaaitemplates",{"2":{"89":1,"183":2}}],["juliaaimessage",{"2":{"183":1}}],["juliaaiscan",{"2":{"181":1,"183":3}}],["juliaaiextract",{"2":{"181":1,"183":3}}],["juliaaiembed",{"2":{"30":1,"31":1,"181":1,"183":3}}],["juliaairag",{"2":{"67":1,"182":1}}],["juliaairetry",{"2":{"55":1,"181":1}}],["juliaaicodefixer",{"2":{"55":1,"181":2}}],["juliaaicode",{"2":{"55":1,"183":1}}],["juliaaicall",{"2":{"55":3,"181":6}}],["juliaaiclassify",{"2":{"17":2,"181":1,"183":5}}],["juliaaigenerate",{"2":{"55":1,"89":2,"181":1,"183":8}}],["juliaai",{"2":{"34":1,"87":1,"97":2,"183":1}}],["julialocalserveropenaischema",{"2":{"183":1}}],["juliaload",{"2":{"182":1,"183":2}}],["juliallmleaderboard",{"2":{"91":1}}],["julialength",{"2":{"58":1,"183":1}}],["julialanguage",{"2":{"120":1}}],["julialang",{"2":{"57":1,"58":1,"60":1,"183":1}}],["juliafunction",{"2":{"183":1}}],["juliafinalize",{"2":{"183":3}}],["juliafind",{"2":{"182":8,"183":2}}],["juliafields",{"2":{"183":4}}],["juliafireworksopenaischema",{"2":{"183":1}}],["juliafilechunker",{"2":{"182":1}}],["juliafilename",{"2":{"24":1}}],["juliafiles",{"2":{"2":1}}],["juliaflashranker",{"2":{"182":1}}],["juliafeedback",{"2":{"108":1}}],["juliafor",{"2":{"55":1,"181":1}}],["juliart",{"2":{"182":1}}],["juliarank",{"2":{"182":2}}],["juliarankgptresult",{"2":{"182":1}}],["juliarankgptreranker",{"2":{"182":1}}],["juliaragresult",{"2":{"182":1}}],["juliaragconfig",{"2":{"182":1}}],["juliaragtools",{"2":{"182":1}}],["juliarun",{"2":{"181":2,"182":2}}],["juliarender",{"2":{"183":7}}],["juliarendered",{"2":{"107":1}}],["juliaremove",{"2":{"183":1}}],["juliaregister",{"2":{"183":2}}],["juliarerank",{"2":{"182":2}}],["juliarefiner",{"2":{"182":1}}],["juliarefine",{"2":{"182":3}}],["juliaretryconfig",{"2":{"181":1}}],["juliaretrieve",{"2":{"67":1,"182":1}}],["juliaretriever",{"2":{"65":1,"67":2,"182":2}}],["juliareciprocal",{"2":{"182":2}}],["juliareceive",{"2":{"182":1}}],["juliarecaptask",{"0":{"169":1}}],["juliarecapcottask",{"0":{"168":1}}],["juliarecursive",{"2":{"58":2,"183":2}}],["juliaresponse",{"2":{"183":1}}],["juliaresize",{"2":{"183":2}}],["juliares",{"2":{"67":1,"182":1}}],["juliaresult",{"2":{"61":1,"106":1,"108":1,"182":1,"183":4}}],["juliaresults",{"2":{"7":1}}],["juliarephrase",{"2":{"65":1,"182":3}}],["juliareplace",{"2":{"58":1,"183":1}}],["juliar",{"2":{"50":2,"179":2}}],["juliasharegptschema",{"2":{"183":1}}],["juliasave",{"2":{"183":3}}],["juliasaverschema",{"2":{"183":1}}],["juliasample",{"2":{"181":1}}],["juliasamplenode",{"2":{"181":1}}],["juliaspec",{"2":{"183":1}}],["juliasplit",{"2":{"182":1}}],["juliascore",{"2":{"182":1}}],["juliaschema",{"2":{"42":1,"183":3}}],["juliastreamed",{"2":{"183":1}}],["juliastreamchunk",{"2":{"183":1}}],["juliastreamcallback",{"2":{"183":1}}],["juliastemmer",{"2":{"182":1}}],["juliastyler",{"2":{"182":1}}],["juliasubchunkindex",{"2":{"182":1}}],["juliasimpleretriever",{"2":{"182":1}}],["juliasimplerephraser",{"2":{"182":1}}],["juliasimplerefiner",{"2":{"182":1}}],["juliasimpleindexer",{"2":{"182":1}}],["juliasimplegenerator",{"2":{"182":1}}],["juliasimplebm25retriever",{"2":{"182":1}}],["juliasimpleanswerer",{"2":{"182":1}}],["juliasig",{"2":{"108":3}}],["juliasetpropertynested",{"2":{"182":1}}],["juliaset",{"2":{"182":1,"183":2}}],["juliaselect",{"2":{"181":1}}],["juliasentences",{"2":{"61":1}}],["juliaserialize",{"2":{"2":1}}],["juliamarkdown",{"2":{"183":1}}],["juliamistralopenaischema",{"2":{"183":1}}],["juliamessages",{"2":{"183":1}}],["juliamerge",{"2":{"182":1}}],["juliameta",{"2":{"93":1}}],["juliamultiindex",{"2":{"182":1}}],["juliamultifinder",{"2":{"182":1}}],["juliamulticandidatechunks",{"2":{"182":1}}],["juliamodelspec",{"2":{"183":1}}],["juliamodel",{"2":{"40":1,"108":2,"183":2}}],["juliamsgs",{"2":{"24":1}}],["juliamsg",{"2":{"12":1,"13":2,"20":1,"22":1,"23":1,"24":1,"26":1,"28":1,"29":1,"30":1,"31":1,"34":1,"39":1,"43":1,"45":2,"46":1,"47":1,"55":1,"67":1,"98":1,"182":3,"183":14}}],["juliadistance",{"2":{"183":1}}],["juliadetect",{"2":{"183":1}}],["juliadecode",{"2":{"183":1}}],["juliadeepseekopenaischema",{"2":{"183":1}}],["juliadatabricksopenaischema",{"2":{"183":1}}],["juliadatamessage",{"2":{"183":1}}],["juliadataexpertask",{"2":{"24":2}}],["juliadry",{"2":{"92":1}}],["juliadocumenttermmatrix",{"2":{"182":1}}],["juliadoc",{"2":{"67":1,"182":1}}],["juliadocs",{"2":{"46":1}}],["juliadf",{"2":{"7":1}}],["juliapush",{"2":{"183":1}}],["juliapositions1",{"2":{"182":2}}],["juliapermutation",{"2":{"182":1}}],["juliapack",{"2":{"182":1}}],["juliapackage",{"2":{"120":1}}],["juliaparent",{"2":{"182":1}}],["juliapassthroughtagger",{"2":{"182":1}}],["juliapprint",{"2":{"61":1,"183":2}}],["juliapreferences",{"2":{"183":1}}],["juliapreprocess",{"2":{"182":1}}],["juliaprompt",{"2":{"108":1}}],["juliapromptingtools",{"2":{"63":1,"182":1,"183":5}}],["juliaprompts",{"2":{"14":1}}],["juliaprint",{"2":{"55":1,"181":1,"182":1,"183":3}}],["juliapt",{"2":{"24":2,"42":1,"55":1,"67":1,"89":2,"92":1,"93":1,"182":3,"183":5}}],["juliacallback",{"2":{"183":1}}],["juliacall",{"2":{"183":1}}],["juliacandidatechunks",{"2":{"182":1}}],["juliacustomopenaischema",{"2":{"183":1}}],["juliacc",{"2":{"182":1}}],["juliachunkkeywordsindex",{"2":{"182":2}}],["juliachunkembeddingsindex",{"2":{"182":1}}],["juliachoices",{"2":{"18":1,"88":1,"183":5}}],["juliacfg",{"2":{"65":1,"67":1,"182":3}}],["juliacb",{"2":{"55":1,"181":1}}],["juliacohere",{"2":{"182":1}}],["juliacoherereranker",{"2":{"182":1}}],["juliacosinesimilarity",{"2":{"182":1}}],["juliacountry",{"2":{"97":1}}],["juliacommands",{"2":{"58":1,"183":1}}],["juliacode",{"2":{"55":2,"183":4}}],["juliaconfigure",{"2":{"183":1}}],["juliaconv",{"2":{"183":2}}],["juliaconversation",{"2":{"35":1,"41":1,"87":1}}],["juliacontextenumerator",{"2":{"182":1}}],["juliacontext",{"2":{"58":1,"183":1}}],["juliaconst",{"2":{"15":1,"22":1,"23":1,"26":1,"183":15}}],["juliacreate",{"2":{"50":1,"179":1,"182":1,"183":1}}],["juliatypeof",{"2":{"183":5}}],["juliatogetheropenaischema",{"2":{"183":1}}],["juliatokenize",{"2":{"182":1}}],["juliatoken",{"2":{"182":1}}],["juliatags",{"2":{"182":1}}],["juliatavilysearchrefiner",{"2":{"182":1}}],["juliatavily",{"2":{"179":1}}],["juliatryparse",{"2":{"183":1}}],["juliatracerschema",{"2":{"183":1}}],["juliatracermessagelike",{"2":{"183":1}}],["juliatracermessage",{"2":{"183":1}}],["juliatranslate",{"2":{"182":2}}],["juliatrigrams",{"2":{"182":1}}],["juliatrigram",{"2":{"182":1}}],["juliatrigramannotater",{"2":{"182":1}}],["juliatruncate",{"2":{"181":1}}],["juliathompsonsampling",{"2":{"181":1}}],["juliatemplate",{"2":{"107":1}}],["juliatextchunker",{"2":{"182":1}}],["juliatext1",{"2":{"58":1,"183":1}}],["juliatext",{"2":{"16":1,"58":7,"183":7}}],["juliatpl",{"2":{"24":1}}],["juliatmps",{"2":{"13":2,"24":1,"183":4}}],["juliajulia>",{"2":{"13":1,"55":1,"181":1,"183":1}}],["juliaencode",{"2":{"183":1}}],["juliaenv",{"2":{"79":1}}],["juliaextract",{"2":{"182":1,"183":8}}],["juliaexperimental",{"2":{"180":1}}],["juliaexperttask",{"2":{"183":1}}],["juliaexperttestcodexml",{"0":{"175":1}}],["juliaexperttestcode",{"0":{"167":1}}],["juliaexperttranscriptcritic",{"0":{"142":1}}],["juliaexpertcottaskxml",{"0":{"174":1}}],["juliaexpertcottask",{"0":{"166":1}}],["juliaexpertaskxml",{"0":{"173":1}}],["juliaexpertask",{"0":{"165":1},"2":{"13":4,"24":6,"55":1,"106":2,"181":1,"183":6}}],["juliaeval",{"2":{"183":1}}],["juliaevaluate",{"2":{"181":1}}],["juliaevals",{"2":{"4":1,"5":1}}],["juliaerror",{"2":{"55":1,"181":1}}],["juliax",{"2":{"6":1,"182":1,"183":1}}],["julia>",{"2":{"5":1}}],["julia",{"2":{"2":3,"4":1,"6":1,"7":1,"10":1,"13":6,"19":2,"20":3,"21":2,"23":1,"24":14,"27":1,"29":1,"31":1,"43":1,"52":1,"54":2,"55":9,"58":1,"59":1,"60":1,"61":26,"67":3,"73":6,"74":1,"78":2,"79":3,"82":1,"88":2,"89":1,"92":1,"95":3,"104":1,"105":1,"106":1,"107":2,"108":2,"110":4,"111":2,"112":1,"120":2,"130":4,"142":8,"164":3,"165":2,"166":2,"167":3,"168":7,"169":8,"173":2,"174":2,"175":3,"181":12,"182":17,"183":69}}],["jls",{"2":{"2":2}}],["jl",{"0":{"80":1},"2":{"0":3,"1":1,"2":3,"8":2,"10":1,"23":3,"24":1,"26":2,"27":1,"29":1,"30":1,"31":1,"47":1,"55":1,"56":1,"58":3,"61":3,"66":1,"67":1,"70":1,"79":2,"82":2,"83":1,"86":3,"91":1,"95":2,"96":1,"99":1,"102":1,"106":1,"107":1,"108":1,"120":4,"181":1,"182":5,"183":20}}],["nfeedback",{"2":{"181":6}}],["n```",{"2":{"110":1,"111":1,"183":1}}],["nwhat",{"2":{"107":1}}],["nwe",{"2":{"7":1}}],["n=5",{"2":{"67":1,"182":1}}],["n=2",{"2":{"21":1,"54":1,"55":1,"181":1}}],["nparagraph",{"2":{"58":6,"90":2,"183":6}}],["nsfw",{"2":{"55":1,"181":1}}],["nsemijoin",{"2":{"7":1}}],["nbsp",{"2":{"50":1,"55":9,"58":5,"67":6,"179":2,"180":1,"181":37,"182":142,"183":165}}],["ngl",{"2":{"28":2}}],["nli",{"2":{"17":1}}],["nt2",{"2":{"182":3}}],["nt1",{"2":{"182":3}}],["nt",{"2":{"182":4}}],["nthreads",{"2":{"182":6}}],["nthe",{"2":{"7":1}}],["ntasks=2",{"2":{"74":2}}],["ntasks=1",{"2":{"67":1,"74":1,"182":4}}],["ntasks=10",{"2":{"14":1}}],["ntasks",{"2":{"67":1,"74":1,"182":7}}],["n7",{"2":{"7":1}}],["n6",{"2":{"7":1}}],["n5",{"2":{"7":1}}],["numerical",{"2":{"61":1}}],["num",{"2":{"37":2,"118":4,"181":6,"182":2}}],["number",{"2":{"14":1,"28":1,"50":1,"55":14,"57":1,"58":2,"61":1,"67":8,"74":4,"88":10,"108":1,"118":1,"138":1,"167":1,"175":1,"179":1,"181":26,"182":19,"183":25}}],["numbers",{"2":{"2":1,"55":4,"167":2,"175":2,"181":1,"182":1,"183":3}}],["null",{"2":{"7":1,"183":3}}],["n4",{"2":{"7":1}}],["n3",{"2":{"7":1}}],["n2",{"2":{"7":1}}],["n2×3",{"2":{"7":1}}],["n2×2",{"2":{"7":2}}],["n1",{"2":{"7":1}}],["njob",{"2":{"7":2}}],["njulia",{"2":{"7":1}}],["niche",{"2":{"132":1}}],["nice",{"2":{"13":1,"24":1,"39":1,"40":1,"42":1,"183":4}}],["nid",{"2":{"7":2}}],["nintroduction",{"2":{"7":1}}],["n─────┼───────────────",{"2":{"7":1}}],["n─────┼─────────────────────────",{"2":{"7":1}}],["n─────┼─────────────────",{"2":{"7":1}}],["naming",{"2":{"183":1}}],["name`",{"2":{"183":1}}],["named",{"2":{"167":1,"175":1,"183":15}}],["namedtuple=namedtuple",{"2":{"182":1}}],["namedtuples",{"2":{"168":1,"169":1,"182":1}}],["namedtuple",{"2":{"10":2,"55":7,"67":61,"106":2,"179":2,"181":9,"182":79,"183":79}}],["namespace",{"2":{"96":1}}],["names",{"2":{"7":3,"27":1,"28":1,"58":1,"61":1,"63":1,"65":1,"108":2,"120":5,"164":1,"168":1,"169":1,"182":1,"183":21}}],["name",{"2":{"7":6,"11":1,"12":2,"13":2,"15":1,"24":6,"28":1,"29":1,"30":1,"31":2,"37":1,"40":3,"42":1,"84":1,"85":1,"86":1,"87":5,"89":7,"91":1,"92":3,"105":2,"108":9,"110":2,"120":1,"158":1,"160":1,"167":1,"175":1,"181":1,"182":1,"183":78}}],["name=",{"2":{"7":1,"12":1,"85":1,"86":1,"89":2,"92":1,"93":1,"168":1,"169":1,"183":4}}],["narrative",{"2":{"171":2}}],["nature",{"2":{"153":1,"183":1}}],["naturally",{"2":{"183":1}}],["natural",{"2":{"61":1,"132":1,"134":1,"183":1}}],["native",{"2":{"78":1,"108":1}}],["navigate",{"2":{"1":1}}],["n",{"2":{"7":17,"13":2,"21":2,"24":8,"54":2,"55":7,"58":24,"65":2,"67":8,"90":10,"105":2,"107":4,"108":4,"110":1,"111":1,"181":18,"182":18,"183":30}}],["nedeed",{"2":{"183":1}}],["neighboring",{"2":{"182":1}}],["network",{"2":{"182":3}}],["never",{"2":{"182":1,"183":1}}],["negative",{"2":{"167":1,"171":1,"175":1,"182":1}}],["nesting",{"2":{"167":1,"175":1}}],["nested",{"2":{"0":1,"65":2,"67":5,"167":1,"175":1,"182":16,"183":3}}],["neuroplasticity",{"2":{"120":2}}],["nexample",{"2":{"108":1}}],["next",{"0":{"8":1},"2":{"21":1,"54":1,"55":1,"87":1,"107":2,"153":14,"160":1,"181":2,"182":3,"183":2}}],["nearest",{"2":{"89":2,"183":2}}],["near",{"2":{"59":1}}],["news",{"2":{"183":2}}],["newline",{"2":{"58":3,"182":2,"183":4}}],["newlines",{"2":{"57":1,"58":2,"90":1,"183":3}}],["new",{"0":{"78":1},"2":{"12":2,"24":2,"31":1,"55":8,"63":3,"67":2,"72":1,"73":1,"74":1,"78":3,"84":1,"87":1,"95":1,"97":1,"105":1,"107":1,"110":1,"111":1,"123":2,"124":1,"152":1,"153":1,"168":1,"169":1,"181":8,"182":5,"183":28}}],["necessary>",{"2":{"160":1}}],["necessary",{"2":{"10":1,"23":1,"27":1,"41":1,"52":1,"55":2,"59":1,"66":1,"86":1,"92":1,"93":1,"99":1,"106":1,"142":1,"152":1,"181":1,"183":17}}],["needing",{"2":{"126":1}}],["needs",{"2":{"55":1,"102":1,"108":1,"110":1,"142":1,"181":1,"183":1}}],["needed>",{"2":{"160":1}}],["needed",{"2":{"10":1,"19":1,"21":1,"52":1,"54":1,"67":1,"88":1,"106":1,"123":2,"124":2,"140":1,"142":1,"171":1,"181":2,"182":1,"183":5}}],["need",{"2":{"3":1,"4":2,"5":1,"7":1,"10":2,"11":2,"28":1,"32":1,"37":1,"39":1,"42":1,"49":1,"54":1,"55":1,"57":1,"58":1,"60":1,"61":3,"65":1,"67":1,"74":1,"75":1,"77":1,"79":1,"85":1,"86":2,"88":2,"89":1,"95":2,"103":2,"106":2,"108":4,"110":1,"111":1,"112":1,"152":1,"153":1,"154":1,"166":1,"167":1,"169":1,"171":1,"174":1,"175":1,"181":1,"182":3,"183":27}}],["noprocessor",{"2":{"182":4,"183":1}}],["nopostprocessor",{"2":{"67":2,"182":6,"183":1}}],["noembedder",{"2":{"182":3,"183":1}}],["noisy",{"2":{"124":1}}],["noise",{"2":{"2":1}}],["noschema",{"2":{"92":3,"107":1,"183":3}}],["noreranker",{"2":{"182":4,"183":1}}],["norephraser",{"2":{"182":5,"183":1}}],["norefiner",{"2":{"67":3,"182":7,"183":1}}],["normal",{"2":{"78":1,"183":8}}],["normalization",{"2":{"47":1}}],["normalizes",{"2":{"182":1}}],["normalized",{"2":{"16":1,"57":1,"58":1,"182":1,"183":3}}],["normalize",{"2":{"16":2,"47":2,"58":2,"182":3,"183":8}}],["norm",{"2":{"58":2,"183":2}}],["nodes",{"2":{"55":1,"67":5,"181":4,"182":15}}],["node",{"2":{"55":5,"67":3,"181":31,"182":38,"183":4}}],["nods",{"2":{"41":2}}],["nomic",{"2":{"31":2}}],["now",{"2":{"23":1,"24":1,"26":1,"32":1,"41":1,"55":2,"61":1,"77":1,"82":1,"88":1,"89":1,"91":1,"108":1,"181":3,"182":1,"183":8}}],["non",{"2":{"11":1,"21":1,"54":1,"55":1,"85":1,"181":1,"182":2,"183":13}}],["none",{"2":{"4":1,"21":1,"54":1,"67":2,"120":1,"121":1,"126":1,"138":2,"152":1,"153":1,"154":1,"167":1,"169":1,"171":1,"174":1,"175":1,"182":3}}],["no",{"2":{"10":1,"15":1,"20":1,"21":1,"54":1,"55":5,"61":3,"67":3,"78":2,"106":1,"107":2,"110":1,"112":1,"138":2,"153":1,"160":1,"181":6,"182":20,"183":38}}],["notfound",{"2":{"181":1}}],["notagfilter",{"2":{"182":6,"183":1}}],["notagger",{"2":{"67":2,"182":10,"183":1}}],["notation",{"2":{"55":1,"181":1}}],["notification",{"2":{"76":1}}],["notion",{"2":{"52":1}}],["notice",{"2":{"21":3,"22":1,"34":1,"54":2,"55":2,"61":1,"63":1,"65":2,"87":2,"88":1,"91":1,"97":1,"105":1,"107":1,"108":1,"181":2,"182":1,"183":6}}],["nothing",{"2":{"6":1,"7":1,"12":1,"19":4,"31":1,"55":19,"67":9,"73":1,"88":1,"92":1,"108":4,"123":2,"124":2,"152":1,"158":1,"181":24,"182":55,"183":139}}],["not",{"0":{"78":1},"2":{"1":1,"5":1,"7":3,"10":3,"11":1,"12":2,"19":1,"22":1,"23":1,"24":2,"27":1,"32":1,"35":2,"36":2,"41":1,"42":2,"43":1,"50":1,"52":1,"55":21,"58":5,"63":1,"67":1,"69":1,"71":2,"72":2,"73":2,"75":2,"76":1,"78":2,"79":1,"84":1,"87":1,"88":4,"90":1,"95":3,"99":1,"106":3,"108":9,"110":2,"118":1,"123":1,"124":4,"126":1,"127":3,"132":1,"134":1,"141":1,"152":5,"153":1,"154":1,"166":1,"167":1,"168":2,"169":2,"171":2,"175":1,"177":1,"179":1,"180":2,"181":23,"182":11,"183":98}}],["notes",{"2":{"55":2,"58":2,"67":4,"152":4,"153":1,"162":6,"164":7,"181":5,"182":8,"183":7}}],["notexist",{"2":{"21":1,"54":1,"55":2,"181":2}}],["noteworthy",{"2":{"10":1,"67":1,"182":1}}],["note",{"2":{"0":1,"1":2,"6":1,"7":4,"19":1,"21":1,"23":1,"24":1,"27":1,"30":1,"31":1,"37":1,"42":2,"54":1,"55":2,"66":1,"67":1,"69":1,"75":1,"78":1,"89":1,"105":1,"107":1,"108":1,"160":1,"180":1,"181":4,"182":3,"183":37}}],["pwd",{"2":{"183":2}}],["pct",{"2":{"171":3}}],["photos",{"2":{"178":1}}],["phrase",{"2":{"158":1}}],["phrasings",{"2":{"132":1}}],["phase",{"2":{"66":3,"67":1,"182":1}}],["phases",{"2":{"63":1}}],["python",{"2":{"43":1,"61":1,"168":1,"169":1,"183":2}}],["pkgdir",{"2":{"24":1}}],["pkg",{"2":{"24":2,"32":2,"55":1,"73":1,"96":2,"183":2}}],["png",{"2":{"20":2,"43":2,"183":10}}],["p",{"2":{"18":2,"88":4,"181":2,"183":5}}],["plots",{"2":{"120":2}}],["plural",{"2":{"91":1}}],["plus",{"2":{"17":2,"88":2,"183":4}}],["please",{"2":{"24":1,"73":1,"75":2,"127":1,"177":1,"181":1,"183":1}}],["plausible",{"2":{"171":2}}],["plain",{"2":{"160":2,"182":1}}],["plaintextblog",{"2":{"177":1}}],["plaintextexplain",{"2":{"171":1}}],["plaintextextract",{"2":{"121":1}}],["plaintextnotes",{"2":{"162":1,"164":1}}],["plaintextuser",{"2":{"136":1,"138":1,"160":1}}],["plaintextusing",{"2":{"24":1}}],["plaintextoriginal",{"2":{"133":1}}],["plaintexthere",{"2":{"132":1,"134":1}}],["plaintextquery",{"2":{"131":1}}],["plaintextwrite",{"2":{"130":1}}],["plaintextwe",{"2":{"123":1,"124":1}}],["plaintexti",{"2":{"118":1}}],["plaintextignore",{"2":{"110":1}}],["plaintextyour",{"2":{"177":1}}],["plaintextyou",{"2":{"118":1,"120":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"144":1,"145":1,"147":1,"150":1,"157":1,"159":1,"161":1,"163":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"173":1,"174":1,"175":1,"178":1}}],["plaintextact",{"2":{"116":1,"123":1,"124":1,"140":1,"141":1,"142":1,"152":1,"153":1,"158":1,"160":1,"162":1,"164":1}}],["plaintextaimessage",{"2":{"12":1}}],["plaintext2",{"2":{"92":3,"107":2}}],["plaintext>",{"2":{"12":1}}],["plaintext",{"2":{"11":1,"61":1,"97":2,"98":1,"110":1,"111":2,"112":2,"114":2,"116":1,"120":1,"121":1,"126":1,"127":1,"128":1,"137":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":2,"150":1,"152":1,"153":1,"154":1,"156":1,"157":1,"158":1,"159":1,"161":1,"163":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"173":1,"174":1,"175":1,"178":1}}],["placing",{"2":{"110":1,"111":1}}],["places",{"2":{"108":1,"120":1,"183":2}}],["placeholder",{"2":{"24":1,"67":1,"89":1,"105":1,"107":1,"137":1,"144":1,"145":1,"147":1,"150":1,"182":1,"183":6}}],["placeholders",{"0":{"98":1},"2":{"13":2,"24":4,"100":1,"105":1,"107":4,"108":2,"110":2,"111":2,"112":2,"114":2,"116":2,"118":2,"120":2,"121":2,"123":2,"124":2,"126":2,"127":2,"128":2,"130":2,"131":2,"132":2,"133":2,"134":2,"136":2,"137":1,"138":2,"140":2,"141":2,"142":2,"144":1,"145":1,"147":1,"149":2,"150":1,"152":2,"153":2,"154":2,"157":2,"158":2,"159":2,"160":2,"161":2,"162":2,"163":2,"164":2,"165":2,"166":2,"167":2,"168":2,"169":2,"170":2,"171":3,"173":2,"174":2,"175":2,"177":2,"178":2,"183":8}}],["place",{"2":{"21":1,"55":1,"63":1,"102":1,"153":1,"181":2,"183":4}}],["platform",{"2":{"75":1,"183":2}}],["plant",{"2":{"18":2,"88":1,"183":8}}],["plan",{"2":{"16":1,"23":1,"75":1,"153":1,"183":2}}],["playful",{"2":{"177":1}}],["plays",{"2":{"153":1}}],["playing",{"2":{"152":1}}],["play",{"2":{"8":1,"21":1,"54":1,"55":2,"181":2}}],["pprint",{"2":{"10":1,"60":2,"61":1,"67":4,"182":12,"183":11}}],["pesona",{"2":{"162":1}}],["penicillin",{"2":{"126":2}}],["perched",{"2":{"183":1}}],["permanently",{"2":{"183":1}}],["permanent",{"2":{"183":1}}],["permutation",{"2":{"182":12,"183":7}}],["persistent",{"2":{"183":1}}],["persistently",{"2":{"85":1}}],["persist",{"2":{"183":1}}],["persists",{"2":{"80":1}}],["personality",{"2":{"183":1}}],["personally",{"2":{"92":1}}],["personal",{"2":{"84":1}}],["persona",{"0":{"151":1},"1":{"152":1,"153":1,"154":1},"2":{"24":1,"149":1,"150":1,"161":1,"162":4,"164":1,"183":5}}],["personas",{"2":{"24":1}}],["person",{"2":{"7":2,"19":1,"183":6}}],["periods",{"2":{"182":1}}],["period",{"2":{"74":1}}],["per",{"2":{"67":1,"74":5,"77":3,"108":4,"120":1,"181":1,"182":4,"183":9}}],["perfectly",{"2":{"127":1}}],["perfect",{"2":{"58":1,"108":1,"130":1,"183":3}}],["performance",{"2":{"14":1,"61":2,"133":1,"142":1,"168":1,"169":1,"182":2,"183":1}}],["perform",{"2":{"7":1}}],["perhaps",{"2":{"41":1}}],["perplexity",{"2":{"23":1,"27":1}}],["people",{"2":{"7":4,"98":1,"152":1,"183":2}}],["push",{"2":{"183":4}}],["punctuation",{"2":{"182":2}}],["puppy",{"2":{"158":1}}],["pure",{"2":{"132":1}}],["purposes",{"2":{"92":1,"107":1}}],["purpose",{"2":{"5":2,"6":1,"7":6,"10":2,"105":1,"106":2,"108":1,"140":2,"162":6,"164":6,"167":1,"175":1,"183":1}}],["published",{"2":{"61":1,"120":1}}],["pull",{"2":{"37":1,"84":2}}],["put",{"2":{"2":1,"55":1,"74":1,"108":1,"181":1,"183":1}}],["pipe",{"2":{"181":1,"183":1}}],["pipelines",{"2":{"55":1,"180":1,"181":2}}],["pipeline",{"2":{"6":1,"59":1,"61":2,"63":2,"65":1,"67":10,"92":3,"182":16}}],["pinpoint",{"2":{"153":1}}],["pinpointing",{"2":{"110":1}}],["pirate",{"2":{"89":4,"183":6}}],["piece",{"2":{"67":1,"182":3}}],["pieces",{"2":{"2":1,"66":1}}],["picking",{"2":{"144":1}}],["pick",{"2":{"8":1,"55":1,"102":1,"108":1,"136":1,"138":1,"181":1,"183":1}}],["picture",{"2":{"5":2,"6":1,"7":2}}],["pounds",{"2":{"183":1}}],["port",{"2":{"183":5}}],["porsche",{"2":{"88":2,"108":2}}],["pop",{"2":{"181":1}}],["population=",{"2":{"98":1}}],["population",{"2":{"97":1,"98":4}}],["popular",{"2":{"83":1}}],["points",{"2":{"110":4,"127":1,"140":1,"141":1,"152":9,"153":4,"160":1,"161":1,"163":1,"170":1,"177":1,"181":1,"182":1,"183":2}}],["point",{"2":{"63":1,"67":1,"89":2,"108":1,"110":1,"126":1,"152":2,"153":1,"160":2,"182":1,"183":2}}],["pose",{"2":{"153":1}}],["positive",{"2":{"77":1,"160":1,"167":1,"171":1,"175":1}}],["positions1",{"2":{"182":3}}],["positions3",{"2":{"182":2}}],["positions2",{"2":{"182":5}}],["positions",{"2":{"182":32,"183":10}}],["position",{"2":{"58":1,"182":9,"183":1}}],["pos",{"2":{"58":4,"182":1,"183":4}}],["post",{"2":{"164":2,"177":5,"182":1,"183":6}}],["posts",{"2":{"140":1,"164":1}}],["postorderdfs",{"2":{"55":3,"181":8}}],["postprocessor",{"2":{"67":8,"182":11}}],["postprocessing",{"0":{"47":1},"2":{"47":1,"66":1,"67":1,"182":3}}],["postprocess",{"2":{"45":1,"64":1,"67":3,"182":5,"183":7}}],["possibly",{"2":{"182":1}}],["possible",{"2":{"7":1,"55":1,"58":4,"130":1,"131":2,"152":1,"167":1,"175":1,"178":1,"181":1,"182":4,"183":6}}],["possess",{"2":{"12":1}}],["possessions",{"2":{"12":1,"35":1}}],["powerful",{"2":{"15":1,"21":1,"55":1,"59":1,"91":1,"108":2,"132":1,"150":1,"181":1,"182":1,"183":1}}],["powered",{"2":{"14":1,"98":1}}],["power",{"2":{"12":1,"120":1}}],["poor",{"2":{"4":1}}],["potentially",{"2":{"66":1,"67":2,"182":2,"183":2}}],["potential",{"2":{"2":2,"55":1,"66":1,"133":1,"171":1,"181":2}}],["pt",{"2":{"1":1,"15":2,"22":2,"23":3,"24":6,"25":1,"26":2,"27":1,"28":1,"29":4,"30":2,"31":2,"32":1,"35":2,"37":5,"39":1,"41":2,"42":6,"47":1,"55":6,"67":10,"82":1,"85":5,"86":4,"89":2,"91":2,"92":4,"107":12,"108":3,"181":19,"182":30,"183":72}}],["palm",{"2":{"183":1}}],["packed",{"2":{"182":8}}],["pack",{"2":{"182":9,"183":1}}],["packages",{"2":{"13":2,"24":2,"55":1,"61":1,"120":1,"168":1,"169":1,"180":1,"182":2,"183":4}}],["package",{"2":{"1":1,"2":1,"10":1,"24":10,"32":1,"37":1,"55":1,"59":1,"73":1,"96":1,"99":2,"102":1,"106":1,"120":1,"181":1,"182":5,"183":9}}],["payout",{"2":{"171":1}}],["payload",{"2":{"108":1}}],["paying",{"0":{"77":1},"2":{"77":1}}],["pay",{"2":{"74":1,"77":3}}],["painting",{"2":{"58":1,"183":1}}],["pair",{"0":{"5":1,"6":1},"2":{"182":2,"183":5}}],["pairs",{"0":{"4":1},"2":{"3":1,"6":1,"60":1,"67":3,"182":3,"183":3}}],["padding",{"2":{"58":1,"182":1,"183":6}}],["padawan",{"2":{"12":1,"35":1,"183":1}}],["pauses",{"2":{"41":1}}],["paper",{"2":{"21":2,"55":2,"110":1,"131":1,"181":2,"182":1}}],["page",{"2":{"8":1,"24":1,"32":1,"47":1,"71":1,"72":1,"95":1,"183":2}}],["pages",{"2":{"2":3,"11":1,"178":1}}],["paris",{"2":{"97":1,"182":3}}],["parents",{"2":{"181":1}}],["parent",{"2":{"67":1,"93":1,"181":4,"182":41,"183":16}}],["param2",{"2":{"182":1}}],["param1",{"2":{"182":1}}],["parameter",{"2":{"67":1,"107":1,"108":3,"181":1,"182":5,"183":5}}],["parameters",{"2":{"2":1,"6":2,"7":3,"10":2,"55":1,"67":16,"86":1,"106":2,"108":5,"181":3,"182":29,"183":8}}],["paragraphs",{"2":{"58":2,"90":1,"183":2}}],["paragraph",{"2":{"58":3,"90":1,"182":2,"183":3}}],["parallelism",{"2":{"61":1}}],["parallel",{"2":{"55":1,"61":7,"67":1,"181":1,"182":6}}],["paralellize",{"2":{"46":1}}],["parts",{"2":{"60":1,"141":1,"153":1,"181":1,"183":1}}],["particular",{"2":{"56":1,"67":1,"171":1,"182":1,"183":1}}],["particularly",{"2":{"55":1,"58":2,"144":1,"145":1,"147":1,"181":2,"183":4}}],["partially",{"2":{"183":1}}],["partial",{"2":{"24":2,"61":1,"92":2,"182":2,"183":2}}],["part",{"2":{"12":1,"55":1,"66":2,"67":2,"152":2,"181":1,"182":2,"183":6}}],["parseable",{"2":{"88":2}}],["parses",{"2":{"55":1,"183":1}}],["parser",{"2":{"55":1,"183":1}}],["parse",{"2":{"20":1,"55":2,"77":1,"181":1,"183":4}}],["parsed",{"2":{"8":1,"55":6,"108":1,"183":8}}],["parsing",{"2":{"7":1,"19":1,"55":6,"181":1,"183":7}}],["patience",{"2":{"41":1}}],["pathways",{"2":{"167":1,"175":1}}],["path=",{"2":{"20":1,"43":1,"183":5}}],["path",{"2":{"12":1,"35":2,"41":1,"43":2,"183":33}}],["paths",{"2":{"4":1,"67":4,"86":1,"182":6,"183":2}}],["patterns",{"2":{"183":3}}],["pattern",{"2":{"1":1,"11":1,"183":4}}],["past",{"2":{"87":2,"110":5,"181":2,"183":1}}],["paste",{"2":{"2":1}}],["passage",{"2":{"130":3,"131":3,"182":2}}],["passages",{"2":{"118":7,"182":1}}],["passtroughtagger",{"2":{"67":1,"182":1}}],["passthroughtagger",{"2":{"67":3,"182":6,"183":1}}],["passthrough",{"2":{"66":1,"182":3,"183":1}}],["pass",{"2":{"55":1,"63":1,"65":3,"67":4,"87":1,"181":1,"182":22,"183":9}}],["passes",{"2":{"21":1,"54":1,"182":4}}],["passed",{"2":{"6":1,"7":4,"55":2,"61":1,"63":2,"67":9,"88":1,"181":8,"182":9,"183":8}}],["passing",{"0":{"65":1},"2":{"0":1,"55":1,"181":1}}],["pragmatic",{"2":{"140":1,"141":1,"142":1}}],["practics",{"2":{"183":1}}],["practically",{"2":{"181":1}}],["practical",{"2":{"98":1,"108":1,"161":1,"163":1,"170":1,"182":1,"183":1}}],["practices",{"2":{"61":6,"67":1,"142":1,"182":6}}],["practice",{"2":{"4":1,"7":1,"107":1}}],["pristine",{"2":{"183":1}}],["primary",{"2":{"183":1}}],["pricing",{"2":{"77":1}}],["price",{"2":{"77":1}}],["privacy",{"0":{"71":1},"2":{"69":1}}],["principles",{"2":{"63":1}}],["printed",{"2":{"67":1,"182":4,"183":2}}],["printstyled",{"2":{"182":1}}],["prints",{"2":{"55":1,"67":1,"181":1,"182":3,"183":2}}],["println",{"2":{"55":5,"181":2,"183":7}}],["print",{"2":{"24":1,"52":3,"55":6,"58":1,"61":1,"67":4,"181":8,"182":21,"183":35}}],["printing",{"2":{"10":1,"60":1,"61":2,"182":1,"183":1}}],["priority",{"2":{"183":1}}],["prioritizing",{"2":{"144":1,"145":1,"147":1}}],["prioritize",{"2":{"120":1,"126":1,"153":1,"167":1,"168":1,"169":1,"175":1,"181":2}}],["prior",{"2":{"37":1,"182":1,"183":1}}],["pr",{"2":{"24":1}}],["pretend",{"2":{"183":1}}],["prettify",{"2":{"182":1}}],["pretty",{"2":{"10":1,"55":1,"60":1,"61":2,"67":3,"92":1,"181":1,"182":7,"183":5}}],["predicts",{"2":{"171":1}}],["prediction",{"2":{"171":6}}],["predictions",{"2":{"171":2}}],["prerequisites",{"0":{"95":1}}],["pre",{"2":{"92":1,"105":1,"182":1,"183":2}}],["preprocessor",{"2":{"182":2}}],["preprocessed",{"2":{"182":1}}],["preprocess",{"2":{"182":4,"183":1}}],["prepayment",{"2":{"95":1}}],["preparing",{"2":{"126":1}}],["prepare",{"2":{"64":1,"65":1,"67":1,"182":2}}],["prepared",{"2":{"55":1,"181":1}}],["preparation",{"2":{"63":1,"66":1,"182":11}}],["prepend",{"2":{"87":1}}],["prepended",{"2":{"55":1,"183":2}}],["prefill",{"2":{"183":3}}],["prefix",{"2":{"55":3,"78":2,"183":5}}],["prefences",{"2":{"183":1}}],["prefer",{"2":{"46":1,"58":2,"92":1,"158":1,"168":1,"169":1,"183":2}}],["preferencesfor",{"2":{"183":1}}],["preferences",{"0":{"80":1},"2":{"23":2,"26":2,"42":1,"73":1,"78":1,"80":3,"85":2,"183":36}}],["preference",{"2":{"0":1,"183":5}}],["preorderdfs",{"2":{"55":1,"181":3}}],["precedence",{"2":{"152":1,"156":1,"183":1}}],["preceding",{"2":{"2":1,"182":1}}],["precision",{"2":{"132":1,"152":1,"178":1}}],["precisely",{"2":{"152":2,"156":1,"160":1,"166":1}}],["precise",{"2":{"24":3,"105":1,"107":2,"150":1,"157":1,"161":1,"163":1,"165":1,"170":1,"173":1}}],["precompile",{"2":{"73":1}}],["precompiled",{"2":{"73":1}}],["precompilation",{"2":{"73":3}}],["present",{"2":{"132":1,"153":1,"154":1,"183":4}}],["preserve",{"2":{"58":1,"182":1,"183":1}}],["preserving",{"2":{"58":2,"183":2}}],["preset",{"2":{"0":1,"183":3}}],["press",{"2":{"24":2}}],["prev",{"2":{"182":1}}],["previously",{"2":{"58":1,"89":1,"90":1,"105":1,"110":1,"182":3,"183":1}}],["previous",{"2":{"24":1,"55":4,"87":1,"97":1,"103":2,"110":2,"123":1,"124":1,"152":1,"156":1,"181":5,"183":5}}],["previews",{"2":{"183":2}}],["preview",{"2":{"13":2,"15":2,"24":3,"78":2,"89":2,"181":3,"183":10}}],["prevent",{"2":{"11":1,"76":1,"183":1}}],["proposed",{"2":{"181":1}}],["propertynames",{"2":{"183":5}}],["property",{"2":{"182":6,"183":6}}],["properties",{"2":{"55":2,"93":1,"108":3,"181":1,"182":1,"183":9}}],["proper",{"2":{"55":1,"181":1,"182":3,"183":1}}],["properly",{"2":{"8":1}}],["professional",{"2":{"140":1,"160":1}}],["proficient",{"2":{"24":2}}],["project",{"2":{"89":2,"91":1,"183":1}}],["projects",{"2":{"80":1}}],["prototyping",{"2":{"89":1}}],["proxy",{"2":{"86":1,"181":1}}],["programming",{"2":{"61":2,"142":1,"164":1}}],["programmatically",{"2":{"55":1,"183":1}}],["programmer",{"2":{"13":1,"24":4,"104":1,"142":1,"163":1,"165":1,"166":1,"167":1,"168":1,"169":1,"173":1,"174":1,"175":1,"183":2}}],["program",{"2":{"55":2,"88":2,"181":2}}],["promising",{"2":{"55":1,"181":1}}],["prompting",{"2":{"183":1}}],["promptingtools",{"2":{"0":2,"1":4,"10":2,"12":1,"13":2,"15":2,"19":1,"21":1,"22":1,"23":4,"24":11,"25":3,"26":3,"27":1,"28":1,"29":1,"30":1,"31":1,"32":4,"37":3,"45":2,"46":1,"47":1,"48":1,"50":1,"51":2,"55":13,"56":1,"57":1,"58":7,"59":2,"61":1,"67":6,"73":5,"79":1,"80":3,"82":3,"83":1,"85":1,"87":4,"88":1,"89":5,"90":1,"91":1,"92":8,"93":3,"95":1,"96":4,"99":1,"106":1,"107":6,"108":2,"179":4,"180":3,"181":72,"182":283,"183":568}}],["promptengineerfortask",{"0":{"150":1}}],["prompts",{"0":{"12":1,"13":1,"35":1,"41":1,"103":1},"2":{"12":1,"13":2,"14":1,"17":2,"24":5,"74":1,"75":1,"100":2,"103":1,"105":2,"183":10}}],["prompt",{"0":{"89":1,"92":1,"105":1},"2":{"10":2,"17":3,"23":2,"24":2,"27":2,"31":2,"36":1,"42":3,"55":3,"63":1,"74":2,"85":2,"86":2,"88":2,"89":3,"92":3,"93":1,"97":1,"98":1,"100":1,"103":1,"105":2,"106":2,"108":8,"110":2,"111":2,"112":2,"114":2,"116":2,"118":2,"120":2,"121":2,"123":2,"124":2,"126":2,"127":2,"128":3,"130":2,"131":2,"132":2,"133":2,"134":2,"136":2,"137":2,"138":2,"140":2,"141":2,"142":2,"144":3,"145":3,"147":2,"149":5,"150":9,"152":3,"153":3,"154":1,"156":1,"157":2,"158":2,"159":2,"160":2,"161":2,"162":2,"163":2,"164":2,"165":2,"166":2,"167":2,"168":2,"169":2,"170":2,"171":2,"173":3,"174":3,"175":3,"177":3,"178":2,"181":3,"182":3,"183":247}}],["prob",{"2":{"183":4}}],["probabilities",{"2":{"183":1}}],["probability",{"2":{"171":4,"183":2}}],["probably",{"2":{"1":1,"11":2}}],["problems",{"2":{"58":2,"110":1,"166":1,"168":1,"169":1,"174":1,"183":2}}],["problem",{"2":{"41":1,"142":1,"166":1,"168":1,"169":1}}],["produce",{"2":{"36":1,"183":2}}],["production",{"2":{"180":1}}],["product",{"2":{"7":1,"16":1,"58":3,"183":5}}],["processor=rt",{"2":{"67":1,"182":1}}],["processor",{"2":{"67":11,"182":24}}],["processed",{"2":{"58":1,"182":2,"183":2}}],["processes",{"2":{"58":1,"67":1,"181":1,"182":1,"183":1}}],["process",{"2":{"21":1,"54":1,"56":1,"67":2,"74":2,"88":2,"91":2,"132":1,"134":1,"181":4,"182":8,"183":9}}],["processing",{"2":{"8":1,"58":1,"61":2,"67":1,"88":1,"97":1,"107":1,"181":1,"182":1,"183":5}}],["pro",{"2":{"14":1,"32":1,"33":1,"72":1,"97":1,"98":2,"183":2}}],["provide",{"2":{"2":2,"4":1,"5":2,"6":1,"7":2,"10":4,"12":1,"18":1,"19":2,"21":1,"23":2,"26":2,"30":1,"35":1,"37":1,"43":1,"49":1,"54":2,"55":11,"60":1,"61":3,"63":1,"65":1,"67":5,"69":1,"73":1,"86":1,"87":1,"89":1,"98":1,"102":1,"103":1,"105":2,"106":3,"108":6,"110":3,"118":1,"120":1,"121":2,"123":3,"124":3,"126":1,"128":1,"132":1,"138":1,"140":3,"141":4,"142":2,"149":1,"152":2,"158":1,"160":1,"162":1,"164":1,"181":16,"182":12,"183":60}}],["provides",{"2":{"2":1,"42":1,"51":1,"56":1,"58":1,"59":1,"120":1,"126":1,"153":1,"167":1,"168":1,"169":1,"175":1,"181":3,"182":2,"183":3}}],["provided",{"2":{"2":1,"7":1,"10":3,"15":1,"17":2,"20":1,"21":2,"24":2,"31":1,"52":1,"54":2,"55":7,"57":1,"58":2,"59":1,"61":2,"63":1,"66":3,"67":10,"89":1,"106":3,"107":1,"108":8,"110":2,"112":1,"116":2,"120":2,"121":2,"123":1,"124":1,"126":4,"127":9,"128":2,"130":2,"131":1,"133":1,"136":1,"137":3,"138":2,"140":1,"142":3,"144":1,"145":1,"147":1,"152":1,"154":2,"156":1,"158":2,"160":1,"162":1,"164":1,"166":2,"167":1,"171":2,"174":1,"175":2,"177":1,"178":1,"181":14,"182":42,"183":100}}],["provider",{"2":{"0":4,"27":2,"92":2,"101":1,"102":1,"107":1,"108":2,"183":1}}],["providers",{"0":{"0":1,"86":1,"101":1},"2":{"0":1,"23":1,"27":1,"67":1,"86":1,"92":1,"100":2,"101":2,"108":1,"182":4,"183":3}}],["providing",{"0":{"43":1},"2":{"0":1,"27":1,"28":1,"31":1,"43":1,"52":2,"67":2,"153":1,"181":2,"182":2,"183":1}}],["v3",{"2":{"182":3}}],["voyage",{"2":{"183":4}}],["voyager",{"2":{"70":1}}],["vocab",{"2":{"182":10}}],["vocabulary",{"2":{"67":1,"132":1,"182":8}}],["v2",{"2":{"37":1,"67":1,"182":1}}],["v1",{"2":{"28":1,"30":1,"31":1,"73":2,"182":2,"183":9}}],["v0",{"2":{"28":1,"108":1}}],["vcat",{"2":{"12":1}}],["vscodedisplay",{"2":{"13":2,"24":2,"183":4}}],["vscode",{"2":{"11":1,"13":1,"24":1,"183":2}}],["vs",{"2":{"10":1,"55":2,"58":1,"60":1,"67":1,"100":1,"181":2,"182":2,"183":1}}],["vidid",{"2":{"183":2}}],["video",{"2":{"152":3,"153":1}}],["videos",{"2":{"152":2,"153":2}}],["visible",{"2":{"178":1}}],["visits",{"2":{"181":6}}],["visit",{"2":{"75":1}}],["vision",{"2":{"10":1,"106":1,"183":4}}],["visualize",{"2":{"183":1}}],["visualization",{"2":{"61":1}}],["visual",{"0":{"176":1},"1":{"177":1,"178":1},"2":{"72":1,"95":1}}],["vibrant",{"2":{"58":1,"183":2}}],["viewers",{"2":{"183":2}}],["view",{"2":{"55":1,"181":1,"182":9,"183":2}}],["via",{"0":{"80":1},"2":{"2":1,"6":1,"12":1,"16":1,"20":1,"23":2,"26":2,"28":1,"42":1,"55":2,"57":1,"61":1,"63":1,"66":1,"67":2,"73":1,"78":1,"84":1,"86":1,"95":1,"101":1,"108":3,"116":1,"123":1,"124":1,"137":1,"144":1,"145":1,"147":1,"181":2,"182":9,"183":21}}],["vect",{"2":{"182":2}}],["vectorstore",{"2":{"134":1}}],["vectors",{"2":{"67":1,"182":5,"183":3}}],["vectorized",{"2":{"7":1}}],["vector",{"2":{"4":1,"13":2,"16":1,"19":2,"24":3,"31":1,"45":4,"47":1,"55":3,"58":13,"61":1,"64":1,"67":18,"87":1,"88":1,"89":4,"91":1,"92":4,"93":1,"102":1,"105":1,"107":4,"108":1,"181":5,"182":82,"183":157}}],["ve",{"2":{"37":1,"42":1,"74":1,"84":1,"107":1}}],["vegetable",{"2":{"17":1,"183":2}}],["verify",{"2":{"183":1}}],["verification",{"2":{"182":1}}],["versus",{"2":{"182":1}}],["version=",{"2":{"89":1,"183":1}}],["versions",{"2":{"73":1,"93":1}}],["version",{"2":{"7":1,"13":2,"24":1,"42":1,"54":1,"55":1,"61":1,"67":1,"73":1,"84":1,"89":1,"98":1,"110":2,"111":1,"112":1,"114":1,"116":1,"118":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":1,"150":1,"152":2,"153":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"173":1,"174":1,"175":1,"177":1,"178":1,"181":1,"182":3,"183":10}}],["verbatim",{"2":{"154":3,"156":1}}],["verbosity",{"2":{"55":2,"67":1,"181":4,"182":2}}],["verbose=2",{"2":{"181":1}}],["verbose=true",{"2":{"67":1,"182":1,"183":3}}],["verbose=false",{"2":{"55":1,"181":1}}],["verbose",{"2":{"4":1,"6":1,"7":2,"10":1,"13":1,"21":1,"54":1,"55":6,"67":16,"106":1,"181":7,"182":68,"183":38}}],["very",{"2":{"10":1,"18":2,"21":1,"57":1,"74":1,"84":1,"106":1,"127":2,"161":1,"163":1,"166":1,"168":1,"169":1,"170":1,"174":1,"182":1,"183":2}}],["vararg",{"2":{"183":2}}],["varextracteddata235",{"2":{"183":1}}],["varying",{"2":{"183":1}}],["variety",{"2":{"23":1,"26":1,"140":1}}],["various",{"0":{"9":1},"1":{"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1},"2":{"55":1,"63":1,"98":1,"170":1,"181":1,"182":2}}],["variables",{"2":{"12":1,"13":1,"24":1,"29":1,"55":2,"73":1,"79":1,"89":1,"92":1,"96":1,"97":1,"98":1,"120":1,"168":1,"169":1,"183":33}}],["variable",{"0":{"79":1},"2":{"0":1,"30":1,"31":1,"49":1,"55":2,"78":1,"79":3,"87":1,"92":1,"93":1,"95":3,"120":1,"142":1,"171":2,"183":13}}],["vanilla",{"2":{"108":1}}],["vanished",{"2":{"58":1,"183":1}}],["vast",{"2":{"58":1,"183":1}}],["valid",{"2":{"52":1,"67":1,"181":1,"182":3,"183":1}}],["validated",{"2":{"182":1}}],["validate",{"2":{"21":2,"54":1,"167":1,"175":1}}],["validation",{"0":{"21":1},"2":{"54":1}}],["value2",{"2":{"182":1}}],["value1",{"2":{"182":1}}],["value",{"2":{"7":2,"21":1,"54":1,"55":3,"120":1,"121":1,"168":1,"169":1,"171":2,"181":8,"182":2,"183":17}}],["values",{"2":{"6":1,"7":10,"55":1,"63":1,"120":1,"171":6,"181":1,"182":6,"183":8}}],["valuable",{"2":{"1":1}}],["vllm",{"2":{"0":1,"70":1,"183":1}}],["l99",{"2":{"183":1}}],["l972",{"2":{"183":1}}],["l974",{"2":{"183":1}}],["l116",{"2":{"183":1}}],["l158",{"2":{"183":1}}],["l123",{"2":{"42":1}}],["l315",{"2":{"183":1}}],["lucene",{"2":{"182":2}}],["lngpt3t",{"2":{"92":1}}],["l245",{"2":{"183":1}}],["l244",{"2":{"182":1}}],["l215",{"2":{"182":1}}],["l288",{"2":{"58":1,"183":1}}],["l252",{"2":{"58":1,"183":1}}],["llava",{"2":{"42":1}}],["llamaindex",{"2":{"123":1,"124":1,"131":1,"133":1}}],["llama123",{"2":{"42":3}}],["llama2",{"2":{"37":1,"39":1,"42":2,"84":1,"85":1,"183":1}}],["llama",{"0":{"28":1},"2":{"0":1,"25":1,"28":3,"29":6,"70":2,"100":1,"101":1,"183":6}}],["ll",{"2":{"21":1,"23":1,"26":1,"32":1,"34":1,"54":1,"55":1,"61":1,"75":1,"76":1,"84":1,"99":1,"108":3,"110":1,"181":1,"183":5}}],["llmtextanalysis",{"2":{"89":1}}],["llm",{"2":{"10":3,"11":1,"13":1,"19":1,"22":1,"24":1,"52":2,"55":5,"65":1,"67":2,"77":1,"86":2,"100":1,"101":1,"106":4,"137":1,"181":7,"182":3,"183":8}}],["llms",{"2":{"10":1,"13":1,"19":1,"67":1,"83":1,"84":1,"103":2,"106":1,"108":1,"118":1,"182":2,"183":2}}],["lt",{"2":{"10":3,"37":1,"50":2,"58":1,"64":1,"67":4,"78":1,"79":1,"84":1,"86":1,"89":3,"95":1,"102":2,"103":1,"104":1,"105":3,"106":3,"108":1,"179":2,"181":1,"182":31,"183":23}}],["laptop",{"2":{"108":1}}],["launch",{"2":{"79":1,"84":1}}],["launching",{"2":{"79":1,"95":1}}],["launched",{"2":{"37":1}}],["latter",{"2":{"70":1}}],["latency",{"2":{"182":3,"183":2}}],["latest",{"2":{"13":1,"15":1,"24":4,"28":1,"61":2,"71":1,"73":1,"84":1,"110":1,"116":1,"123":1,"124":1,"165":1,"173":1,"181":1,"183":8}}],["later",{"2":{"2":1,"4":1,"7":1,"13":1,"47":1,"76":1,"108":1,"182":2,"183":2}}],["lament",{"2":{"58":1,"183":1}}],["langchain",{"0":{"90":1},"2":{"58":3,"90":1,"134":1,"183":3}}],["languages",{"2":{"32":1,"61":1,"183":2}}],["language",{"2":{"10":1,"13":3,"14":3,"21":1,"22":1,"24":6,"52":1,"55":2,"61":6,"100":1,"101":1,"103":1,"106":1,"130":2,"132":1,"134":1,"164":2,"165":2,"166":2,"167":1,"168":2,"169":2,"173":2,"174":2,"175":1,"181":2,"182":3,"183":5}}],["lazily",{"2":{"55":1,"181":1}}],["lazy",{"2":{"10":4,"21":2,"52":5,"54":2,"55":5,"88":1,"106":6,"180":1,"181":20}}],["layers",{"2":{"28":1}}],["largeint",{"2":{"88":3}}],["large",{"2":{"22":1,"30":1,"55":1,"57":1,"58":1,"61":1,"67":1,"100":1,"101":1,"103":1,"167":1,"175":1,"181":2,"182":9,"183":2}}],["larger",{"2":{"7":5,"57":1,"58":1,"67":1,"98":2,"160":1,"182":1,"183":3}}],["last",{"2":{"21":3,"52":3,"54":4,"55":32,"75":1,"87":4,"88":4,"107":1,"108":2,"110":1,"181":36,"182":5,"183":38}}],["lastly",{"2":{"10":1,"55":1,"181":1,"182":1}}],["lake",{"2":{"19":2}}],["labeling",{"2":{"158":2}}],["labeled",{"2":{"154":1}}],["labels",{"2":{"18":1,"158":1,"177":1}}],["label",{"2":{"18":1,"136":3,"158":4,"171":3}}],["lawyer",{"2":{"7":4}}],["led",{"2":{"126":1}}],["legend",{"2":{"61":1}}],["legacy",{"2":{"20":1,"183":2}}],["leetcode",{"2":{"58":1,"183":1}}],["less",{"2":{"55":1,"160":1,"164":1,"181":1}}],["leveraging",{"2":{"183":2}}],["leverages",{"2":{"23":1,"26":1,"49":1,"108":1,"181":1}}],["leverage",{"2":{"13":1,"14":1,"21":1,"55":1,"61":1,"102":1,"108":1,"162":2,"164":2,"181":1,"183":2}}],["level",{"2":{"55":2,"58":1,"63":3,"65":1,"67":2,"164":1,"181":4,"182":4,"183":13}}],["leaves",{"2":{"181":2}}],["leave",{"2":{"164":1,"183":1}}],["leaving",{"2":{"58":2,"183":2}}],["leadership",{"2":{"154":1}}],["leads",{"2":{"35":1,"183":2}}],["leaf",{"2":{"67":2,"182":2}}],["least",{"2":{"66":1,"67":1,"154":1,"182":1,"183":3}}],["learn",{"2":{"183":1}}],["learned",{"2":{"12":1,"107":1}}],["learning",{"2":{"10":1,"52":1,"55":1,"61":1,"106":1,"181":1}}],["lengths",{"2":{"182":1}}],["length=20",{"2":{"58":1,"183":1}}],["length=10",{"2":{"58":2,"67":1,"90":1,"182":3,"183":2}}],["length=10000",{"2":{"58":2,"183":2}}],["length=13",{"2":{"58":1,"183":1}}],["length",{"2":{"7":1,"8":1,"21":2,"24":1,"28":1,"54":2,"55":32,"57":7,"58":35,"61":1,"67":4,"90":1,"140":1,"181":49,"182":30,"183":53}}],["left",{"2":{"6":1,"7":12,"55":1,"181":1,"183":2}}],["letters",{"2":{"177":1,"182":1}}],["letter",{"2":{"110":1,"111":1}}],["let",{"2":{"1":1,"2":2,"3":1,"5":1,"6":2,"7":2,"12":1,"19":1,"20":1,"22":1,"23":1,"24":3,"26":1,"30":1,"32":1,"37":1,"41":2,"54":1,"55":8,"58":1,"61":3,"65":1,"67":1,"74":1,"78":2,"87":1,"88":2,"89":1,"107":2,"108":7,"110":1,"111":1,"181":9,"182":5,"183":6}}],["lossless",{"2":{"182":1}}],["losses",{"2":{"181":1}}],["losing",{"2":{"41":1}}],["lot",{"2":{"56":1}}],["lower",{"2":{"55":3,"58":1,"67":1,"181":3,"182":1,"183":1}}],["lowercased",{"2":{"182":1}}],["lowercase",{"2":{"20":1,"55":2,"181":2,"182":1,"183":2}}],["low",{"2":{"55":1,"74":1,"181":1,"182":5,"183":8}}],["love",{"2":{"35":1}}],["loads",{"2":{"89":1,"183":5}}],["loading",{"2":{"67":1,"182":1,"183":1}}],["loaded",{"2":{"24":1,"79":1,"182":2,"183":2}}],["load",{"2":{"23":1,"24":6,"26":1,"59":1,"89":10,"105":1,"108":1,"182":3,"183":35}}],["longer",{"2":{"120":1,"160":1,"182":1,"183":1}}],["longest",{"2":{"57":6,"58":17,"183":17}}],["long",{"2":{"23":2,"24":1,"26":1,"27":1,"29":1,"55":3,"74":1,"86":1,"181":4,"183":3}}],["location",{"2":{"19":3,"93":1,"183":11}}],["localserver",{"2":{"183":1}}],["localserveropenaischema",{"2":{"0":1,"183":5}}],["localpreferences",{"2":{"80":1,"183":2}}],["locally",{"2":{"25":1,"43":1,"67":3,"70":1,"100":1,"101":1,"108":1,"182":3,"183":2}}],["localhost",{"2":{"23":1,"28":1,"65":3,"67":3,"182":3,"183":7}}],["local",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1},"2":{"0":2,"23":1,"43":1,"55":1,"69":1,"73":1,"77":1,"78":1,"85":1,"181":1,"182":1,"183":20}}],["logprobs",{"2":{"183":4}}],["logged",{"2":{"67":1,"182":1}}],["logging",{"0":{"93":1},"2":{"55":2,"67":5,"181":6,"182":16,"183":6}}],["logical",{"2":{"142":1}}],["logically",{"2":{"142":1}}],["logic",{"2":{"58":1,"67":5,"102":1,"107":1,"142":1,"181":1,"182":9,"183":8}}],["logit",{"2":{"10":1,"18":1,"106":1,"183":12}}],["logo",{"2":{"20":1,"183":2}}],["logs",{"2":{"10":1,"67":2,"106":1,"182":4,"183":3}}],["log",{"2":{"7":1,"11":1,"67":1,"93":2,"182":1,"183":33}}],["loose",{"2":{"182":1}}],["loosely",{"2":{"103":1,"105":1,"110":1}}],["look",{"2":{"67":1,"74":1,"90":1,"107":1,"182":2,"183":1}}],["looking",{"2":{"23":1,"26":1,"61":3,"181":1,"182":1}}],["looks",{"2":{"15":1,"55":1,"66":1,"105":1,"182":2,"183":4}}],["lookups",{"2":{"182":1}}],["lookup",{"2":{"2":2,"8":1,"132":1,"182":3,"183":2}}],["loop",{"2":{"7":1,"24":1,"74":1,"181":2}}],["lifting",{"2":{"108":1}}],["lifecycle",{"2":{"181":1}}],["life",{"2":{"29":1,"78":2}}],["lightweight",{"2":{"182":1}}],["light",{"2":{"97":1,"108":1,"183":4}}],["libraries",{"2":{"61":1,"168":1,"169":1}}],["library",{"2":{"37":1,"84":1}}],["living",{"2":{"35":1,"183":1}}],["linux",{"2":{"170":3}}],["linuxbashexpertask",{"0":{"170":1}}],["links",{"2":{"183":7}}],["link",{"2":{"24":1,"37":1,"152":1,"183":1}}],["line",{"2":{"11":1,"24":1,"28":2,"79":1,"152":1,"153":1,"182":1,"183":3}}],["lines",{"0":{"2":1},"2":{"2":1,"55":3,"58":1,"182":2,"183":9}}],["linearalgebra",{"2":{"1":2,"16":2,"47":2,"59":1,"182":5,"183":5}}],["limitations",{"2":{"99":1,"183":2}}],["limits",{"0":{"76":1},"2":{"72":1,"74":4,"76":1,"181":1,"183":2}}],["limited",{"2":{"58":1,"171":1,"183":3}}],["limit",{"0":{"74":1},"2":{"14":1,"74":7,"76":4,"108":1,"182":6,"183":9}}],["listened",{"2":{"58":1,"183":1}}],["listed",{"2":{"7":2,"118":2}}],["list",{"2":{"10":1,"24":1,"37":2,"50":4,"58":1,"60":1,"61":1,"84":1,"106":1,"108":1,"110":3,"136":1,"138":1,"141":1,"142":1,"153":2,"179":4,"182":12,"183":26}}],["literate",{"2":{"8":1,"24":1,"47":1}}],["likelyhood",{"2":{"183":2}}],["likely",{"2":{"10":2,"74":1,"77":1,"78":1}}],["like",{"0":{"86":1,"90":1},"2":{"2":2,"6":1,"7":2,"12":1,"13":1,"19":1,"21":1,"24":2,"25":1,"30":1,"31":1,"32":1,"35":1,"39":1,"42":2,"52":2,"54":1,"55":4,"58":1,"63":1,"66":1,"67":3,"86":1,"87":1,"88":1,"89":5,"93":4,"98":1,"108":1,"120":1,"159":1,"167":1,"168":1,"169":1,"175":1,"181":5,"182":10,"183":25}}],["kw2",{"2":{"182":2}}],["kw",{"2":{"182":3}}],["kwarg",{"2":{"10":1,"55":1,"63":3,"73":1,"78":1,"87":1,"106":1,"181":1,"182":4}}],["kwargs`",{"2":{"65":1}}],["kwargs=",{"2":{"20":1,"23":1,"27":1,"28":1,"37":2,"55":3,"61":1,"63":1,"93":1,"106":2,"108":2,"181":3,"182":2,"183":10}}],["kwargs",{"0":{"81":1},"2":{"0":2,"10":3,"21":2,"29":1,"54":2,"55":15,"61":2,"63":2,"65":22,"67":81,"86":1,"89":1,"92":1,"93":2,"106":3,"108":2,"179":2,"181":33,"182":150,"183":176}}],["king",{"2":{"50":2,"179":2}}],["kinds",{"2":{"7":3}}],["knows",{"2":{"67":1,"102":1,"182":1}}],["knowing",{"2":{"17":1}}],["knowledge",{"2":{"13":1,"15":1,"24":4,"59":2,"116":1,"123":1,"124":1,"161":1,"163":1,"165":1,"170":1,"173":1,"183":2}}],["know",{"2":{"12":1,"23":1,"24":2,"26":1,"30":2,"31":1,"74":1,"88":1,"116":2,"123":2,"124":2,"168":1,"169":1,"183":1}}],["known",{"2":{"10":1,"32":1,"58":1,"90":1,"106":1,"183":4}}],["k=5",{"2":{"182":1}}],["k=5`",{"2":{"182":1}}],["k=100",{"2":{"67":1,"182":1}}],["k=",{"2":{"7":10}}],["k",{"2":{"2":1,"6":2,"7":2,"28":1,"37":1,"65":2,"67":7,"182":29}}],["kept",{"2":{"42":1}}],["keeping",{"2":{"181":1}}],["keeps",{"2":{"6":1,"183":2}}],["keep",{"2":{"2":1,"8":1,"21":1,"27":1,"28":1,"55":1,"120":1,"152":1,"153":1,"156":1,"181":2,"182":3,"183":1}}],["key1",{"2":{"183":1}}],["keylocal",{"2":{"183":1}}],["keypreset",{"2":{"183":1}}],["key=env",{"2":{"23":1,"26":1}}],["keywordsprocessor",{"2":{"67":1,"182":6,"183":1}}],["keywords",{"2":{"67":5,"120":1,"121":2,"132":3,"158":1,"182":27,"183":1}}],["keywordsindexer",{"2":{"67":1,"182":4,"183":1}}],["keyword",{"0":{"65":1,"81":1},"2":{"10":5,"12":1,"14":1,"15":1,"24":2,"43":2,"52":1,"55":5,"63":2,"65":2,"67":11,"74":1,"86":1,"87":2,"89":1,"98":1,"105":1,"106":5,"121":1,"132":1,"149":1,"181":11,"182":18,"183":57}}],["keys",{"2":{"7":1,"23":1,"27":1,"61":1,"107":1,"108":1,"182":10,"183":10}}],["key",{"0":{"72":1,"73":3,"79":1,"80":1,"100":1},"1":{"101":1,"102":1,"103":1,"104":1,"105":1,"106":1},"2":{"0":3,"6":1,"7":9,"8":1,"23":5,"24":2,"26":2,"27":3,"29":3,"30":1,"31":1,"32":3,"49":2,"50":4,"55":2,"67":2,"72":3,"73":9,"78":3,"79":10,"80":5,"86":1,"95":12,"99":1,"100":1,"107":1,"108":2,"130":1,"131":1,"140":1,"144":1,"145":1,"147":1,"152":3,"153":5,"158":1,"168":3,"169":3,"177":2,"179":5,"181":3,"182":17,"183":143}}],["uct",{"2":{"181":12,"183":1}}],["ultimately",{"2":{"88":1}}],["u>",{"2":{"58":1,"182":1,"183":6}}],["u>promptingtools",{"2":{"58":1,"182":1,"183":6}}],["uint16",{"2":{"181":1}}],["uint64",{"2":{"45":2,"182":7}}],["uint8",{"2":{"45":1}}],["utils",{"2":{"58":1,"183":1}}],["utilized",{"2":{"120":1,"183":1}}],["utilizes",{"2":{"0":1}}],["utilizing",{"2":{"61":1}}],["utility",{"2":{"52":2,"57":1,"90":1,"107":1,"153":1,"183":6}}],["utilities",{"0":{"56":1},"1":{"57":1,"58":1},"2":{"21":1,"51":1,"52":2,"54":1,"55":1,"56":1,"57":1,"58":2,"59":1,"67":1,"181":2,"182":2}}],["ut",{"2":{"19":1}}],["unhealthy",{"2":{"183":1}}],["unable",{"2":{"183":1}}],["unanswered",{"2":{"58":1,"183":1}}],["unpack",{"2":{"182":4}}],["unbiased",{"2":{"158":1}}],["unchanged",{"2":{"182":1,"183":1}}],["unclear",{"2":{"141":2,"182":1}}],["uncommon",{"2":{"132":1}}],["unfortunately",{"2":{"108":2}}],["unwrapping",{"2":{"183":2}}],["unwraps",{"2":{"181":1,"183":1}}],["unwrap",{"2":{"93":1,"181":2,"183":11}}],["unnecessary",{"2":{"90":1,"126":1,"134":1}}],["unexpected",{"2":{"76":1}}],["unexported",{"2":{"51":1,"59":1,"82":1}}],["unlock",{"2":{"106":1}}],["unlike",{"2":{"75":1,"182":1}}],["unless",{"2":{"58":1,"78":1,"160":2,"168":2,"169":2,"183":5}}],["unspecified",{"2":{"183":6}}],["unspoken",{"2":{"58":1,"183":1}}],["unsuccessfully",{"2":{"55":1,"183":1}}],["unsafe",{"2":{"55":7,"181":2,"183":7}}],["unusable",{"2":{"37":1}}],["un",{"2":{"24":1,"37":1}}],["until",{"2":{"21":3,"54":2,"55":2,"74":1,"181":1,"183":1}}],["unique",{"2":{"67":1,"120":1,"181":1,"182":8,"183":10}}],["universal",{"2":{"55":1,"181":1}}],["union",{"2":{"19":3,"31":1,"55":11,"58":1,"67":4,"108":1,"181":17,"182":35,"183":97}}],["units",{"2":{"182":1}}],["unitrange",{"2":{"45":1}}],["unit",{"2":{"19":2,"77":1,"100":1,"104":1,"110":1,"167":2,"175":2,"182":5,"183":1}}],["unicode",{"2":{"1":2,"59":1,"182":3}}],["unknown",{"2":{"17":3,"137":2,"183":5}}],["underscores",{"2":{"182":1}}],["understood",{"2":{"92":1,"142":1,"183":1}}],["understandable",{"2":{"127":1,"183":1}}],["understand",{"2":{"52":1,"55":1,"67":1,"99":1,"140":1,"142":1,"152":1,"153":1,"164":1,"182":1,"183":2}}],["understanding",{"0":{"81":1},"2":{"41":1,"99":1,"126":1,"140":1}}],["underlying",{"2":{"10":1,"24":1,"52":1,"55":1,"59":1,"106":1,"108":1,"158":1,"181":2,"182":5,"183":2}}],["under",{"2":{"2":1,"18":1,"23":1,"26":1,"28":1,"52":1,"58":1,"61":1,"89":2,"99":1,"107":2,"108":1,"183":7}}],["updating",{"2":{"183":1}}],["updates",{"2":{"61":1,"181":2,"182":1,"183":2}}],["updated",{"2":{"55":1,"181":4,"183":3}}],["update",{"2":{"20":1,"55":1,"73":1,"181":1,"182":1,"183":7}}],["upto",{"2":{"183":2}}],["upfront",{"2":{"65":1,"67":1,"182":1}}],["uppercase",{"2":{"182":1}}],["uppercased",{"2":{"120":1}}],["upper",{"2":{"55":2,"181":4}}],["uploads",{"2":{"20":1,"183":2}}],["upon",{"2":{"12":1,"55":3,"70":1,"153":1,"181":2,"183":2}}],["up",{"2":{"1":1,"8":1,"11":1,"15":1,"49":1,"55":2,"61":1,"66":1,"72":1,"75":1,"87":1,"88":1,"105":1,"107":1,"108":3,"116":1,"123":1,"124":1,"160":1,"181":3,"182":5,"183":4}}],["usable",{"2":{"100":1,"105":1}}],["usage",{"2":{"21":1,"36":1,"58":1,"71":1,"142":1,"181":1,"182":1,"183":5}}],["usd",{"2":{"74":1}}],["usually",{"2":{"55":1,"73":1,"105":1,"181":2,"183":4}}],["usual",{"2":{"29":1,"30":2,"31":2}}],["us",{"2":{"10":1,"21":2,"52":2,"54":2,"55":1,"61":1,"71":1,"106":1,"181":1}}],["using",{"0":{"22":1,"23":1,"24":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"47":1,"86":1,"98":1},"2":{"1":4,"5":1,"7":2,"8":2,"10":1,"23":1,"24":4,"27":1,"37":1,"42":1,"47":1,"58":6,"59":2,"60":1,"61":4,"66":3,"67":7,"82":1,"85":1,"89":1,"90":1,"95":1,"96":2,"106":1,"108":2,"110":1,"118":1,"120":1,"126":1,"153":4,"167":2,"171":1,"174":1,"175":2,"181":8,"182":40,"183":39}}],["uses",{"2":{"10":2,"11":1,"13":1,"28":1,"52":1,"67":1,"90":1,"106":2,"111":1,"182":34,"183":9}}],["useful",{"2":{"10":1,"15":1,"17":1,"21":1,"54":1,"55":4,"58":3,"67":4,"84":1,"106":2,"123":2,"124":1,"144":1,"145":1,"168":1,"169":1,"173":1,"174":1,"175":1,"181":2,"182":16,"183":16}}],["users",{"2":{"164":1,"183":1}}],["user=",{"2":{"89":1,"93":1,"105":1,"183":3}}],["usermessagewithimages",{"2":{"104":1,"183":5}}],["usermessage",{"2":{"10":1,"12":4,"24":5,"35":1,"41":1,"52":1,"55":2,"87":2,"89":2,"92":3,"100":2,"104":2,"105":2,"106":1,"107":2,"181":14,"183":27}}],["user",{"2":{"10":3,"12":2,"13":1,"15":1,"17":1,"24":1,"35":1,"36":1,"41":1,"52":1,"55":10,"59":1,"66":1,"78":1,"89":3,"92":3,"100":1,"102":1,"104":3,"105":1,"106":3,"107":1,"108":5,"110":6,"111":2,"112":1,"114":2,"116":1,"118":1,"120":2,"121":1,"123":1,"124":1,"126":2,"127":4,"128":2,"130":2,"131":2,"132":3,"133":1,"134":3,"136":3,"137":1,"138":3,"140":10,"141":6,"142":11,"144":4,"145":4,"147":4,"149":5,"150":3,"152":2,"153":2,"156":2,"157":1,"158":2,"159":1,"160":6,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":5,"168":2,"169":2,"170":1,"171":1,"173":1,"174":1,"175":9,"177":1,"178":1,"181":13,"183":56}}],["used",{"2":{"6":2,"7":1,"15":4,"16":1,"17":2,"18":1,"55":2,"58":4,"67":6,"71":2,"87":1,"93":1,"100":1,"110":1,"111":1,"171":1,"181":11,"182":25,"183":91}}],["use",{"2":{"0":1,"1":1,"2":5,"7":2,"8":3,"10":3,"12":2,"13":4,"15":2,"16":1,"17":1,"18":3,"19":2,"20":1,"21":4,"22":2,"23":3,"24":8,"25":1,"26":2,"27":1,"28":1,"29":4,"30":4,"31":4,"32":1,"33":1,"34":1,"37":1,"39":1,"42":1,"43":1,"46":1,"49":1,"50":1,"54":4,"55":9,"58":7,"59":1,"60":1,"61":1,"63":1,"64":1,"65":1,"66":1,"67":46,"69":2,"71":4,"74":1,"77":2,"78":6,"79":1,"80":1,"82":1,"83":1,"85":2,"86":1,"87":3,"88":4,"89":6,"91":2,"93":2,"97":3,"98":4,"99":1,"102":1,"106":2,"107":3,"108":6,"110":4,"112":1,"152":9,"153":2,"158":1,"160":3,"161":1,"163":1,"164":1,"166":1,"168":1,"169":1,"170":1,"171":1,"177":1,"179":1,"181":19,"182":85,"183":128}}],["urls",{"2":{"104":1,"183":2}}],["url=env",{"2":{"29":1}}],["url=provider",{"2":{"27":1}}],["url=",{"2":{"23":1,"28":1,"183":2}}],["url",{"2":{"0":3,"10":1,"20":2,"23":1,"27":4,"43":1,"65":3,"67":4,"86":3,"106":1,"179":1,"182":7,"183":47}}],["rules",{"2":{"182":1}}],["runtime",{"2":{"55":2,"181":2}}],["runs",{"2":{"55":2,"67":1,"73":1,"84":1,"181":1,"182":3,"183":2}}],["running",{"2":{"7":1,"22":2,"23":1,"24":1,"37":1,"61":1,"73":1,"84":3,"181":1,"183":2}}],["run",{"2":{"6":2,"7":3,"10":3,"14":1,"21":5,"22":1,"42":1,"52":3,"54":3,"55":10,"61":1,"64":1,"67":1,"73":1,"79":1,"80":1,"84":1,"88":2,"89":1,"92":5,"95":1,"98":1,"106":4,"108":2,"181":31,"182":11,"183":52}}],["ripple",{"2":{"58":1,"183":1}}],["river",{"2":{"58":1,"183":1}}],["right",{"2":{"7":11,"102":2,"108":2,"144":1,"181":1,"182":4,"183":1}}],["rm",{"2":{"24":1,"73":1}}],["rolls",{"2":{"182":1}}],["role=",{"2":{"183":8}}],["role",{"2":{"23":1,"27":1,"61":1,"92":2,"107":3,"153":1}}],["root",{"2":{"55":3,"67":5,"181":11,"182":8,"183":1}}],["robust",{"2":{"21":1,"69":1,"95":1,"106":1}}],["robustness",{"2":{"13":1,"52":1}}],["row",{"2":{"7":3}}],["rows",{"2":{"6":1,"7":18,"182":5}}],["roughly",{"2":{"100":1,"182":3}}],["routines",{"2":{"67":2,"182":2}}],["routing",{"0":{"18":1},"2":{"18":1,"136":1,"138":1,"183":3}}],["routed",{"2":{"138":1}}],["route",{"2":{"138":1}}],["router",{"2":{"10":1,"106":1,"138":1}}],["routes",{"2":{"0":1}}],["rounds=3",{"2":{"182":1}}],["rounds=5",{"2":{"181":1}}],["rounds",{"2":{"55":1,"108":1,"110":1,"181":18,"182":1}}],["round",{"2":{"7":2,"181":5}}],["raises",{"2":{"183":1}}],["raised",{"2":{"55":1,"154":1,"183":2}}],["rainy",{"2":{"183":4}}],["rationale",{"2":{"182":2}}],["ratio",{"2":{"177":1,"181":1}}],["rating",{"2":{"6":1,"128":1,"182":3}}],["ratelimit",{"2":{"74":2}}],["rate",{"0":{"74":1},"2":{"74":3,"182":3}}],["rare",{"2":{"73":1}}],["radius",{"2":{"58":1,"182":1,"183":6}}],["raw=true",{"2":{"183":1}}],["raw",{"2":{"50":2,"55":1,"179":2,"183":1}}],["rand",{"2":{"55":2,"182":4,"183":3}}],["random",{"2":{"55":1,"181":2,"183":3}}],["range",{"2":{"30":1,"31":1,"58":1,"183":1}}],["ranked",{"2":{"182":5}}],["rankermodel",{"2":{"182":1}}],["ranker",{"2":{"182":1}}],["rankgptresult",{"2":{"182":4,"183":1}}],["rankgptreranker",{"2":{"182":4,"183":1}}],["rankgpt",{"2":{"118":3,"182":9}}],["rankings",{"2":{"182":2}}],["ranking",{"0":{"117":1},"1":{"118":1},"2":{"8":1,"63":1,"118":1,"182":15,"183":1}}],["rankanswer",{"2":{"7":1}}],["rank",{"2":{"6":1,"118":4,"182":40,"183":5}}],["ranks",{"2":{"2":1,"182":3}}],["ragjuliaqueryhyde",{"0":{"130":1}}],["ragjudgeanswerfromcontextshort",{"0":{"128":1}}],["ragjudgeanswerfromcontext",{"0":{"127":1},"2":{"6":1,"182":2}}],["ragwebsearchrefiner",{"0":{"124":1},"2":{"182":2}}],["ragextractmetadatalong",{"0":{"120":1}}],["ragextractmetadatashort",{"0":{"121":1},"2":{"67":1,"182":4}}],["ragrankgpt",{"0":{"118":1},"2":{"182":1}}],["ragresult",{"2":{"55":3,"61":3,"66":2,"67":6,"182":19,"183":1}}],["ragcreateqafromcontext",{"0":{"126":1},"2":{"67":1,"182":1}}],["ragconfig",{"2":{"61":1,"63":1,"65":1,"67":3,"182":10,"183":1}}],["ragcontext",{"2":{"6":1}}],["ragquerysimplifier",{"0":{"134":1}}],["ragquerykeywordexpander",{"0":{"132":1}}],["ragqueryoptimizer",{"0":{"133":1},"2":{"67":1,"182":3}}],["ragqueryhyde",{"0":{"131":1},"2":{"65":3,"67":1,"182":4}}],["ragdetails",{"2":{"67":1,"182":1}}],["raganswerrefiner",{"0":{"123":1},"2":{"67":2,"182":4}}],["raganswerfromcontext",{"0":{"116":1},"2":{"67":2,"182":4}}],["ragtoolsexperimentalext",{"2":{"182":1}}],["ragtools",{"0":{"1":1,"182":1},"1":{"2":1},"2":{"1":3,"10":1,"57":2,"59":3,"63":1,"66":1,"67":6,"180":2,"182":280,"183":138}}],["rag",{"0":{"1":1,"2":1,"59":1,"62":1,"64":1,"115":1},"1":{"2":1,"60":1,"61":1,"62":1,"63":2,"64":2,"65":3,"66":2,"67":1,"116":1},"2":{"1":3,"2":1,"6":1,"7":2,"8":1,"10":2,"59":3,"60":5,"61":3,"64":1,"66":1,"67":8,"106":1,"116":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"180":1,"182":22}}],["r",{"2":{"2":1,"21":2,"54":2,"55":1,"61":1,"107":1,"181":1,"182":2}}],["rt",{"2":{"1":1,"4":3,"6":1,"59":1,"67":3,"182":21}}],["rewritten",{"2":{"183":2}}],["rejected",{"2":{"177":1,"183":1}}],["reveal",{"2":{"171":1}}],["revisions",{"2":{"141":1}}],["revise",{"2":{"140":3,"141":3,"142":3}}],["revised",{"2":{"110":1,"133":1,"183":2}}],["reviewing",{"2":{"183":2}}],["review",{"2":{"4":1,"8":1,"52":1,"110":1,"111":1,"140":1,"141":1,"142":1,"171":1}}],["reorganization",{"2":{"140":1}}],["reuse",{"2":{"89":1}}],["recipient",{"2":{"183":4}}],["reciprocal",{"2":{"182":8,"183":2}}],["recall",{"2":{"110":1,"168":1,"169":2}}],["record",{"2":{"183":1}}],["recorded",{"2":{"67":1,"182":1,"183":1}}],["recognized",{"2":{"182":1}}],["recognizes",{"2":{"105":1}}],["recommended",{"2":{"183":2}}],["recommendation",{"2":{"58":1,"183":1}}],["recommend",{"2":{"58":2,"90":1,"183":2}}],["recursive=true",{"2":{"73":1}}],["recursively",{"2":{"58":1,"182":1,"183":1}}],["recursivecharactertextsplitter",{"0":{"90":1},"2":{"58":3,"90":1,"183":3}}],["recursive",{"2":{"57":2,"58":8,"90":3,"110":1,"182":1,"183":11}}],["receiving",{"2":{"183":3}}],["receive",{"2":{"74":1,"76":1,"182":2,"183":1}}],["received",{"2":{"10":1,"55":1,"88":2,"106":1,"181":1,"183":9}}],["recent",{"2":{"181":2,"183":2}}],["recently",{"2":{"74":1}}],["reception",{"2":{"47":1}}],["removing",{"2":{"181":2,"182":1}}],["removes",{"2":{"181":1,"183":6}}],["remove",{"2":{"55":5,"58":1,"181":4,"182":1,"183":16}}],["reminder",{"2":{"168":1,"169":1}}],["remaining",{"2":{"74":2}}],["remembers",{"2":{"183":1}}],["remembered",{"2":{"183":1}}],["remember",{"2":{"2":1,"10":1,"24":1,"35":1,"52":1,"73":1,"89":1,"103":2,"106":1,"107":1,"140":1,"141":1,"142":1,"183":4}}],["requested",{"2":{"110":1,"168":1,"169":1,"174":1,"182":4,"183":1}}],["request",{"2":{"74":2,"77":1,"87":2,"88":1,"100":1,"103":1,"105":1,"107":1,"108":3,"110":3,"111":2,"141":4,"142":6,"183":23}}],["requests",{"0":{"75":1},"2":{"50":1,"74":7,"75":3,"179":2,"183":3}}],["requirements",{"2":{"140":1,"141":1,"142":4,"144":1,"145":1,"147":1,"182":1,"183":1}}],["requirement",{"2":{"108":2}}],["required",{"2":{"59":1,"107":2,"108":7,"150":1,"181":1,"182":6,"183":12}}],["require",{"2":{"15":1,"126":1,"183":1}}],["requires",{"2":{"0":1,"29":1,"30":1,"31":1,"56":1,"67":2,"91":1,"130":1,"141":1,"182":7,"183":9}}],["reducing",{"2":{"67":1,"182":5}}],["reduces",{"2":{"182":2}}],["reduce",{"2":{"67":1,"182":4}}],["red",{"2":{"21":1,"54":1,"55":2,"61":1,"181":2}}],["react",{"2":{"183":1}}],["reach",{"2":{"102":1,"181":1}}],["reaching",{"2":{"58":1,"140":1,"183":1}}],["reason",{"2":{"183":9}}],["reasonable",{"2":{"182":3}}],["reasonably",{"2":{"182":1}}],["reasoning",{"2":{"144":3,"171":1,"183":5}}],["real",{"2":{"181":5,"182":12}}],["really",{"2":{"19":1,"86":1,"183":4}}],["readme",{"2":{"183":1}}],["reader=",{"2":{"182":1}}],["reads",{"2":{"182":2}}],["readability",{"2":{"140":1}}],["ready",{"2":{"11":1,"84":1,"86":1,"180":1,"183":1}}],["readtimeout",{"2":{"10":1,"106":1,"183":10}}],["read",{"2":{"4":1,"11":1,"24":1,"61":1,"75":1,"92":1,"108":5,"110":1,"111":1,"120":1,"128":1,"152":1,"154":1,"182":1,"183":1}}],["regarding",{"2":{"144":1,"145":1,"147":1}}],["regards",{"2":{"89":2,"183":2}}],["regardless",{"2":{"7":2}}],["region",{"2":{"32":1,"183":2}}],["regions",{"2":{"32":1,"183":3}}],["registration",{"2":{"29":1}}],["registry",{"2":{"23":1,"26":1,"37":2,"39":1,"42":1,"107":1,"183":29}}],["registers",{"2":{"183":1}}],["registering",{"2":{"183":3}}],["register",{"2":{"27":2,"28":2,"29":2,"30":2,"31":2,"42":1,"85":2,"86":2,"93":3,"95":1,"105":1,"182":1,"183":15}}],["registered",{"2":{"23":1,"26":1,"30":1,"31":1,"89":1,"183":1}}],["regenerate",{"2":{"21":1,"54":1}}],["regex",{"2":{"19":1,"24":1,"67":1,"182":6,"183":2}}],["renders",{"2":{"183":3}}],["rendered",{"0":{"92":1},"2":{"92":1,"107":7,"182":1,"183":2}}],["render",{"2":{"13":1,"24":2,"92":6,"100":2,"102":1,"107":6,"183":20}}],["rendering",{"2":{"13":1,"92":4,"102":1,"183":5}}],["refusals",{"2":{"183":3}}],["refresh",{"2":{"110":1,"183":3}}],["refining",{"2":{"67":2,"182":5}}],["refines",{"2":{"181":1,"182":3}}],["refined",{"2":{"123":3,"124":3,"182":1}}],["refinements",{"2":{"181":1}}],["refinement",{"0":{"122":1},"1":{"123":1,"124":1},"2":{"182":2}}],["refiner",{"2":{"67":13,"182":24}}],["refine",{"2":{"64":1,"66":2,"67":4,"123":6,"124":6,"133":1,"181":1,"182":17,"183":3}}],["ref",{"2":{"58":1,"183":1}}],["reflects",{"2":{"128":1}}],["reflections",{"2":{"140":1,"141":2,"142":1}}],["reflection",{"2":{"110":1,"111":1,"140":4,"141":4,"142":4}}],["reflecting",{"2":{"58":1,"110":1,"153":1,"183":1}}],["reflect",{"2":{"12":1,"140":1,"141":1,"142":1}}],["referring",{"2":{"182":1}}],["referred",{"2":{"7":1,"29":1}}],["refers",{"2":{"10":1,"28":1,"52":1,"106":1,"181":1,"182":2,"183":2}}],["references",{"0":{"50":1,"55":1,"58":1,"67":1},"2":{"55":1,"63":1,"132":1,"181":1,"182":3}}],["reference",{"0":{"179":1,"180":1,"181":1,"182":1,"183":1},"2":{"4":1,"10":1,"81":1,"90":1,"92":1,"126":3,"182":12,"183":8}}],["refer",{"2":{"0":1,"86":2,"92":1,"110":1,"153":1,"183":6}}],["repetition",{"2":{"126":1}}],["repeats",{"2":{"110":2}}],["repeat",{"2":{"21":1,"54":1,"110":1,"152":1,"153":1,"160":1}}],["repeated",{"2":{"21":1,"54":1,"110":1,"183":2}}],["repeatedly",{"2":{"10":1,"52":1,"106":1,"181":1}}],["repo",{"2":{"86":1}}],["report",{"2":{"183":1}}],["reports",{"2":{"67":1,"140":1,"182":1}}],["reported",{"2":{"36":1,"183":1}}],["rephrasing",{"2":{"67":6,"132":2,"133":1,"182":19}}],["rephrases",{"2":{"133":1,"134":1,"182":2}}],["rephraser",{"2":{"65":7,"67":11,"182":25}}],["rephrased",{"2":{"61":1,"66":1,"67":2,"132":1,"134":1,"182":9}}],["rephrase",{"2":{"8":1,"64":1,"65":2,"66":2,"67":1,"130":1,"131":1,"133":2,"134":1,"182":16,"183":3}}],["representation",{"2":{"182":1}}],["representative",{"2":{"7":1}}],["represented",{"2":{"182":8,"183":2}}],["represents",{"2":{"154":1,"182":1,"183":3}}],["representing",{"2":{"55":1,"58":1,"67":3,"127":1,"182":3,"183":83}}],["reply",{"2":{"55":1,"87":1,"97":1,"140":1,"141":1,"142":1,"181":1,"183":3}}],["repl",{"2":{"24":2,"61":1,"73":3,"82":1,"98":1,"183":1}}],["replaces",{"2":{"182":1}}],["replaced",{"2":{"58":1,"107":1,"182":1,"183":3}}],["replacements",{"2":{"92":1,"183":6}}],["replacement",{"2":{"58":4,"107":1,"183":8}}],["replace",{"2":{"12":1,"57":2,"58":3,"67":1,"92":1,"100":1,"105":2,"107":3,"182":2,"183":5}}],["resized",{"2":{"183":4}}],["resize",{"2":{"183":5}}],["rescore",{"2":{"182":8}}],["reserved",{"2":{"168":1,"169":1,"183":3}}],["reset",{"2":{"74":1,"181":2,"183":1}}],["resets",{"2":{"74":1}}],["researcher",{"2":{"154":1,"158":1}}],["research",{"2":{"61":1,"69":1,"120":1}}],["res",{"2":{"67":1,"182":1}}],["resolutions",{"2":{"183":1}}],["resolution",{"2":{"183":1}}],["resolved",{"2":{"183":1}}],["resolves",{"2":{"110":1}}],["resolve",{"2":{"67":1,"182":4}}],["resources",{"2":{"23":1,"26":1,"61":1,"71":1,"72":1,"76":1,"77":1,"79":2,"95":2}}],["resp",{"2":{"183":3}}],["respect",{"2":{"182":1}}],["respective",{"2":{"182":1}}],["respectively",{"2":{"55":1,"58":1,"63":1,"181":2,"183":1}}],["respond",{"2":{"10":1,"55":2,"87":1,"106":1,"118":1,"133":1,"136":2,"138":2,"181":3}}],["responses",{"0":{"88":1},"2":{"14":1,"24":1,"88":1,"107":1,"141":1,"154":10,"156":2,"181":2,"183":9}}],["response",{"2":{"7":1,"10":5,"52":1,"63":1,"66":5,"67":5,"74":1,"77":1,"87":4,"88":14,"97":1,"104":2,"106":5,"107":5,"108":8,"110":1,"127":1,"140":1,"141":2,"142":1,"167":1,"179":1,"181":1,"182":8,"183":79}}],["restrictive",{"2":{"168":1,"169":1}}],["restricted",{"2":{"6":1,"7":1}}],["restart",{"2":{"42":1,"55":1,"181":1}}],["rest",{"2":{"19":1,"50":1,"96":1,"103":1,"179":1,"181":1}}],["resulting",{"2":{"182":5}}],["results",{"2":{"7":10,"13":1,"19":1,"50":8,"55":2,"61":1,"66":1,"111":2,"112":1,"118":1,"123":1,"124":12,"130":1,"131":1,"133":2,"134":1,"179":8,"181":6,"182":16,"183":2}}],["result",{"2":{"2":1,"7":1,"55":3,"60":1,"61":7,"64":1,"65":2,"67":22,"106":2,"108":8,"181":9,"182":70,"183":31}}],["retain",{"2":{"181":1,"183":2}}],["retrive",{"2":{"63":1,"182":1}}],["retries=3",{"2":{"108":1}}],["retries=2",{"2":{"88":1}}],["retries`",{"2":{"55":1,"181":1}}],["retries",{"2":{"21":6,"54":3,"55":22,"108":2,"181":26,"183":10}}],["retrieving",{"2":{"133":1,"182":1}}],["retrievable",{"2":{"67":1,"182":1}}],["retrieval",{"0":{"1":1},"1":{"2":1},"2":{"1":1,"6":3,"7":5,"59":1,"63":2,"66":2,"67":13,"132":3,"134":1,"180":1,"182":25,"183":2}}],["retrieves",{"2":{"67":1,"182":1}}],["retriever=advancedretriever",{"2":{"67":1,"182":1}}],["retriever",{"2":{"64":1,"65":6,"67":35,"182":44}}],["retrieved",{"2":{"60":1,"63":1,"66":1,"67":1,"182":3}}],["retrieve",{"2":{"10":2,"60":2,"61":4,"63":2,"64":3,"65":1,"66":1,"67":14,"105":1,"182":21,"183":1}}],["retrying",{"2":{"21":1,"52":2,"55":7,"88":2,"108":1,"181":7}}],["retry",{"2":{"21":3,"52":1,"54":3,"55":15,"108":6,"181":22,"183":10}}],["retryconfig",{"2":{"21":3,"52":1,"54":3,"55":10,"181":14,"183":1}}],["returning",{"2":{"182":1,"183":2}}],["returned",{"2":{"97":1,"108":2,"181":1,"182":3,"183":15}}],["returns",{"2":{"7":7,"10":5,"18":3,"55":12,"57":1,"58":5,"67":11,"73":1,"106":5,"107":2,"140":1,"141":1,"142":1,"179":1,"181":16,"182":47,"183":72}}],["return",{"2":{"2":1,"6":2,"7":1,"10":4,"18":1,"19":4,"24":1,"31":1,"50":1,"55":6,"58":1,"61":3,"63":2,"67":11,"77":1,"87":5,"88":5,"92":4,"93":1,"106":5,"108":11,"123":2,"124":3,"179":1,"181":13,"182":33,"183":98}}],["reranking",{"2":{"66":1,"67":8,"182":16}}],["reranker",{"2":{"63":2,"67":8,"182":19}}],["reranked",{"2":{"61":1,"182":5}}],["rerank",{"2":{"2":2,"8":2,"63":3,"64":1,"66":2,"67":5,"182":28,"183":2}}],["reload",{"2":{"89":3,"183":2}}],["relentless",{"2":{"58":1,"183":1}}],["releases",{"2":{"180":1}}],["release",{"2":{"35":1}}],["relevancy",{"2":{"118":1,"183":1}}],["relevance",{"2":{"6":1,"118":2,"127":2,"140":1,"182":8}}],["relevant",{"2":{"2":1,"60":1,"61":1,"63":1,"64":2,"66":3,"67":7,"96":1,"118":1,"120":1,"124":1,"127":2,"128":1,"132":3,"133":1,"134":1,"150":1,"152":1,"153":1,"181":2,"182":11,"183":1}}],["related",{"2":{"13":1,"75":1,"126":1,"132":2,"154":1,"182":2,"183":2}}],["relational",{"2":{"7":1}}],["rely",{"2":{"0":1}}],["re",{"2":{"1":1,"2":3,"7":1,"8":1,"10":1,"12":1,"20":1,"22":2,"23":1,"24":11,"26":1,"29":1,"31":1,"35":1,"41":1,"42":1,"52":1,"58":2,"61":1,"63":2,"65":1,"67":1,"73":1,"75":1,"78":1,"84":2,"93":2,"100":1,"104":1,"105":4,"106":1,"107":5,"108":3,"111":1,"118":1,"120":1,"127":1,"128":1,"130":1,"157":2,"161":1,"163":1,"164":1,"165":2,"170":1,"171":1,"173":2,"181":1,"182":16,"183":16}}],["gsk",{"2":{"183":1}}],["ggi",{"2":{"183":3}}],["gguf",{"2":{"28":1}}],["gnarled",{"2":{"58":1,"183":1}}],["glossy",{"2":{"183":1}}],["globally",{"2":{"52":1}}],["global",{"2":{"0":1,"42":1,"55":1,"183":3}}],["glittering",{"2":{"58":1,"183":1}}],["glasses",{"2":{"39":1}}],["glad",{"2":{"31":1}}],["gpu=99",{"2":{"37":2}}],["gpu",{"2":{"28":1,"37":1}}],["gpt4o",{"2":{"182":3}}],["gpt4v",{"2":{"20":2,"183":5}}],["gpt4",{"2":{"15":1,"97":1,"98":1,"183":5}}],["gpt4t",{"2":{"6":1,"7":2,"15":3,"17":1,"21":1,"54":1,"97":1,"182":2,"183":5}}],["gpt35",{"2":{"183":2}}],["gpt3t",{"2":{"107":1}}],["gpt3",{"2":{"15":1,"107":1,"183":5}}],["gpt",{"2":{"6":1,"7":1,"15":5,"93":4,"97":2,"98":1,"182":5,"183":21}}],["guidance",{"2":{"108":1}}],["guidelines>",{"2":{"175":2}}],["guidelines",{"2":{"140":1,"153":1,"160":3,"167":2,"168":1,"169":1,"175":1}}],["guides",{"2":{"75":1,"183":1}}],["guide",{"0":{"84":1},"2":{"22":1,"41":1,"55":2,"61":2,"69":1,"79":2,"95":1,"167":1,"175":1,"181":3,"183":2}}],["guarantees",{"2":{"88":1}}],["guardian",{"2":{"58":1,"183":1}}],["guardrails",{"2":{"55":1,"181":1}}],["guessed",{"2":{"55":1,"181":1}}],["guesser",{"2":{"55":3,"181":3}}],["guesses",{"2":{"21":1,"54":1,"55":2,"181":2}}],["guess",{"2":{"21":1,"54":2,"55":31,"181":31}}],["guessing",{"2":{"21":1,"54":2,"55":1,"181":1}}],["g",{"2":{"19":1,"55":2,"118":1,"136":1,"138":1,"141":1,"183":8}}],["giraffe",{"2":{"183":7}}],["github",{"2":{"58":1,"73":1,"79":1,"95":1,"118":1,"182":5,"183":6}}],["gitignore",{"2":{"11":3}}],["give",{"2":{"24":1,"55":1,"70":1,"88":2,"181":1,"182":1}}],["given",{"2":{"19":2,"58":4,"60":1,"67":2,"74":1,"123":2,"124":2,"133":1,"136":2,"138":2,"141":1,"150":1,"154":1,"158":1,"162":1,"164":1,"166":1,"177":1,"181":5,"182":8,"183":32}}],["gives",{"2":{"5":1,"13":1,"100":1,"101":1,"123":1,"124":1,"183":2}}],["grammer",{"2":{"183":1}}],["grammatical",{"2":{"140":1}}],["grammar",{"2":{"108":1,"140":1,"183":1}}],["gracefully",{"2":{"183":6}}],["grasp",{"2":{"133":1}}],["granularity",{"2":{"61":1}}],["grab",{"2":{"55":1,"181":1}}],["gratefully",{"2":{"12":1}}],["grins",{"2":{"41":2}}],["group",{"2":{"88":1,"182":4,"183":1}}],["grow",{"2":{"12":1}}],["groq",{"2":{"0":1,"183":6}}],["groqopenaischema",{"2":{"0":1,"183":2}}],["greater",{"2":{"182":1,"183":1}}],["greatingpirate",{"2":{"89":5,"183":7}}],["great",{"2":{"11":1,"24":2,"58":2,"97":1,"159":2,"183":2}}],["gt",{"2":{"7":14,"10":3,"15":1,"21":3,"37":1,"42":2,"54":2,"55":4,"58":1,"64":16,"67":9,"78":1,"79":1,"80":1,"84":1,"85":2,"89":3,"95":1,"98":2,"100":10,"102":1,"105":3,"106":3,"107":2,"108":5,"181":7,"182":15,"183":24}}],["gamma",{"2":{"181":4,"183":1}}],["game",{"2":{"21":1,"54":1,"55":2,"171":1,"181":2}}],["gaps",{"2":{"160":1}}],["gaze",{"2":{"58":1,"183":1}}],["gauge",{"2":{"24":1}}],["gave",{"2":{"12":1}}],["gain",{"2":{"6":1}}],["garbage",{"2":{"2":2}}],["goes",{"2":{"183":1}}],["goals",{"2":{"140":3,"141":1}}],["goal",{"2":{"110":1,"133":1,"183":2}}],["going",{"2":{"65":1,"108":1}}],["got",{"2":{"55":2,"181":2,"183":1}}],["gotchas",{"0":{"36":1},"2":{"55":1,"181":1}}],["good",{"2":{"4":1,"8":1,"13":1,"24":2,"55":1,"76":1,"88":1,"150":1,"167":1,"175":1,"181":1,"182":5,"183":3}}],["googlegenaipromptingtoolsext",{"2":{"183":1}}],["googlegenai",{"2":{"32":2,"183":1}}],["google",{"0":{"32":1},"1":{"33":1,"34":1,"35":1,"36":1},"2":{"0":1,"11":1,"32":3,"36":1,"70":1,"120":1,"183":9}}],["googleschema",{"2":{"0":1,"183":2}}],["golden",{"2":{"4":1,"8":1}}],["go",{"2":{"2":1,"12":1,"41":3,"67":1,"72":1,"76":1,"84":2,"95":2,"105":1,"167":1,"175":1,"182":2}}],["germany",{"2":{"182":2}}],["genai",{"2":{"77":1,"180":1}}],["gensym",{"2":{"67":2,"182":3}}],["genie",{"2":{"61":1}}],["general",{"0":{"148":1},"1":{"149":1,"150":1},"2":{"10":1,"23":1,"26":1,"106":1,"108":1,"120":1,"126":1,"153":2,"167":2,"168":1,"169":1,"175":3,"183":1}}],["generally",{"2":{"7":1,"108":1}}],["generator",{"2":{"64":1,"65":1,"67":24,"182":25}}],["generating",{"2":{"10":1,"51":1,"67":11,"106":1,"177":1,"181":2,"182":20,"183":16}}],["generativeai",{"2":{"48":1}}],["generative",{"2":{"1":1,"56":1,"57":1,"60":1}}],["generation",{"0":{"1":1,"33":1,"38":1},"1":{"2":1,"34":1,"35":1,"36":1,"39":1,"40":1,"41":1,"42":1},"2":{"1":1,"6":1,"54":1,"59":1,"63":2,"66":3,"67":3,"108":1,"126":1,"180":1,"181":2,"182":7,"183":25}}],["generated",{"2":{"6":1,"8":1,"10":5,"18":1,"24":1,"47":1,"52":1,"55":2,"57":1,"58":1,"60":1,"61":1,"67":5,"71":1,"97":1,"106":2,"126":2,"181":2,"182":10,"183":28}}],["generates",{"2":{"2":1,"10":1,"21":1,"66":3,"67":1,"106":1,"130":1,"131":1,"182":4,"183":5}}],["generate",{"0":{"4":1},"2":{"0":1,"2":1,"3":1,"7":1,"8":1,"10":4,"52":3,"55":1,"57":2,"59":1,"60":3,"61":5,"63":2,"64":3,"66":2,"67":10,"88":2,"89":1,"91":1,"95":1,"106":2,"108":3,"126":1,"130":1,"132":1,"141":1,"142":1,"150":1,"177":4,"181":3,"182":18,"183":32}}],["genericwriter",{"0":{"162":1}}],["generictopicexpertask",{"0":{"161":1}}],["generictranscriptcritic",{"0":{"141":1}}],["generic",{"2":{"4":1,"105":1,"126":1,"141":1,"157":1,"161":1,"162":1}}],["gestures",{"2":{"41":1}}],["getpropertynested",{"2":{"67":2,"182":5,"183":1}}],["getindex",{"2":{"55":1,"181":1}}],["getting",{"0":{"73":2,"74":1,"75":1,"94":1},"1":{"95":1,"96":1,"97":1,"98":1},"2":{"22":1,"152":1}}],["get",{"2":{"10":1,"21":1,"32":1,"46":1,"50":2,"54":2,"55":3,"59":1,"61":1,"64":5,"66":5,"67":11,"69":1,"72":2,"73":2,"78":1,"79":1,"80":1,"84":1,"85":1,"87":1,"88":4,"95":1,"97":1,"106":1,"107":1,"108":2,"179":2,"181":4,"182":60,"183":53}}],["gemini",{"2":{"0":1,"32":3,"33":2,"34":3,"35":1,"36":1,"183":11}}],["tf",{"2":{"182":1}}],["td",{"2":{"182":1}}],["tp",{"2":{"182":1}}],["tpl=pt",{"2":{"89":1,"183":2}}],["tpl",{"2":{"24":1,"89":2,"92":2,"183":2}}],["tsang",{"2":{"181":1}}],["tldr",{"2":{"164":1,"177":6}}],["tl",{"2":{"39":1}}],["tmixtral",{"2":{"30":2,"108":2}}],["tmp",{"2":{"24":1}}],["tmps",{"2":{"13":1,"183":2}}],["typically",{"2":{"183":3}}],["typing",{"2":{"20":1,"183":2}}],["typed",{"0":{"88":1},"2":{"88":2,"96":1}}],["type=fruit",{"2":{"183":1}}],["type=food",{"2":{"10":1,"31":1,"106":1,"108":1}}],["type=mymeasurement",{"2":{"183":5}}],["type=maybetags",{"2":{"182":1}}],["type=manymeasurements",{"2":{"19":1,"183":2}}],["type=currentweather",{"2":{"19":1}}],["types",{"2":{"12":1,"55":2,"63":2,"64":4,"66":1,"67":7,"82":1,"85":1,"88":4,"104":1,"106":1,"108":4,"168":2,"169":2,"181":2,"182":8,"183":6}}],["type",{"2":{"6":1,"10":1,"11":1,"15":1,"19":2,"55":3,"60":1,"61":1,"63":2,"65":2,"66":1,"67":3,"88":2,"93":1,"97":1,"100":1,"106":1,"108":21,"110":1,"168":1,"169":1,"181":8,"182":81,"183":134}}],["tiktokenizer",{"2":{"183":1}}],["titles",{"2":{"152":2,"153":2}}],["title",{"2":{"152":2,"153":1,"158":1,"164":1,"177":2}}],["tiniest",{"2":{"112":1}}],["tinyrag",{"2":{"182":2}}],["tiny",{"2":{"23":3,"26":3,"182":1,"183":2}}],["tier",{"0":{"78":1},"2":{"74":3,"78":1,"183":2}}],["timing",{"2":{"55":1,"181":1}}],["timed",{"2":{"55":1,"181":1}}],["timeout",{"2":{"55":3,"183":8}}],["timestamp",{"2":{"152":2,"153":3,"183":4}}],["timestamps",{"2":{"152":3,"153":2}}],["times",{"2":{"21":1,"52":2,"54":1,"55":3,"89":1,"181":4}}],["time",{"2":{"3":1,"7":1,"10":1,"13":1,"21":1,"24":3,"31":1,"36":1,"54":1,"55":3,"58":1,"71":1,"77":2,"79":1,"85":1,"91":1,"100":1,"103":1,"105":1,"106":1,"180":1,"181":4,"182":3,"183":29}}],["tired",{"2":{"19":1}}],["tips",{"2":{"21":1,"58":1,"152":2,"153":2,"183":2}}],["tip",{"2":{"14":1,"58":1,"72":1,"97":1,"98":2,"121":1,"183":1}}],["tell",{"2":{"171":1}}],["tedious",{"2":{"85":1}}],["tens",{"2":{"77":1}}],["tenth",{"2":{"75":1}}],["tends",{"2":{"90":1}}],["tend",{"2":{"10":1,"58":1,"70":1,"85":1,"106":1,"183":1}}],["terms",{"2":{"120":1,"132":2}}],["term",{"2":{"59":1,"120":1,"182":1}}],["terminal",{"2":{"28":1,"37":1,"57":1,"61":1,"79":4,"84":1,"95":2}}],["testing",{"2":{"183":5}}],["testechoopenaischema",{"2":{"183":2}}],["testechoollamaschema",{"2":{"183":2}}],["testechoollamamanagedschema",{"2":{"183":2}}],["testechogoogleschema",{"2":{"183":2}}],["testechoanthropicschema",{"2":{"183":2}}],["test`",{"2":{"110":1,"167":3,"175":3}}],["tests>",{"2":{"175":2}}],["testset`",{"2":{"167":1,"175":1}}],["testsets",{"2":{"167":1,"175":1}}],["testset",{"2":{"55":1,"110":1,"167":2,"175":2,"183":1}}],["tests",{"2":{"55":4,"110":1,"167":4,"175":4,"183":5}}],["test",{"2":{"42":1,"55":2,"67":5,"167":14,"171":1,"175":14,"182":11,"183":9}}],["teacher",{"2":{"126":1}}],["teach",{"2":{"41":1}}],["technical",{"2":{"120":2,"132":1}}],["technically",{"2":{"28":1}}],["technique",{"2":{"91":1}}],["techniques",{"2":{"61":1}}],["technology",{"2":{"41":1,"158":1}}],["tempdir",{"2":{"183":1}}],["temporary",{"2":{"183":1}}],["temperature=>float64",{"2":{"183":1}}],["temperature=0",{"2":{"10":1,"55":3,"93":1,"106":3,"108":2,"181":3,"183":3}}],["temperature",{"2":{"19":1,"181":2,"183":20}}],["temperatureunits",{"2":{"19":2}}],["templating",{"2":{"13":1,"98":1,"183":1}}],["template",{"0":{"89":1,"110":1,"111":1,"112":1,"114":1,"116":1,"118":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":1,"150":1,"152":1,"153":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"173":1,"174":1,"175":1,"177":1,"178":1},"2":{"13":5,"17":1,"20":1,"24":10,"55":1,"63":2,"65":5,"67":17,"89":13,"92":1,"93":1,"105":7,"107":4,"110":1,"111":1,"112":1,"132":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":1,"152":1,"153":1,"154":1,"159":1,"160":1,"168":1,"169":1,"181":9,"182":47,"183":127}}],["templated",{"0":{"13":1},"2":{"17":1,"24":1}}],["templates=true",{"2":{"183":1}}],["templates",{"0":{"105":1,"109":1,"113":1,"115":1,"117":1,"119":1,"122":1,"125":1,"129":1,"135":1,"139":1,"143":1,"146":1,"148":1,"151":1,"172":1,"176":1},"1":{"110":1,"111":1,"112":1,"114":1,"116":1,"118":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":1,"150":1,"152":1,"153":1,"154":1,"173":1,"174":1,"175":1,"177":1,"178":1},"2":{"10":1,"13":2,"17":1,"24":13,"89":12,"92":2,"93":1,"98":1,"100":1,"105":3,"106":1,"181":4,"183":48}}],["text=",{"2":{"182":1}}],["textchunker",{"2":{"67":1,"182":7,"183":1}}],["text1",{"2":{"58":1,"183":1}}],["text2",{"2":{"58":2,"183":2}}],["texts",{"2":{"58":2,"67":3,"140":1,"182":6,"183":2}}],["textanalysis",{"2":{"8":1}}],["text",{"0":{"33":1,"38":1,"56":1},"1":{"34":1,"35":1,"36":1,"39":1,"40":1,"41":1,"42":1,"57":1,"58":1},"2":{"2":3,"8":1,"10":6,"16":1,"19":2,"20":1,"30":1,"31":2,"55":3,"56":2,"57":7,"58":41,"61":1,"67":9,"90":2,"104":1,"106":4,"108":1,"120":7,"121":6,"140":8,"160":4,"162":1,"164":1,"177":2,"178":1,"181":1,"182":36,"183":79}}],["trove",{"2":{"89":2,"183":2}}],["troubleshooting",{"2":{"37":1}}],["treated",{"2":{"183":2}}],["treasure",{"2":{"89":2,"183":2}}],["trees",{"2":{"55":1,"181":3}}],["tree",{"2":{"18":2,"21":2,"52":1,"55":7,"58":1,"67":2,"88":1,"181":17,"182":4,"183":7}}],["truncation",{"2":{"182":2}}],["truncated",{"2":{"182":1,"183":4}}],["truncates",{"2":{"181":1}}],["truncate",{"2":{"181":2,"182":17,"183":2}}],["trusted",{"2":{"61":1}}],["truths",{"2":{"58":1,"183":1}}],["true",{"2":{"4":1,"6":2,"7":1,"12":2,"17":3,"21":1,"35":1,"45":1,"50":1,"54":1,"55":32,"67":17,"88":4,"89":2,"92":2,"137":2,"179":1,"181":25,"182":58,"183":121}}],["traced",{"2":{"183":2}}],["tracemessage",{"2":{"183":1}}],["trace",{"2":{"183":2}}],["tracers",{"2":{"183":3}}],["tracerschema",{"2":{"93":7,"183":17}}],["tracer",{"2":{"183":95}}],["tracermessagelike",{"2":{"183":2}}],["tracermessage",{"2":{"93":2,"183":10}}],["tracing",{"0":{"93":1},"2":{"93":2,"183":15}}],["tracked",{"2":{"182":1,"183":1}}],["tracker",{"2":{"67":9,"182":28,"183":1}}],["tracking",{"2":{"181":1,"183":2}}],["tracks",{"2":{"67":1,"182":1,"183":1}}],["track",{"2":{"67":5,"181":1,"182":16,"183":1}}],["trained",{"2":{"152":1,"153":1,"158":1}}],["train",{"2":{"71":1}}],["training",{"2":{"71":1,"183":1}}],["trailing",{"2":{"183":2}}],["trail",{"2":{"58":1,"183":1}}],["transcripts",{"2":{"152":2,"153":2}}],["transcript",{"2":{"140":5,"141":6,"142":4,"152":7,"153":6,"158":6}}],["transcribe",{"2":{"20":2,"178":2,"183":8}}],["transformation",{"2":{"183":1}}],["transformations",{"0":{"129":1},"1":{"130":1,"131":1,"132":1,"133":1,"134":1},"2":{"131":1}}],["transform",{"2":{"67":1,"182":2,"183":1}}],["translate",{"2":{"14":1,"182":6,"183":2}}],["tryparse",{"2":{"55":4,"88":2,"181":4,"183":1}}],["try",{"0":{"78":1},"2":{"18":1,"31":1,"41":1,"55":2,"67":1,"89":1,"108":4,"116":1,"123":1,"124":1,"130":1,"131":1,"181":1,"182":4,"183":8}}],["trying",{"2":{"12":1,"35":1,"41":1,"52":1,"181":1,"183":5}}],["trims",{"2":{"183":1}}],["trial",{"2":{"182":1}}],["tries",{"2":{"181":1,"182":3,"183":1}}],["triple",{"2":{"110":1,"111":1,"154":1,"183":1}}],["trivially",{"2":{"88":1}}],["trigram",{"2":{"67":3,"182":8,"183":1}}],["trigramannotater",{"2":{"67":4,"182":10,"183":1}}],["trigrams",{"2":{"57":4,"67":6,"182":23,"183":2}}],["triggers",{"2":{"55":1,"108":1,"181":2}}],["triggered",{"2":{"52":1,"55":1,"181":1}}],["trigger",{"2":{"10":1,"52":1,"55":2,"106":1,"181":3,"183":2}}],["tricks",{"2":{"78":2}}],["trick",{"2":{"10":1,"18":1,"41":1,"106":1,"183":5}}],["tuning",{"2":{"91":1,"183":1}}],["tune",{"0":{"91":1}}],["tuned",{"2":{"31":1}}],["tuple",{"2":{"45":1,"181":1,"182":5,"183":36}}],["tuples",{"2":{"18":1,"168":1,"169":1,"183":5}}],["turn",{"0":{"87":1},"2":{"35":2,"42":1,"98":1,"183":2}}],["turbo",{"2":{"7":1,"15":3,"93":1,"97":2,"107":1,"108":2,"183":11}}],["tutorials",{"2":{"61":2}}],["tutorial",{"2":{"8":1,"72":1,"95":1,"96":1}}],["t",{"2":{"6":1,"8":1,"24":1,"27":1,"28":1,"30":1,"37":1,"39":1,"55":2,"85":1,"103":1,"108":2,"116":3,"120":1,"121":1,"123":5,"124":3,"126":1,"152":2,"153":1,"154":1,"167":1,"169":1,"171":1,"175":1,"181":5,"182":23,"183":34}}],["tweak",{"2":{"2":2,"7":1,"55":2,"181":2}}],["two",{"0":{"2":1},"2":{"2":1,"5":4,"6":1,"7":7,"10":1,"16":1,"17":3,"21":1,"54":2,"55":2,"57":2,"58":2,"74":1,"88":5,"92":1,"107":1,"108":1,"110":1,"181":4,"182":6,"183":18}}],["taking",{"2":{"132":1,"134":1}}],["taken",{"2":{"183":2}}],["takes",{"2":{"74":1,"183":1}}],["take",{"2":{"7":1,"24":2,"102":1,"107":1,"111":1,"112":1,"152":1,"156":1,"174":1,"181":1,"183":1}}],["target",{"2":{"67":2,"140":1,"162":1,"164":2,"171":2,"182":14}}],["tapestry",{"2":{"58":2,"183":2}}],["tavilysearchrefiner",{"2":{"182":6,"183":1}}],["tavily",{"2":{"49":3,"50":1,"179":5,"180":1,"182":3,"183":5}}],["tall",{"2":{"19":2,"183":11}}],["tabular",{"2":{"13":1,"183":2}}],["table",{"2":{"7":2,"24":1,"77":1,"171":4}}],["tables",{"2":{"7":1}}],["task>",{"2":{"174":4}}],["tasked",{"2":{"132":1,"134":1}}],["task=",{"2":{"20":1,"183":2}}],["tasks",{"2":{"14":2,"15":1,"17":1,"19":1,"23":1,"26":1,"30":1,"34":1,"42":1,"46":2,"61":1,"67":2,"69":1,"98":1,"136":1,"138":1,"154":1,"159":1,"181":1,"182":8,"183":3}}],["task",{"0":{"151":1},"1":{"152":1,"153":1,"154":1},"2":{"11":1,"19":1,"24":1,"61":1,"91":1,"93":1,"104":1,"105":1,"108":3,"110":1,"111":1,"123":1,"124":1,"127":1,"130":1,"131":1,"132":2,"133":1,"134":1,"136":1,"138":1,"140":1,"141":1,"142":1,"149":1,"150":6,"158":1,"159":4,"166":7,"167":1,"168":6,"169":6,"171":5,"174":6,"175":1,"177":1,"178":4,"183":6}}],["tag2",{"2":{"67":1,"182":1}}],["tag1",{"2":{"67":1,"182":1}}],["tagging",{"2":{"67":2,"182":4}}],["tagger=opentagger",{"2":{"67":1,"182":1}}],["tagger",{"2":{"67":27,"182":43}}],["tag",{"2":{"2":1,"61":1,"66":1,"67":4,"182":30}}],["tags",{"2":{"2":3,"64":4,"66":8,"67":17,"144":2,"145":1,"174":3,"175":2,"182":108,"183":9}}],["tailored",{"2":{"1":1,"140":1,"150":1}}],["txtouterjoin",{"2":{"7":1}}],["txtrightjoin",{"2":{"7":1}}],["txtleftjoin",{"2":{"7":1}}],["txtinnerjoin",{"2":{"7":1}}],["txtin",{"2":{"7":1}}],["txtwe",{"2":{"7":1}}],["txtjulia",{"2":{"7":3}}],["txtdatabase",{"2":{"7":1}}],["txt",{"2":{"2":2,"5":1,"6":1}}],["toml",{"2":{"80":1,"183":2}}],["touches",{"2":{"66":1}}],["total",{"2":{"61":1,"67":6,"181":1,"182":14,"183":1}}],["toy",{"2":{"55":1,"108":1,"181":1}}],["tone",{"2":{"24":1,"140":2,"160":1}}],["took",{"2":{"55":1,"108":1,"181":1,"182":1}}],["too",{"0":{"75":1},"2":{"16":1,"47":1,"55":1,"58":1,"108":1,"126":1,"152":2,"168":1,"169":1,"181":2,"183":5}}],["tool",{"2":{"12":1,"21":1,"22":1,"108":4,"144":4,"183":20}}],["tools",{"0":{"51":1,"59":1},"1":{"52":1,"53":1,"54":1,"55":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1},"2":{"10":1,"58":2,"60":1,"61":1,"108":2,"183":12}}],["tokenizer",{"2":{"183":1}}],["tokenizers",{"2":{"182":1}}],["tokenizes",{"2":{"182":2}}],["tokenized",{"2":{"182":2}}],["tokenize",{"2":{"57":2,"182":2,"183":1}}],["tokens=",{"2":{"183":1}}],["tokens=2500",{"2":{"20":1,"183":2}}],["tokens",{"2":{"11":1,"20":2,"22":1,"23":1,"26":1,"30":1,"31":1,"36":1,"67":2,"74":4,"77":1,"87":1,"97":2,"98":1,"182":21,"183":70}}],["token",{"2":{"10":1,"18":1,"29":1,"67":1,"77":1,"106":1,"181":1,"182":11,"183":53}}],["today",{"2":{"7":1,"22":1,"23":1,"26":1,"30":1,"40":1,"42":1,"87":1,"183":8}}],["topics",{"2":{"23":1,"26":1,"30":1,"31":1,"160":1}}],["topic",{"2":{"5":2,"6":1,"7":2,"158":6,"161":5,"164":5}}],["top",{"2":{"2":1,"6":2,"7":12,"55":1,"60":1,"61":1,"63":1,"65":4,"67":22,"85":1,"171":1,"181":1,"182":46,"183":6}}],["to",{"0":{"18":1,"78":1,"87":1,"88":1,"89":1,"92":1},"2":{"0":1,"1":3,"2":11,"3":1,"4":2,"5":4,"6":5,"7":17,"8":2,"10":21,"11":13,"12":9,"13":6,"14":2,"15":4,"16":4,"17":3,"18":2,"19":6,"21":11,"22":1,"23":6,"24":20,"25":1,"26":5,"27":1,"28":6,"29":7,"30":3,"31":6,"32":1,"34":5,"35":6,"36":1,"37":7,"39":3,"40":2,"41":2,"42":6,"43":1,"46":1,"47":1,"49":3,"50":9,"51":1,"52":16,"54":11,"55":100,"56":1,"57":14,"58":43,"59":6,"60":9,"61":20,"63":9,"64":1,"65":4,"66":14,"67":159,"69":1,"70":1,"71":7,"72":2,"73":2,"74":4,"75":3,"76":4,"77":2,"78":6,"79":5,"80":1,"82":2,"83":3,"84":3,"85":3,"86":6,"87":8,"88":18,"89":17,"90":2,"91":4,"92":11,"93":6,"95":9,"96":1,"97":4,"98":2,"99":3,"100":3,"101":1,"102":9,"103":6,"105":6,"106":21,"107":7,"108":31,"110":10,"111":5,"112":2,"116":2,"118":4,"120":3,"123":8,"124":8,"126":4,"127":5,"128":2,"130":4,"131":3,"132":3,"133":6,"134":1,"136":2,"138":5,"140":10,"141":5,"142":7,"144":2,"145":1,"147":1,"150":2,"152":14,"153":10,"154":6,"158":1,"160":1,"161":1,"162":2,"163":1,"164":5,"166":1,"167":4,"168":2,"169":2,"170":1,"171":5,"174":1,"175":4,"177":2,"179":10,"180":3,"181":146,"182":431,"183":774}}],["together",{"0":{"30":1},"2":{"0":1,"2":1,"5":3,"6":1,"7":3,"19":1,"30":3,"36":1,"67":1,"70":1,"93":1,"99":1,"108":6,"120":1,"182":2,"183":7}}],["togetheropenaischema",{"2":{"0":1,"30":2,"108":1,"183":2}}],["thomsonsampling",{"2":{"181":1}}],["thompson",{"2":{"181":3}}],["thompsonsampling",{"2":{"181":6,"183":1}}],["thoroughly",{"2":{"126":1}}],["thought",{"2":{"144":1,"166":1,"168":1,"174":1,"183":2}}],["though",{"2":{"108":1}}],["those",{"2":{"61":1,"67":1,"97":1,"144":1,"145":1,"147":1,"153":1,"182":1,"183":2}}],["than",{"2":{"28":1,"58":2,"67":2,"98":2,"108":1,"110":1,"160":1,"182":8,"183":8}}],["thanks",{"2":{"105":1,"181":2}}],["thank",{"2":{"12":1}}],["that",{"2":{"0":2,"3":1,"5":1,"6":3,"7":15,"10":2,"13":2,"15":3,"16":1,"18":1,"19":1,"21":4,"22":3,"23":3,"24":6,"26":2,"32":1,"36":2,"37":2,"42":2,"49":1,"51":1,"52":5,"54":4,"55":22,"58":6,"59":2,"61":1,"63":3,"65":3,"66":1,"67":23,"69":1,"72":1,"74":4,"75":1,"84":3,"87":2,"88":1,"89":1,"91":1,"92":2,"93":1,"95":1,"96":1,"99":1,"100":3,"101":2,"102":1,"103":2,"105":4,"106":3,"107":2,"108":10,"110":1,"116":1,"118":1,"123":2,"124":2,"126":2,"128":1,"130":3,"131":2,"132":5,"134":1,"136":2,"138":3,"140":1,"141":1,"142":3,"150":2,"152":3,"153":1,"154":2,"158":1,"160":1,"162":1,"164":2,"166":1,"168":2,"169":2,"171":2,"174":1,"177":1,"180":1,"181":25,"182":68,"183":101}}],["third",{"2":{"21":1,"54":1,"55":1,"181":1}}],["think",{"2":{"101":1,"108":1,"110":1,"111":2,"112":1,"162":1,"164":1,"166":1,"167":1,"174":1,"175":1,"182":1,"183":2}}],["thinking",{"2":{"21":2,"54":2,"55":3,"181":3}}],["things",{"2":{"12":1,"35":1}}],["this",{"0":{"6":1},"2":{"0":2,"1":2,"2":1,"3":1,"4":1,"6":2,"7":2,"8":1,"10":1,"11":2,"13":1,"17":1,"21":2,"24":3,"32":1,"35":1,"37":1,"41":2,"47":1,"49":2,"52":2,"55":10,"56":1,"58":4,"61":1,"63":1,"65":2,"67":6,"71":1,"73":2,"74":1,"75":2,"78":1,"79":1,"89":1,"93":1,"95":1,"96":1,"99":2,"104":1,"106":1,"107":2,"108":2,"110":1,"111":1,"112":1,"130":1,"132":4,"133":1,"134":1,"142":1,"152":2,"153":2,"154":3,"168":2,"169":2,"171":2,"180":2,"181":15,"182":32,"183":80}}],["throw==false",{"2":{"55":1,"181":1}}],["throw=true",{"2":{"55":2,"181":2}}],["thrown",{"2":{"55":1,"73":1,"181":1}}],["throw",{"2":{"55":4,"108":1,"181":4,"183":6}}],["throughout",{"2":{"96":1}}],["through",{"2":{"0":1,"7":1,"11":1,"35":1,"55":1,"58":1,"99":1,"120":1,"166":1,"167":1,"174":1,"175":1,"181":3,"182":2,"183":5}}],["thread",{"2":{"87":1,"93":2,"183":21}}],["threads`",{"2":{"61":1}}],["threads",{"2":{"46":1,"67":7,"182":28,"183":1}}],["threshold",{"2":{"67":1,"182":4}}],["three",{"2":{"12":1,"17":1,"57":1,"63":1,"85":1,"88":1,"140":2,"141":2,"142":2,"182":3,"183":4}}],["then",{"2":{"10":2,"11":1,"12":1,"19":1,"28":1,"37":1,"47":1,"55":2,"58":1,"63":1,"66":1,"67":4,"87":1,"88":2,"89":2,"93":1,"99":1,"106":1,"107":2,"181":1,"182":13,"183":11}}],["theory",{"2":{"7":1,"171":1}}],["their",{"2":{"7":2,"10":1,"23":1,"26":1,"31":1,"55":1,"58":1,"61":2,"67":3,"71":1,"102":1,"106":1,"118":3,"121":1,"136":1,"138":1,"140":1,"141":1,"181":2,"182":12,"183":12}}],["there",{"2":{"7":2,"19":1,"23":3,"24":1,"26":2,"27":1,"30":1,"31":1,"34":1,"37":1,"39":2,"40":1,"41":1,"42":2,"49":1,"55":5,"57":1,"58":3,"66":1,"67":2,"69":1,"70":1,"73":1,"78":1,"84":1,"85":1,"92":2,"101":1,"102":1,"104":1,"105":1,"107":2,"110":2,"111":1,"160":1,"181":5,"182":4,"183":16}}],["themselves",{"2":{"183":1}}],["themed",{"2":{"158":1}}],["theme",{"0":{"155":2,"156":2},"1":{"157":2,"158":2,"159":2,"160":2,"161":2,"162":2,"163":2,"164":2,"165":2,"166":2,"167":2,"168":2,"169":2,"170":2,"171":2,"172":2,"173":2,"174":2,"175":2},"2":{"154":6,"158":7}}],["themes",{"2":{"154":5,"158":1,"177":1}}],["them",{"2":{"2":4,"3":1,"6":1,"7":1,"8":1,"10":1,"12":1,"16":1,"21":1,"23":2,"24":6,"26":1,"27":1,"36":1,"37":1,"55":4,"57":1,"58":3,"61":1,"63":1,"65":1,"67":5,"77":1,"78":1,"101":1,"105":1,"106":1,"108":1,"110":1,"152":3,"167":1,"168":1,"169":1,"171":1,"175":1,"181":4,"182":6,"183":24}}],["they",{"2":{"1":1,"10":1,"20":1,"21":2,"23":2,"24":2,"26":1,"27":1,"55":4,"57":1,"67":1,"103":1,"106":2,"108":1,"141":1,"152":1,"153":1,"156":2,"171":2,"181":4,"182":3,"183":9}}],["these",{"2":{"0":1,"10":1,"15":1,"37":1,"55":1,"58":1,"61":3,"67":2,"74":1,"78":1,"106":1,"120":1,"126":1,"127":1,"140":1,"142":2,"144":1,"145":1,"147":1,"153":3,"162":1,"164":1,"181":1,"182":3,"183":5}}],["the",{"0":{"7":1,"75":1,"79":1,"80":1,"81":1,"85":1,"92":1},"2":{"0":12,"1":4,"2":24,"3":3,"4":2,"5":7,"6":9,"7":91,"8":6,"10":39,"11":11,"12":8,"13":12,"14":2,"15":7,"16":5,"17":5,"18":6,"19":10,"20":7,"21":22,"22":5,"23":16,"24":49,"25":1,"26":9,"27":8,"28":12,"29":6,"30":4,"31":9,"32":3,"33":2,"34":3,"35":5,"36":5,"37":4,"39":1,"41":6,"42":3,"43":3,"45":1,"46":1,"48":1,"50":15,"51":1,"52":33,"54":21,"55":194,"56":1,"57":14,"58":98,"59":9,"60":13,"61":48,"63":34,"64":2,"65":6,"66":29,"67":247,"69":3,"70":3,"71":5,"72":3,"73":15,"74":11,"75":3,"76":1,"77":4,"78":8,"79":7,"80":2,"82":1,"83":2,"84":3,"85":4,"86":9,"87":19,"88":18,"89":20,"90":3,"91":4,"92":19,"93":14,"95":6,"96":4,"97":14,"98":8,"99":5,"100":9,"101":4,"102":9,"103":5,"104":13,"105":9,"106":37,"107":35,"108":75,"110":31,"111":12,"112":2,"116":6,"118":10,"120":10,"121":3,"123":26,"124":32,"126":17,"127":20,"128":5,"130":6,"131":6,"132":11,"133":7,"134":4,"136":6,"137":2,"138":13,"140":21,"141":19,"142":26,"144":6,"145":4,"147":3,"149":1,"150":4,"152":14,"153":20,"154":17,"156":1,"157":1,"158":8,"160":15,"161":2,"162":7,"163":1,"164":9,"165":3,"166":5,"167":12,"168":6,"169":7,"170":1,"171":22,"173":4,"174":6,"175":13,"177":9,"178":2,"179":16,"180":3,"181":339,"182":841,"183":1476}}],["fn",{"2":{"183":2}}],["f1",{"2":{"182":2}}],["ffs",{"2":{"110":1,"111":1}}],["f2",{"2":{"55":2,"181":2,"182":2}}],["fmixtral",{"2":{"31":2}}],["f",{"2":{"21":2,"31":1,"54":2,"55":11,"108":1,"168":1,"169":1,"181":16,"183":6}}],["fences",{"2":{"183":2}}],["fence",{"2":{"110":1,"111":1,"183":2}}],["fear",{"2":{"41":1}}],["features",{"2":{"77":1,"142":1,"171":4,"183":2}}],["feature",{"2":{"17":1,"21":1,"171":7,"183":1}}],["february",{"2":{"183":1}}],["feb",{"2":{"31":1,"36":1}}],["feedbackfromevaluator",{"0":{"114":1},"2":{"181":3}}],["feedback",{"0":{"113":1},"1":{"114":1},"2":{"21":6,"52":6,"54":8,"55":55,"88":2,"108":5,"110":9,"111":4,"112":4,"114":5,"181":125,"183":4}}],["feel",{"2":{"23":1,"26":1,"31":1,"34":1,"42":1,"57":1,"60":1,"183":1}}],["feels",{"2":{"12":1}}],["feelings",{"2":{"12":1,"35":2,"41":2,"183":8}}],["fewer",{"2":{"182":1}}],["few",{"2":{"2":2,"6":1,"11":1,"86":1,"110":1,"152":1,"160":1,"181":2,"183":6}}],["flexibility",{"2":{"181":1}}],["flexible",{"2":{"55":2,"59":1,"181":2,"183":1}}],["fleming",{"2":{"126":3}}],["float",{"2":{"182":5,"183":1}}],["float32",{"2":{"61":4,"182":5}}],["float64",{"2":{"16":1,"19":1,"22":2,"45":2,"46":2,"47":2,"67":13,"181":1,"182":35,"183":26}}],["float64int64float64dict",{"2":{"7":1}}],["flow",{"2":{"64":4,"67":2,"88":1,"182":3,"183":5}}],["flowed",{"2":{"58":1,"183":1}}],["flows",{"2":{"35":1}}],["flashrank",{"2":{"182":4}}],["flashranker",{"2":{"182":3,"183":1}}],["flag",{"2":{"88":1,"181":2,"182":10,"183":3}}],["flags",{"2":{"15":1,"97":1}}],["flavors",{"2":{"10":1,"52":1,"106":1,"183":2}}],["flavor",{"2":{"0":1,"182":1,"183":21}}],["fruit",{"2":{"183":2}}],["friendly",{"2":{"30":1,"160":2}}],["francisco",{"2":{"19":1}}],["france",{"2":{"15":1,"67":2,"97":3,"107":4,"182":7}}],["frameworks",{"2":{"61":1}}],["frame",{"2":{"7":8}}],["frames",{"2":{"6":1,"7":7}}],["frequencies",{"2":{"182":1}}],["frequently",{"0":{"68":1},"1":{"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1},"2":{"37":1,"183":1}}],["free",{"2":{"23":1,"26":1,"31":2,"34":1,"36":1,"42":1,"57":1,"60":1,"70":1,"74":2,"75":1,"77":1,"182":1,"183":5}}],["freedom",{"2":{"12":1}}],["french",{"2":{"14":1,"93":1,"183":3}}],["from",{"0":{"74":1,"82":1},"2":{"2":5,"3":1,"6":2,"7":13,"8":1,"10":6,"11":2,"12":2,"19":2,"20":1,"23":1,"25":1,"26":1,"31":1,"32":1,"35":1,"37":2,"41":1,"50":2,"52":1,"54":1,"55":15,"57":2,"58":2,"59":1,"60":4,"61":2,"63":2,"64":1,"66":2,"67":17,"72":1,"78":1,"79":1,"82":2,"87":1,"88":1,"95":1,"97":1,"104":3,"106":4,"107":1,"108":6,"110":2,"114":2,"120":1,"121":2,"123":1,"124":4,"126":2,"127":3,"128":1,"130":1,"131":1,"132":1,"133":1,"134":2,"136":1,"138":1,"142":1,"150":1,"152":1,"153":1,"154":3,"160":1,"168":1,"169":1,"171":2,"178":1,"179":2,"181":29,"182":57,"183":109}}],["fairly",{"2":{"183":1}}],["fail",{"2":{"55":1,"181":3,"183":4}}],["failure",{"2":{"21":1,"52":3,"54":1,"55":1,"181":3}}],["failures",{"2":{"21":1,"54":1,"55":2,"181":1,"183":3}}],["fails",{"2":{"21":3,"52":1,"54":3,"55":2,"181":3,"183":7}}],["failedresponse",{"2":{"88":3}}],["failed",{"2":{"7":2,"19":1,"55":1,"88":2,"181":1,"182":1,"183":3}}],["favors",{"2":{"181":1}}],["favorite",{"2":{"84":1,"93":1}}],["far",{"2":{"181":2}}],["famous",{"2":{"164":1}}],["familiar",{"2":{"1":1}}],["faq",{"2":{"71":1,"95":1,"105":1}}],["fallback",{"2":{"183":7}}],["falls",{"2":{"55":1,"181":1}}],["fall",{"2":{"55":3,"181":3}}],["false`",{"2":{"55":1,"181":1}}],["false",{"2":{"2":1,"7":2,"17":2,"21":1,"50":3,"54":1,"55":13,"67":2,"137":2,"179":3,"181":14,"182":16,"183":67}}],["fahrenheit",{"2":{"19":1,"183":9}}],["faster",{"2":{"21":1,"28":1,"46":1,"54":1,"55":1,"67":1,"181":1,"182":1}}],["fast",{"2":{"18":1,"28":1,"182":1,"183":1}}],["face",{"2":{"42":1}}],["facilitating",{"2":{"183":2}}],["facilitate",{"2":{"10":1,"52":1,"55":1,"66":1,"106":1,"181":1,"183":2}}],["facing",{"2":{"15":1}}],["facts",{"2":{"169":1}}],["fact",{"2":{"10":1,"17":1,"52":1,"106":1}}],["focus",{"2":{"132":1,"160":1,"171":1,"181":1,"183":2}}],["focused",{"2":{"110":1,"153":1,"164":1}}],["focusing",{"2":{"61":1,"140":1}}],["four",{"2":{"17":1,"88":2,"183":2}}],["foundation",{"0":{"29":1},"2":{"29":1,"183":3}}],["found",{"2":{"7":1,"55":2,"67":2,"82":1,"181":1,"182":6,"183":22}}],["food",{"2":{"10":1,"31":5,"106":1,"108":24}}],["footers",{"2":{"2":1}}],["follow",{"2":{"86":1,"87":1,"110":1,"111":1,"140":2,"141":2,"142":2,"152":2,"154":1,"156":1,"160":4,"166":2,"171":1,"174":1,"183":1}}],["followed",{"2":{"24":1,"67":1,"182":1}}],["follows",{"2":{"7":1,"48":1,"51":1,"59":1,"110":1,"123":1,"182":3,"183":1}}],["following",{"2":{"5":1,"7":2,"11":1,"17":1,"24":1,"55":1,"57":1,"61":2,"82":1,"90":2,"96":1,"100":1,"111":1,"123":1,"124":1,"160":1,"181":2,"182":1,"183":11}}],["folder",{"2":{"2":1,"11":3,"13":1,"89":4,"183":4}}],["forward",{"2":{"183":1}}],["forwarded",{"2":{"67":12,"182":16}}],["forget",{"2":{"182":1,"183":1}}],["forbidden",{"2":{"167":1,"175":1}}],["forum",{"2":{"76":1}}],["forefront",{"2":{"69":1}}],["forever",{"2":{"58":1,"183":1}}],["formulate",{"2":{"126":1}}],["form",{"2":{"71":1,"182":10,"183":1}}],["former",{"2":{"58":1,"183":1}}],["forms",{"2":{"55":1,"181":1,"182":1}}],["format=",{"2":{"183":2}}],["format=dict",{"2":{"108":2}}],["formatting",{"2":{"54":1,"66":1,"92":1,"144":1,"145":1,"147":1,"152":1,"153":1,"154":1,"160":1,"178":1,"182":3,"183":2}}],["formatted",{"0":{"143":1,"172":1},"1":{"144":1,"145":1,"173":1,"174":1,"175":1},"2":{"0":2,"91":1,"92":1,"102":1,"107":1,"108":1,"144":1,"145":1,"154":1,"173":1,"174":1,"175":1,"181":1,"182":1}}],["format",{"2":{"10":1,"21":1,"54":1,"55":2,"66":1,"88":1,"91":2,"102":1,"104":1,"106":1,"107":2,"108":3,"110":1,"118":1,"121":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"150":1,"152":1,"153":1,"154":2,"158":2,"160":3,"162":1,"164":2,"181":2,"182":1,"183":12}}],["forth",{"2":{"41":1}}],["fortunately",{"2":{"6":1,"78":1,"108":1}}],["forces",{"2":{"144":1}}],["force=true",{"2":{"73":1}}],["force",{"2":{"12":1,"18":1,"24":1,"35":2,"41":1,"73":2,"183":3}}],["for",{"0":{"45":1,"77":1,"79":1,"84":1,"107":1,"108":1,"179":1,"180":1,"181":1,"182":1},"2":{"0":5,"2":6,"3":1,"4":2,"5":1,"6":2,"7":14,"8":1,"10":9,"12":2,"13":2,"14":2,"15":2,"16":1,"17":3,"18":7,"19":2,"21":7,"22":1,"23":5,"24":14,"26":2,"27":1,"30":5,"31":8,"32":2,"33":1,"35":2,"36":3,"37":3,"39":1,"41":2,"42":2,"47":1,"48":1,"49":1,"50":3,"51":1,"52":6,"54":5,"55":30,"57":2,"58":12,"59":1,"60":3,"61":28,"63":6,"65":3,"66":5,"67":65,"69":2,"71":2,"72":1,"74":1,"75":1,"77":4,"78":4,"79":3,"81":1,"82":1,"83":1,"84":1,"85":1,"86":3,"88":5,"89":4,"90":3,"91":2,"92":4,"93":1,"95":3,"97":3,"98":3,"99":1,"101":2,"102":2,"105":2,"106":9,"107":7,"108":13,"110":3,"111":3,"116":1,"120":2,"121":1,"123":1,"124":2,"126":4,"127":2,"128":1,"130":2,"131":1,"132":5,"133":2,"134":3,"136":2,"138":3,"140":1,"141":3,"142":2,"144":4,"145":4,"147":3,"149":2,"150":1,"152":2,"153":6,"154":3,"157":1,"158":1,"159":1,"160":8,"161":1,"162":2,"163":1,"164":2,"165":1,"166":1,"167":7,"168":4,"169":4,"170":1,"171":1,"173":2,"174":2,"175":8,"177":2,"179":3,"180":4,"181":65,"182":267,"183":368}}],["five",{"2":{"183":1}}],["fits",{"2":{"99":1,"136":1,"138":2}}],["fit",{"2":{"57":1,"58":2,"171":1,"182":3,"183":2}}],["fixes",{"2":{"181":1}}],["fixed",{"2":{"88":1,"181":1,"183":2}}],["fix",{"2":{"52":2,"55":1,"73":1,"110":1,"112":1,"181":4,"183":1}}],["fixing",{"0":{"54":1,"109":1},"1":{"110":1,"111":1,"112":1},"2":{"10":1,"51":1,"52":1,"55":4,"106":1,"108":1,"181":21}}],["field3",{"2":{"183":4}}],["field2",{"2":{"183":4}}],["field1",{"2":{"183":8}}],["fieldnames",{"2":{"108":1}}],["fields",{"2":{"24":1,"55":4,"63":1,"86":1,"88":1,"107":1,"108":2,"140":1,"141":1,"142":1,"181":6,"182":21,"183":36}}],["field",{"2":{"10":5,"52":1,"55":2,"67":1,"97":1,"106":6,"108":8,"181":3,"182":2,"183":19}}],["finished",{"2":{"183":2}}],["finish",{"2":{"141":2,"183":5}}],["finance",{"2":{"61":1}}],["finalizes",{"2":{"183":3}}],["finalize",{"2":{"183":17}}],["finally",{"2":{"66":1,"183":1}}],["final",{"2":{"6":1,"55":2,"61":2,"66":1,"67":5,"107":1,"127":1,"181":1,"182":21}}],["finetuning",{"2":{"91":5,"183":2}}],["fine",{"0":{"91":1},"2":{"31":1,"91":1,"183":1}}],["finders",{"2":{"182":1}}],["finder",{"2":{"67":10,"182":23}}],["findings",{"2":{"120":1}}],["finding",{"2":{"41":1,"67":2,"182":2}}],["find",{"2":{"2":1,"8":1,"11":1,"12":1,"13":1,"23":1,"26":1,"29":1,"35":1,"41":2,"52":1,"55":1,"57":2,"58":3,"61":5,"64":2,"66":3,"67":7,"93":1,"181":3,"182":51,"183":21}}],["finds",{"2":{"2":1,"67":1,"181":1,"182":14}}],["filled",{"2":{"183":2}}],["fill",{"2":{"71":1,"108":1,"160":1,"182":1,"183":14}}],["fills",{"2":{"7":1}}],["filechunker",{"2":{"182":4,"183":1}}],["filenames",{"2":{"67":1,"182":1}}],["filename",{"2":{"24":2,"91":1,"183":2}}],["file",{"2":{"4":1,"11":6,"24":3,"28":1,"32":1,"37":1,"67":4,"73":1,"79":1,"91":2,"93":1,"152":1,"153":1,"154":1,"182":10,"183":23}}],["files`",{"2":{"67":1,"182":1}}],["files",{"2":{"2":2,"24":1,"64":1,"67":6,"72":1,"95":1,"182":14}}],["filtered",{"2":{"61":1,"67":2,"182":4}}],["filtering",{"2":{"8":1,"17":1,"66":2,"67":2,"182":6}}],["filter",{"2":{"2":2,"7":1,"67":7,"120":2,"182":13,"183":1}}],["filters",{"2":{"2":2,"8":1,"66":1}}],["fired",{"2":{"167":1,"175":1}}],["firefunction",{"2":{"31":2}}],["fireworks",{"0":{"31":1},"2":{"0":1,"23":1,"27":1,"31":4,"70":1,"108":1,"183":2}}],["fireworksopenaischema",{"2":{"0":1,"31":2,"183":2}}],["first",{"2":{"1":1,"2":1,"6":1,"7":7,"10":2,"13":1,"15":1,"16":1,"23":1,"24":2,"26":1,"28":1,"37":1,"39":1,"41":1,"55":1,"58":3,"63":2,"66":1,"67":2,"73":2,"74":1,"88":1,"89":3,"92":2,"106":2,"107":1,"118":1,"144":1,"162":1,"164":1,"166":1,"168":1,"169":1,"174":1,"181":2,"182":14,"183":26}}],["fur",{"2":{"183":1}}],["furthermore",{"2":{"108":1}}],["further",{"2":{"58":2,"88":2,"181":1,"183":2}}],["fusion",{"2":{"182":8,"183":2}}],["fulfills",{"2":{"142":1}}],["fulfilling",{"2":{"110":1}}],["fully",{"2":{"61":1,"67":1,"88":1,"142":3,"182":1}}],["full",{"2":{"7":1,"67":3,"88":1,"182":10,"183":9}}],["fuzzy",{"2":{"58":1,"183":1}}],["functor",{"2":{"55":1,"181":2}}],["functionality",{"2":{"51":1,"59":1,"142":1,"167":1,"175":1,"180":3,"181":1,"182":3,"183":3}}],["functionalities",{"2":{"0":1,"142":1,"183":1}}],["function",{"0":{"47":1},"2":{"6":1,"7":2,"8":1,"10":4,"12":1,"16":1,"17":1,"20":1,"21":5,"22":2,"24":1,"31":1,"45":1,"47":1,"49":2,"50":1,"52":2,"54":6,"55":37,"58":12,"61":2,"63":2,"64":1,"66":1,"67":20,"73":2,"87":1,"88":2,"89":1,"91":1,"92":1,"102":1,"106":4,"108":10,"110":3,"118":1,"120":1,"142":1,"145":3,"147":3,"167":3,"175":3,"181":58,"182":42,"183":101}}],["functions",{"0":{"10":1,"106":1},"2":{"0":2,"2":1,"7":1,"10":5,"15":1,"21":2,"23":1,"24":1,"27":1,"37":1,"52":4,"54":1,"55":7,"57":2,"60":1,"61":2,"63":5,"64":1,"66":1,"67":1,"73":1,"82":1,"85":1,"87":1,"89":2,"92":1,"105":1,"106":4,"166":1,"167":1,"168":1,"169":1,"174":1,"175":1,"181":8,"182":12,"183":11}}],["func",{"2":{"55":2,"181":4,"182":1}}],["future",{"2":{"1":1,"4":2,"23":1,"61":1,"89":1,"108":1,"180":1,"181":1,"182":1,"183":2}}],["ml",{"2":{"171":1}}],["mm",{"2":{"152":2,"153":3}}],["mdoel",{"2":{"107":1}}],["mdash",{"2":{"50":1,"55":9,"58":5,"67":6,"179":2,"180":1,"181":37,"182":142,"183":165}}],["m1",{"2":{"37":1}}],["mcts",{"2":{"21":1,"52":1,"55":1,"181":1}}],["m",{"0":{"78":1},"2":{"21":2,"23":1,"26":1,"28":3,"30":1,"31":2,"34":1,"37":1,"42":1,"54":2,"55":3,"87":3,"108":1,"181":3,"183":5}}],["msg1",{"2":{"183":2}}],["msgs",{"2":{"183":1}}],["msg=aigenerate",{"2":{"183":7}}],["msg",{"2":{"12":2,"16":5,"19":4,"20":2,"22":4,"23":2,"26":1,"27":1,"29":1,"31":2,"35":1,"40":2,"41":1,"45":1,"46":1,"47":2,"55":12,"61":1,"67":2,"78":2,"88":4,"93":5,"107":3,"108":2,"181":9,"182":6,"183":135}}],["myfield",{"2":{"183":1}}],["myfunction",{"2":{"183":2}}],["mytemplates",{"2":{"181":1}}],["mytype",{"2":{"88":1}}],["myaijudgemodel",{"2":{"182":1}}],["myadd",{"2":{"167":6,"175":6}}],["myabstractresponse",{"2":{"88":5}}],["mybool",{"2":{"88":2}}],["mymodel",{"2":{"86":1}}],["mymeasurementwrapper",{"2":{"183":1}}],["mymeasurement",{"2":{"19":5,"183":32}}],["myschema",{"2":{"86":2}}],["myreranker",{"2":{"63":4,"67":2,"182":2}}],["my",{"0":{"92":1},"2":{"12":1,"13":1,"23":3,"26":2,"31":1,"34":1,"35":1,"41":1,"74":1,"84":1,"86":1,"87":3,"108":1,"183":13}}],["music",{"2":{"152":1,"153":1}}],["must",{"2":{"1":1,"12":2,"21":2,"37":1,"41":2,"54":2,"55":8,"67":1,"89":3,"95":1,"105":1,"108":3,"110":3,"111":1,"121":1,"123":1,"124":1,"127":1,"131":1,"136":2,"138":2,"152":1,"153":1,"154":2,"156":1,"160":1,"164":1,"167":2,"171":1,"175":2,"177":1,"180":1,"181":12,"182":8,"183":18}}],["murmured",{"2":{"58":1,"183":1}}],["mutates",{"2":{"67":1,"182":1}}],["mutated",{"2":{"67":1,"182":4}}],["mutating",{"2":{"55":1,"66":1,"67":1,"181":2,"182":2}}],["mutable",{"2":{"55":1,"183":3}}],["multihits",{"2":{"182":1}}],["multihop",{"2":{"182":1}}],["multicandidatechunks",{"2":{"182":2,"183":1}}],["multifinder",{"2":{"67":1,"182":4,"183":1}}],["multiindex",{"2":{"67":2,"182":14,"183":1}}],["multiplier",{"2":{"182":5}}],["multiplication",{"2":{"47":1}}],["multiple",{"0":{"46":1},"2":{"6":1,"8":1,"14":1,"21":1,"46":1,"55":3,"58":3,"63":1,"67":2,"88":1,"93":1,"98":1,"102":1,"105":1,"107":1,"108":1,"167":1,"168":2,"169":2,"175":1,"181":6,"182":10,"183":24}}],["multi",{"0":{"87":1},"2":{"35":1,"42":1,"67":3,"98":1,"181":2,"182":7,"183":6}}],["much",{"0":{"77":1},"2":{"7":2,"8":1,"13":1,"24":1,"41":1,"55":1,"67":2,"106":2,"108":1,"181":3,"182":2,"183":3}}],["mix",{"2":{"182":1,"183":1}}],["mixed",{"2":{"108":1}}],["mixtral",{"2":{"28":1,"30":1,"31":2,"37":2,"108":2,"183":1}}],["million",{"2":{"98":2}}],["mickey",{"2":{"58":1,"183":1}}],["middleware",{"2":{"183":1}}],["middle",{"2":{"41":1,"118":1,"181":1,"182":1}}],["mimics",{"2":{"58":1,"183":1}}],["mimic",{"2":{"27":1,"88":1,"101":1,"181":2,"183":3}}],["mind",{"2":{"108":1}}],["minute",{"2":{"74":5}}],["minutes",{"2":{"11":2,"77":2,"183":3}}],["min",{"2":{"58":1,"67":8,"182":12,"183":1}}],["minimize",{"2":{"182":1}}],["minimal",{"2":{"59":1}}],["minimum",{"2":{"2":1,"58":2,"67":2,"78":1,"95":1,"182":7,"183":2}}],["minichunks",{"2":{"58":1,"183":1}}],["mini",{"2":{"55":2,"78":2,"181":2,"182":2}}],["mistakes",{"2":{"110":2}}],["mistrall",{"2":{"183":2}}],["mistralai",{"0":{"23":1,"26":1},"2":{"23":3,"25":1,"26":1,"27":1,"70":1,"79":2,"108":1,"183":5}}],["mistral",{"2":{"0":1,"22":3,"23":7,"26":7,"37":1,"40":1,"47":1,"84":2,"183":22}}],["mistralopenaischema",{"2":{"0":1,"23":2,"26":2,"183":4}}],["missing",{"2":{"7":1,"55":1,"141":1,"142":2,"160":1,"183":6}}],["might",{"2":{"7":1,"10":1,"23":2,"26":1,"55":2,"58":1,"75":2,"76":1,"79":1,"106":1,"181":2,"183":4}}],["madrid",{"2":{"97":1,"98":3}}],["made",{"2":{"52":1,"55":5,"126":1,"153":1,"181":6,"183":2}}],["mapped",{"2":{"183":1}}],["mapping",{"2":{"88":1,"183":2}}],["map",{"2":{"182":1}}],["mapreduce",{"2":{"46":1}}],["magenta",{"2":{"61":1,"182":3}}],["mascarading",{"2":{"183":1}}],["mask",{"2":{"57":1}}],["mastering",{"2":{"61":1}}],["master",{"2":{"12":2,"35":1,"41":1,"183":5}}],["maintaining",{"2":{"178":1}}],["maintain",{"2":{"153":1,"183":2}}],["mainly",{"2":{"132":1}}],["main",{"2":{"52":2,"57":1,"60":1,"61":1,"63":3,"64":1,"67":1,"89":1,"104":1,"108":1,"158":1,"180":1,"182":3,"183":7}}],["machine",{"2":{"61":1}}],["machines",{"2":{"35":1}}],["mac",{"2":{"37":1,"79":1}}],["macros",{"2":{"55":1,"183":5}}],["macro",{"2":{"15":1,"34":1,"87":3,"97":1,"110":1,"183":8}}],["may",{"2":{"24":1,"34":1,"42":1,"89":2,"140":1,"142":1,"152":1,"180":1,"181":1,"182":1,"183":6}}],["maybeextract",{"2":{"19":1,"183":18}}],["markup",{"2":{"183":1}}],["marks",{"2":{"182":1,"183":1}}],["marked",{"2":{"126":1,"183":3}}],["markdown",{"2":{"20":3,"152":1,"153":1,"154":1,"160":1,"164":2,"183":20}}],["marsaglia",{"2":{"181":1}}],["mars",{"2":{"17":1,"183":2}}],["margin=",{"2":{"182":1}}],["margin",{"2":{"2":1,"182":4}}],["manner",{"2":{"152":1,"182":3}}],["management",{"2":{"183":1}}],["managed",{"2":{"181":1,"183":4}}],["manage",{"2":{"181":1}}],["manages",{"2":{"108":1,"181":1,"183":1}}],["manageable",{"2":{"58":1,"66":1,"181":1,"183":1}}],["managing",{"2":{"63":1}}],["manually",{"2":{"27":1,"28":1,"73":1}}],["manymeasurements",{"2":{"19":1,"183":2}}],["many",{"0":{"75":1},"2":{"19":1,"23":1,"27":1,"52":2,"57":1,"69":1,"70":1,"84":1,"88":1,"89":1,"102":1,"108":1,"130":1,"131":1,"183":5}}],["mandarin",{"2":{"14":1}}],["manipulations",{"2":{"159":1}}],["manipulation",{"2":{"2":1,"56":1,"67":1,"182":1}}],["matrices",{"2":{"182":5}}],["matrix",{"2":{"22":1,"46":2,"47":1,"66":1,"182":29,"183":4}}],["mat",{"2":{"182":2}}],["matlab",{"2":{"61":1}}],["matter",{"2":{"36":1}}],["materialized",{"2":{"182":1}}],["materialize",{"2":{"45":1,"183":1}}],["material",{"2":{"12":1}}],["matches",{"2":{"182":2,"183":5}}],["matched",{"2":{"130":1,"131":1,"134":1,"182":2}}],["match",{"2":{"7":2,"11":1,"24":3,"58":7,"61":5,"66":1,"67":9,"182":16,"183":9}}],["matching",{"2":{"7":5,"58":1,"61":1,"67":3,"182":9,"183":1}}],["maximize",{"2":{"182":1}}],["maximum",{"2":{"18":1,"21":2,"50":1,"55":4,"58":4,"74":1,"120":1,"179":1,"181":6,"182":3,"183":15}}],["maxes",{"2":{"74":1}}],["max",{"2":{"8":1,"20":1,"21":4,"50":1,"54":2,"55":21,"57":1,"58":21,"67":3,"88":1,"90":1,"108":1,"179":1,"181":29,"182":14,"183":50}}],["makie",{"2":{"67":1,"182":1}}],["making",{"2":{"0":1,"100":1,"105":1}}],["makes",{"2":{"37":1,"106":1,"152":1}}],["make",{"2":{"4":1,"6":1,"7":1,"8":2,"11":1,"29":1,"37":2,"55":2,"56":1,"67":3,"74":1,"79":2,"89":1,"95":2,"108":2,"116":1,"123":1,"124":1,"138":1,"152":3,"153":1,"162":1,"164":1,"181":2,"182":7,"183":8}}],["mention",{"2":{"152":1}}],["mentioning",{"2":{"142":1,"171":1}}],["mentioned",{"2":{"127":1,"132":1,"142":1,"171":1}}],["merely",{"2":{"92":1,"183":1}}],["merged",{"2":{"182":2}}],["merges",{"2":{"182":3}}],["merge",{"2":{"67":2,"182":5,"183":1}}],["memory`",{"2":{"108":1}}],["memory",{"2":{"61":1,"110":1,"159":1,"182":2}}],["memories",{"2":{"12":1,"58":1,"183":1}}],["melody",{"2":{"58":1,"183":1}}],["meetings",{"2":{"152":2,"153":2}}],["meeting",{"2":{"142":1}}],["meets",{"2":{"140":2,"142":1}}],["meet",{"2":{"39":1,"40":1,"42":1,"142":1}}],["messaging",{"2":{"140":1,"183":3}}],["message=true",{"2":{"78":2}}],["message",{"0":{"34":1,"39":1},"2":{"21":1,"52":2,"54":1,"55":18,"61":1,"67":1,"75":1,"78":1,"84":2,"87":2,"89":2,"93":3,"97":2,"102":3,"107":2,"108":3,"110":1,"111":2,"114":1,"140":1,"149":1,"181":21,"182":4,"183":162}}],["message`",{"2":{"21":1,"54":1,"55":1,"181":1}}],["messagese",{"2":{"183":1}}],["messages",{"0":{"104":1},"2":{"12":2,"23":1,"24":1,"27":1,"36":1,"55":1,"78":1,"87":1,"88":1,"89":1,"91":1,"92":5,"93":1,"100":1,"103":1,"104":2,"107":6,"108":1,"181":4,"183":54}}],["mesages",{"2":{"24":1}}],["mechanisms",{"2":{"106":1}}],["mechanism",{"2":{"23":1,"26":1,"58":1,"108":1,"183":1}}],["medium",{"2":{"23":1,"26":1,"182":4}}],["measuring",{"2":{"182":4}}],["measurement",{"2":{"183":1}}],["measurements",{"2":{"19":2,"183":16}}],["measures",{"2":{"58":2,"67":1,"182":1,"183":2}}],["meantime",{"2":{"183":1}}],["meant",{"2":{"110":1,"111":1,"183":2}}],["meaningful",{"2":{"152":1}}],["meaning",{"2":{"78":2,"133":1,"182":1}}],["means",{"2":{"18":1,"32":1,"37":1,"57":2,"61":1,"67":2,"74":1,"182":3,"183":2}}],["mean",{"2":{"1":1,"7":2,"182":2}}],["me",{"2":{"16":2,"22":3,"23":1,"26":1,"30":2,"31":2,"34":1,"39":1,"42":1,"45":2,"46":4,"47":2,"58":1,"82":1,"88":2,"89":4,"171":1,"183":10}}],["meticulously",{"2":{"144":1,"145":1,"147":1,"153":1}}],["meta",{"2":{"93":1,"183":12}}],["metaprogramming",{"2":{"61":1}}],["metadatamessage",{"2":{"183":2}}],["metadata=true",{"2":{"2":1,"8":1}}],["metadata",{"0":{"119":1},"1":{"120":1,"121":1},"2":{"2":4,"8":1,"66":1,"67":1,"93":5,"120":2,"121":1,"132":1,"182":14,"183":39}}],["met",{"2":{"55":12,"88":2,"108":1,"181":16}}],["methoderror",{"2":{"108":1}}],["methods",{"2":{"55":3,"66":1,"67":1,"100":1,"108":1,"181":3,"182":3,"183":6}}],["method",{"2":{"10":1,"52":2,"55":1,"58":1,"63":2,"67":14,"86":1,"100":1,"101":1,"106":1,"179":2,"181":39,"182":158,"183":101}}],["metrics",{"2":{"6":1}}],["move",{"2":{"182":1,"183":1}}],["moved",{"2":{"1":1,"180":1,"181":1,"182":1}}],["mock",{"2":{"181":1}}],["monitoring",{"2":{"183":2}}],["month",{"2":{"76":1}}],["monte",{"2":{"21":1,"52":1,"55":1,"181":3}}],["money",{"2":{"76":1,"183":1}}],["moonlight",{"2":{"58":2,"183":2}}],["mouse",{"2":{"58":1,"183":1}}],["modal",{"2":{"183":2}}],["modality",{"2":{"56":1}}],["modifies",{"2":{"183":2}}],["modified",{"2":{"182":1,"183":1}}],["modification",{"2":{"183":1}}],["modify",{"2":{"24":1}}],["modular",{"2":{"60":1,"181":1}}],["modules",{"2":{"57":1}}],["module",{"0":{"180":1},"2":{"1":1,"10":1,"21":1,"24":1,"48":2,"49":1,"51":2,"52":1,"55":4,"57":1,"59":2,"61":1,"106":1,"180":4,"181":3,"182":2,"183":4}}],["mode=true",{"2":{"183":1}}],["modes",{"2":{"182":1}}],["modern",{"2":{"126":2}}],["moderation",{"2":{"17":1}}],["mode",{"2":{"24":2,"67":1,"108":2,"182":1,"183":15}}],["model3",{"2":{"183":1}}],["model2",{"2":{"183":1}}],["model1",{"2":{"183":3}}],["modeling",{"2":{"61":1}}],["model>",{"2":{"27":1}}],["model=pt",{"2":{"67":1,"182":1}}],["model=",{"2":{"20":2,"21":1,"22":3,"23":3,"26":2,"27":1,"30":2,"31":3,"35":1,"37":1,"43":1,"54":1,"55":3,"65":1,"78":2,"93":3,"106":2,"107":1,"181":3,"182":1,"183":47}}],["modelspec",{"2":{"183":3}}],["models",{"0":{"22":1,"29":1,"37":1,"42":1,"78":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1},"2":{"0":1,"10":1,"15":1,"17":1,"22":1,"23":4,"26":3,"28":2,"29":2,"32":1,"36":1,"37":4,"39":1,"42":1,"48":1,"55":1,"58":2,"67":2,"69":2,"70":1,"71":5,"75":1,"78":3,"84":3,"85":1,"86":1,"93":1,"98":1,"100":1,"101":1,"103":1,"106":1,"108":1,"144":1,"145":1,"168":1,"169":1,"173":1,"174":1,"175":1,"181":2,"182":7,"183":38}}],["model",{"0":{"0":1,"15":1,"85":1,"91":1,"101":1},"2":{"0":3,"6":2,"7":2,"10":8,"15":8,"16":1,"17":1,"18":1,"21":3,"22":1,"23":2,"26":1,"27":2,"28":4,"29":5,"30":4,"31":6,"32":2,"33":1,"34":2,"35":1,"37":3,"39":2,"40":2,"41":1,"42":6,"45":2,"46":3,"47":1,"52":8,"54":3,"55":16,"59":1,"60":3,"61":2,"63":2,"65":4,"67":43,"77":1,"78":2,"83":1,"84":1,"85":6,"86":3,"87":2,"88":1,"91":1,"92":2,"93":3,"97":3,"100":3,"101":1,"102":1,"103":1,"104":3,"106":8,"107":4,"108":17,"123":2,"124":4,"144":1,"150":1,"167":1,"171":5,"175":1,"181":19,"182":123,"183":269}}],["moment",{"2":{"1":1,"23":1,"27":1,"32":1,"43":1,"183":3}}],["mostly",{"2":{"91":1}}],["most",{"2":{"1":1,"8":1,"23":1,"26":1,"55":2,"61":1,"63":1,"66":2,"67":3,"83":1,"118":1,"120":2,"121":2,"131":1,"132":1,"136":1,"138":1,"150":1,"154":1,"158":1,"171":1,"181":4,"182":10,"183":12}}],["moreover",{"2":{"24":1}}],["more",{"2":{"0":2,"2":1,"5":3,"6":4,"7":4,"8":1,"10":1,"12":2,"13":3,"15":2,"16":1,"17":3,"19":2,"20":1,"21":2,"23":1,"24":3,"26":1,"28":1,"29":1,"37":1,"43":1,"50":1,"55":4,"56":1,"57":1,"58":1,"61":4,"66":1,"67":6,"74":1,"75":1,"76":1,"80":1,"81":1,"83":1,"84":1,"85":1,"88":1,"90":1,"92":1,"95":1,"98":2,"105":1,"106":2,"107":1,"108":5,"110":1,"123":1,"132":1,"133":1,"179":1,"181":11,"182":34,"183":59}}],["❌",{"2":{"0":26}}],["✅",{"2":{"0":46}}],["w",{"2":{"182":3}}],["wp",{"2":{"20":1,"183":2}}],["www",{"2":{"20":1,"183":2}}],["wraps",{"2":{"57":1,"182":1,"183":7}}],["wrap",{"2":{"57":2,"58":2,"93":6,"182":1,"183":12}}],["wrapped",{"2":{"93":1,"181":1,"183":1}}],["wrapper",{"2":{"19":1,"52":1,"55":3,"58":2,"67":1,"97":1,"181":3,"182":2,"183":20}}],["wrapping",{"2":{"48":1,"57":1}}],["wrong",{"2":{"54":1,"55":1,"88":1,"181":1,"183":2}}],["written",{"2":{"20":1,"140":3,"142":1,"183":2}}],["writing",{"2":{"13":1,"31":1,"36":1,"71":1,"162":1,"164":1,"166":1,"167":3,"174":1,"175":3,"183":2}}],["writer",{"2":{"140":2,"162":2,"164":1}}],["write",{"2":{"4":1,"11":1,"24":2,"104":1,"105":1,"108":4,"110":2,"111":1,"131":1,"160":3,"162":2,"164":3,"166":1,"167":2,"174":1,"175":2,"181":2,"183":2}}],["walk",{"2":{"99":1}}],["walkthrough",{"0":{"107":1,"108":1},"2":{"92":1}}],["wave",{"2":{"58":1,"183":1}}],["wake",{"2":{"58":1,"183":1}}],["warning",{"2":{"182":1,"183":2}}],["warnings",{"2":{"55":1,"181":1}}],["wars",{"2":{"12":1,"35":1,"41":1,"183":5}}],["waiting",{"2":{"108":1}}],["wait",{"2":{"21":1,"54":1,"55":2,"181":2,"183":2}}],["way",{"2":{"21":1,"24":1,"29":1,"52":1,"55":1,"63":1,"77":1,"79":1,"86":1,"87":1,"105":1,"131":1,"167":1,"175":1,"181":1,"182":1,"183":3}}],["ways",{"2":{"12":1,"41":1,"85":1,"92":1,"183":1}}],["was",{"2":{"7":1,"8":1,"10":1,"24":2,"47":1,"55":2,"58":1,"63":1,"67":1,"73":1,"77":1,"88":1,"106":1,"108":1,"110":1,"126":1,"128":1,"171":2,"181":4,"182":5,"183":14}}],["wanted",{"2":{"55":1,"181":1,"183":2}}],["wants",{"2":{"15":1}}],["want",{"2":{"2":1,"3":1,"7":2,"10":3,"11":1,"19":1,"21":1,"24":1,"54":1,"55":2,"61":2,"63":1,"66":2,"67":3,"74":2,"83":1,"88":2,"89":3,"97":1,"100":1,"103":1,"105":1,"106":3,"107":1,"181":2,"182":7,"183":37}}],["won",{"2":{"27":1,"28":1,"85":1}}],["wonders",{"2":{"8":1}}],["worth",{"0":{"77":1},"2":{"77":1}}],["worst",{"2":{"58":1,"183":1}}],["worry",{"2":{"37":1}}],["words",{"2":{"57":5,"58":13,"61":1,"67":1,"90":2,"120":1,"121":1,"130":1,"131":1,"132":1,"158":2,"160":3,"164":1,"177":1,"182":2,"183":14}}],["word",{"2":{"20":1,"21":4,"54":4,"55":3,"57":1,"67":2,"77":1,"110":3,"111":3,"112":1,"114":1,"116":1,"118":2,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":2,"137":1,"138":2,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":1,"150":1,"152":1,"153":1,"154":1,"157":1,"158":2,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"173":1,"174":1,"175":1,"177":1,"178":1,"181":3,"182":9,"183":2}}],["wordcount",{"2":{"13":1,"24":1,"89":1,"183":3}}],["world",{"2":{"12":1,"13":1,"14":1,"24":4,"55":3,"58":3,"104":1,"105":1,"107":2,"108":1,"116":1,"120":2,"123":1,"124":1,"126":1,"130":1,"131":1,"133":1,"136":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"150":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"173":1,"174":1,"175":1,"178":1,"181":1,"183":21}}],["workaround",{"2":{"108":1}}],["workload",{"2":{"61":1}}],["workflow",{"0":{"11":1},"2":{"52":1,"55":1,"140":2,"141":2,"142":2,"183":1}}],["workflows",{"0":{"21":1},"2":{"0":1,"16":1,"21":1,"51":1,"85":1,"106":1,"180":1}}],["working",{"0":{"32":1},"1":{"33":1,"34":1,"35":1,"36":1},"2":{"10":1,"22":1,"48":1,"56":1,"65":1,"76":1,"84":1,"85":1,"106":1,"110":1,"111":1,"112":1,"182":1,"183":2}}],["work",{"2":{"7":1,"11":1,"24":1,"32":1,"37":1,"55":1,"63":1,"88":1,"92":1,"93":1,"95":1,"103":1,"140":1,"181":1,"182":2}}],["workspace",{"2":{"183":2}}],["works",{"0":{"99":1},"1":{"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1},"2":{"0":1,"23":2,"26":1,"58":1,"79":1,"99":1,"107":1,"108":2,"182":1,"183":7}}],["would",{"0":{"8":1,"91":1},"2":{"3":1,"4":1,"7":2,"13":1,"24":3,"39":1,"61":1,"63":1,"65":2,"73":1,"74":2,"86":1,"87":1,"88":2,"89":1,"93":3,"108":1,"130":1,"131":1,"182":3,"183":3}}],["welcome",{"2":{"182":1}}],["well",{"2":{"2":1,"21":1,"29":1,"31":1,"54":1,"55":1,"58":1,"108":4,"127":1,"140":3,"142":1,"168":1,"169":1,"181":2,"182":5,"183":5}}],["weaker",{"2":{"183":1}}],["weaving",{"2":{"171":1}}],["weather",{"2":{"19":3,"183":9}}],["web",{"2":{"61":2,"123":1,"124":9,"163":1,"182":10}}],["websearch",{"2":{"49":1,"50":4,"179":5,"183":1}}],["website",{"2":{"11":1,"72":1}}],["were",{"2":{"20":1,"37":1,"65":1,"153":1,"182":1,"183":1}}],["weighs",{"2":{"19":1,"183":7}}],["weight",{"2":{"19":2,"183":14}}],["went",{"2":{"10":1,"106":1}}],["we",{"0":{"8":1,"90":1},"2":{"2":1,"3":3,"4":1,"5":3,"6":4,"7":8,"8":1,"10":6,"11":2,"12":1,"13":1,"15":1,"17":1,"18":2,"19":1,"20":1,"21":13,"22":2,"23":5,"24":3,"26":3,"27":1,"30":1,"31":1,"32":2,"36":2,"37":1,"42":1,"45":1,"54":13,"55":24,"58":1,"59":1,"61":5,"63":1,"65":2,"66":2,"67":4,"71":2,"74":5,"87":2,"88":14,"89":2,"90":1,"96":1,"99":1,"102":2,"103":1,"105":4,"106":4,"107":9,"108":23,"181":22,"182":24,"183":60}}],["wise",{"2":{"182":1}}],["wisp",{"2":{"58":1,"183":1}}],["wiki",{"2":{"181":2}}],["wikipedia",{"2":{"181":2,"182":3}}],["width",{"2":{"57":1,"58":3,"182":5,"183":12}}],["wide",{"2":{"30":1,"31":1,"55":1,"177":1,"181":1}}],["wins",{"2":{"181":9}}],["winning",{"2":{"55":2,"181":2}}],["winks",{"2":{"41":2}}],["win",{"2":{"11":1}}],["windows",{"2":{"58":2,"61":1,"79":1,"183":2}}],["window",{"2":{"2":1,"58":2,"79":1,"95":1,"181":1,"182":12,"183":3}}],["will",{"2":{"1":2,"2":2,"4":1,"10":1,"13":2,"18":2,"19":1,"21":2,"24":1,"28":1,"35":1,"41":2,"52":1,"54":1,"55":24,"58":5,"61":1,"63":1,"65":1,"67":21,"69":1,"74":1,"76":1,"77":2,"79":1,"87":2,"89":4,"92":3,"93":1,"95":2,"96":1,"97":1,"102":4,"106":1,"108":1,"110":1,"118":1,"121":1,"136":1,"138":1,"140":1,"142":1,"166":1,"167":1,"168":2,"169":2,"174":1,"175":1,"177":1,"181":36,"182":40,"183":68}}],["without",{"2":{"41":1,"55":1,"58":1,"63":1,"73":1,"92":1,"105":1,"124":1,"126":1,"149":1,"153":1,"171":1,"182":3,"183":5}}],["within",{"2":{"10":1,"58":2,"67":1,"106":1,"126":1,"181":2,"182":7,"183":14}}],["with",{"0":{"1":1,"21":1,"32":1,"33":1,"37":1,"38":1,"43":1,"44":1,"97":1,"98":1},"1":{"2":1,"33":1,"34":2,"35":2,"36":2,"38":1,"39":2,"40":2,"41":2,"42":2,"43":1,"44":1,"45":2,"46":2,"47":2},"2":{"0":4,"1":3,"2":1,"6":2,"7":4,"8":1,"10":12,"11":2,"12":2,"13":4,"14":1,"15":1,"18":1,"19":5,"20":2,"21":5,"22":2,"23":5,"24":11,"26":2,"27":4,"28":2,"29":1,"30":3,"31":4,"32":1,"34":2,"35":1,"36":1,"37":2,"39":2,"40":1,"41":1,"42":4,"45":1,"46":1,"48":1,"52":5,"54":6,"55":27,"56":2,"58":8,"59":3,"60":1,"61":10,"63":3,"64":4,"65":1,"66":2,"67":24,"69":1,"71":1,"72":2,"73":1,"74":2,"77":4,"78":1,"79":1,"84":3,"85":2,"86":1,"87":4,"88":5,"89":2,"91":3,"92":2,"93":7,"95":3,"97":2,"99":1,"100":2,"101":1,"104":3,"105":7,"106":11,"107":2,"108":9,"110":3,"111":2,"112":1,"114":1,"116":1,"118":2,"120":1,"123":2,"124":2,"127":2,"128":1,"130":1,"131":1,"132":3,"133":2,"134":1,"136":3,"138":2,"140":6,"141":4,"142":3,"144":2,"145":1,"147":1,"150":1,"152":2,"153":3,"154":2,"160":5,"161":2,"163":1,"165":1,"167":2,"168":1,"169":1,"170":1,"171":4,"173":1,"175":2,"181":50,"182":69,"183":152}}],["whose",{"2":{"183":2}}],["who",{"2":{"27":1,"50":2,"154":1,"179":2}}],["whole",{"0":{"7":1},"2":{"10":1,"37":1,"87":2,"103":1,"106":1,"167":1,"175":1,"181":1,"183":5}}],["while",{"2":{"110":1,"167":1,"175":1,"181":1,"183":1}}],["whispered",{"2":{"58":4,"183":4}}],["white",{"2":{"21":1,"54":1,"55":1,"58":1,"181":1,"183":6}}],["whichever",{"2":{"46":1}}],["which",{"2":{"0":1,"7":3,"10":3,"17":1,"21":1,"24":1,"28":1,"34":1,"37":2,"42":1,"52":4,"55":4,"58":2,"60":2,"61":2,"63":1,"66":1,"67":5,"74":1,"83":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"106":3,"107":1,"108":2,"126":2,"140":1,"152":1,"167":1,"175":1,"181":5,"182":23,"183":44}}],["why",{"0":{"69":1},"1":{"70":1},"2":{"13":1,"19":1,"55":2,"108":1,"110":1,"111":1,"181":1,"183":3}}],["whatever",{"2":{"55":1,"83":1,"181":1,"183":1}}],["what",{"0":{"8":1,"70":1,"92":1},"2":{"2":3,"5":1,"6":1,"7":5,"11":1,"12":2,"13":3,"15":1,"19":1,"21":1,"24":1,"35":1,"40":1,"41":1,"54":1,"55":2,"58":1,"61":4,"67":4,"78":2,"87":3,"88":1,"92":3,"97":4,"98":1,"100":1,"107":3,"110":4,"126":1,"141":1,"150":1,"162":4,"181":2,"182":13,"183":21}}],["whether",{"2":{"7":4,"10":3,"17":1,"50":3,"55":2,"67":4,"106":3,"108":1,"137":2,"179":3,"181":8,"182":12,"183":24}}],["whenever",{"2":{"182":3}}],["when",{"2":{"0":1,"10":4,"11":1,"17":1,"21":2,"22":1,"24":4,"28":1,"52":5,"54":1,"55":2,"61":1,"63":3,"66":1,"67":1,"73":1,"84":1,"85":1,"88":1,"89":1,"100":1,"104":2,"105":2,"106":4,"107":2,"108":3,"150":1,"152":2,"153":1,"157":1,"161":1,"163":1,"165":1,"166":3,"170":1,"173":1,"174":1,"177":1,"181":8,"182":5,"183":31}}],["whereas",{"2":{"7":1,"108":1}}],["where",{"2":{"0":1,"7":1,"10":1,"12":1,"42":1,"52":1,"55":4,"57":1,"58":1,"61":1,"67":3,"73":1,"74":1,"79":1,"88":1,"92":1,"95":1,"105":1,"106":1,"108":1,"130":1,"131":1,"153":2,"160":1,"181":7,"182":22,"183":26}}],["b64",{"2":{"183":4}}],["b",{"2":{"167":2,"175":2,"181":1,"182":3}}],["b>",{"2":{"58":2,"182":2,"183":12}}],["broader",{"2":{"183":2}}],["browser",{"2":{"84":1}}],["br",{"2":{"182":1}}],["brand",{"2":{"108":4}}],["branching",{"2":{"55":1,"181":1}}],["branch",{"2":{"55":1,"181":1}}],["branches",{"2":{"55":4,"58":1,"181":4,"183":1}}],["brackets",{"2":{"61":1,"67":2,"153":1,"182":3}}],["br>",{"2":{"58":1,"182":1,"183":6}}],["breath",{"2":{"111":1,"174":1}}],["break",{"2":{"61":1,"111":1,"112":1}}],["breaks",{"2":{"58":1,"182":1,"183":1}}],["bread",{"2":{"31":2,"108":2}}],["bright",{"2":{"183":2}}],["bring",{"2":{"96":1}}],["brings",{"2":{"12":1}}],["briefly",{"2":{"153":1}}],["brief",{"2":{"24":3,"57":1,"104":1,"105":1,"107":2,"110":1,"116":1,"123":1,"124":1,"130":1,"152":3,"157":1,"158":1,"159":1,"160":7,"161":1,"163":1,"164":1,"165":1,"166":1,"167":1,"170":1,"171":1,"173":1,"174":1,"175":1}}],["bge",{"2":{"30":1}}],["binx",{"2":{"182":4}}],["bin",{"2":{"182":4}}],["binint",{"2":{"182":4}}],["binary",{"2":{"182":18}}],["binarycosinesimilarity",{"2":{"182":5,"183":1}}],["binarybatchembedder",{"2":{"182":5,"183":1}}],["biology",{"2":{"158":1}}],["billing",{"2":{"75":2,"76":1,"95":1}}],["bigger",{"2":{"108":1}}],["big",{"2":{"58":1,"61":1,"65":1,"67":1,"182":1,"183":1}}],["bitmatrix",{"2":{"182":3}}],["bits",{"2":{"182":13,"183":1}}],["bitpackedcosinesimilarity",{"2":{"182":5,"183":1}}],["bitpackedbatchembedder",{"2":{"182":5,"183":1}}],["bit",{"2":{"28":1,"39":1,"66":1,"108":1,"158":1,"182":4}}],["biases",{"2":{"183":1}}],["bias",{"2":{"10":1,"18":1,"106":1,"183":12}}],["blank",{"2":{"149":1}}],["blanksystemuser",{"0":{"149":1},"2":{"92":2,"93":1,"181":1,"183":3}}],["black",{"2":{"21":1,"54":1,"55":1,"58":1,"108":1,"181":1,"182":1,"183":6}}],["blogtitleimagegenerator",{"0":{"177":1}}],["blog",{"2":{"140":1,"164":4,"177":4}}],["blob",{"2":{"58":1,"182":1,"183":11}}],["block",{"2":{"55":15,"67":3,"110":1,"160":1,"181":3,"182":7,"183":27}}],["blocks",{"2":{"55":6,"67":2,"167":2,"175":2,"181":3,"182":2,"183":25}}],["blocking",{"2":{"11":1,"98":1}}],["blue",{"2":{"21":1,"54":1,"55":3,"61":1,"181":3,"182":3,"183":2}}],["bang",{"2":{"97":1}}],["bandit",{"2":{"55":1,"181":2}}],["barplot",{"2":{"67":1,"182":1}}],["bad",{"2":{"55":1,"58":1,"181":1,"183":1}}],["bakllava",{"2":{"42":1,"43":1,"183":3}}],["balance",{"2":{"35":1,"41":2,"75":2}}],["baai",{"2":{"30":1}}],["backpropagate",{"2":{"181":5,"183":1}}],["backticks",{"2":{"110":1,"111":1,"154":1,"183":1}}],["back",{"2":{"55":4,"87":1,"88":1,"107":1,"181":5,"183":5}}],["backspace",{"2":{"24":1}}],["background",{"2":{"11":1,"22":1,"84":1}}],["batched",{"2":{"182":3}}],["batchembedder",{"2":{"67":1,"182":11,"183":1}}],["batch",{"2":{"14":1,"67":3,"182":21}}],["bash",{"2":{"28":1,"170":1}}],["basename",{"2":{"89":1,"183":1}}],["base",{"2":{"23":2,"26":1,"27":1,"55":1,"59":1,"153":1,"182":1,"183":11}}],["base64decode",{"2":{"183":1}}],["base64",{"2":{"10":1,"104":1,"106":1,"183":2}}],["based",{"2":{"7":2,"55":3,"61":2,"63":1,"66":6,"67":8,"110":2,"111":2,"112":1,"116":2,"118":4,"123":1,"124":1,"126":1,"127":1,"128":1,"132":1,"137":1,"138":1,"141":1,"158":2,"168":1,"169":1,"177":1,"181":10,"182":27,"183":17}}],["basic",{"0":{"115":1},"1":{"116":1},"2":{"10":1,"50":3,"100":1,"104":1,"106":1,"179":3}}],["bold",{"2":{"182":4}}],["body",{"2":{"160":2,"183":15}}],["bodies",{"2":{"58":1,"183":1}}],["border",{"2":{"58":4,"182":4,"183":24}}],["boundary",{"2":{"182":1}}],["boundaries",{"2":{"182":3,"183":1}}],["bound",{"2":{"55":7,"181":9}}],["bounds",{"2":{"55":1,"126":1,"181":1}}],["bool=isnothing",{"2":{"183":1}}],["bool=true",{"2":{"55":4,"67":1,"181":1,"182":1,"183":5}}],["bool=false",{"2":{"55":12,"181":6,"182":1,"183":36}}],["boolean",{"2":{"55":2,"88":1,"181":4,"182":13,"183":18}}],["bool",{"2":{"10":2,"21":1,"50":3,"54":1,"55":14,"67":15,"88":3,"106":2,"108":2,"179":3,"181":16,"182":63,"183":86}}],["both",{"2":{"7":4,"21":2,"41":1,"54":2,"55":2,"67":1,"111":1,"181":2,"182":9,"183":3}}],["bm25similarity",{"2":{"67":1,"182":6,"183":1}}],["bm25",{"2":{"8":1,"67":2,"182":15}}],["buffer",{"2":{"183":1}}],["business",{"2":{"160":1}}],["bullets",{"2":{"182":1}}],["bullet",{"2":{"110":5,"152":7,"153":5,"160":3}}],["bundle",{"2":{"91":1}}],["buy",{"2":{"77":1,"95":1}}],["bug",{"2":{"73":2}}],["but",{"2":{"5":1,"6":2,"7":2,"10":3,"11":2,"12":2,"13":1,"18":1,"19":2,"23":1,"24":2,"28":2,"29":1,"30":1,"31":1,"41":2,"50":1,"58":3,"61":1,"67":2,"73":1,"74":1,"79":1,"87":1,"92":1,"98":1,"99":1,"104":1,"106":3,"108":2,"142":1,"153":1,"173":1,"179":1,"181":1,"182":11,"183":25}}],["built",{"2":{"4":1,"60":1,"63":1,"120":1,"181":1,"182":1,"183":1}}],["builds",{"2":{"67":1,"182":4,"183":7}}],["build",{"2":{"1":1,"2":6,"4":1,"8":2,"10":2,"12":1,"52":1,"59":1,"60":4,"61":4,"63":3,"64":3,"66":4,"67":12,"108":1,"182":40,"183":19}}],["building",{"0":{"1":1},"1":{"2":1},"2":{"21":1,"51":1,"55":1,"59":1,"60":1,"61":1,"67":2,"163":1,"180":1,"181":2,"182":6}}],["bearer",{"2":{"183":3}}],["berlin",{"2":{"182":1}}],["belong",{"2":{"153":1,"154":1,"183":1}}],["below",{"2":{"0":1,"22":1,"55":2,"69":1,"73":1,"74":1,"83":1,"108":1,"121":1,"123":1,"131":1,"160":1,"166":1,"174":1,"181":2,"182":1,"183":6}}],["believe",{"2":{"110":1,"111":1,"112":1}}],["begin",{"2":{"110":1,"140":1,"167":3,"175":3,"183":1}}],["beginning",{"2":{"87":1,"126":1,"183":3}}],["beginners",{"2":{"61":1}}],["begins",{"2":{"66":1,"171":1}}],["beneath",{"2":{"58":2,"183":2}}],["benefits",{"2":{"108":1}}],["benefit",{"2":{"55":1,"181":1}}],["behave",{"2":{"104":1}}],["behavior",{"2":{"52":1,"58":2,"63":2,"78":2,"86":1,"93":1,"108":1,"183":2}}],["behavioural",{"2":{"154":1,"158":1}}],["behaviours",{"2":{"55":1,"181":1}}],["behaviour",{"2":{"21":1,"54":1,"55":1,"108":1,"181":1}}],["behind",{"2":{"58":1,"171":1,"183":1}}],["before",{"2":{"55":3,"57":1,"58":1,"74":1,"79":1,"87":1,"95":2,"110":1,"144":2,"152":1,"153":1,"182":1,"183":11}}],["besides",{"2":{"183":2}}],["bespoke",{"2":{"55":1,"183":2}}],["best",{"2":{"5":1,"21":1,"23":2,"26":2,"30":1,"31":1,"34":1,"52":1,"54":1,"55":3,"61":7,"67":1,"89":2,"136":2,"138":2,"142":1,"154":1,"155":1,"156":1,"160":1,"181":12,"182":7,"183":5}}],["been",{"2":{"23":1,"26":1,"42":1,"55":3,"92":1,"105":1,"111":1,"141":1,"142":1,"181":4,"183":5}}],["becoming",{"2":{"12":1}}],["become",{"2":{"12":3,"24":1,"35":1,"41":2,"183":7}}],["because",{"2":{"7":1,"11":1,"21":1,"23":1,"26":1,"28":2,"36":1,"54":1,"55":1,"67":1,"106":1,"108":3,"181":3,"182":2,"183":5}}],["beta",{"2":{"181":3,"183":5}}],["betwee",{"2":{"55":1,"181":1}}],["between",{"2":{"6":1,"7":2,"10":1,"16":2,"21":1,"54":1,"55":5,"57":4,"58":5,"61":2,"100":1,"104":1,"127":1,"140":2,"141":2,"158":1,"181":6,"182":11,"183":15}}],["better",{"2":{"8":1,"50":1,"52":1,"58":2,"67":1,"79":1,"108":3,"123":3,"124":3,"140":1,"142":2,"179":1,"182":5,"183":4}}],["be",{"0":{"73":2},"2":{"1":1,"2":1,"7":2,"10":5,"12":1,"15":4,"16":1,"17":1,"18":1,"21":3,"22":1,"23":1,"24":1,"26":1,"28":1,"35":1,"41":1,"50":1,"52":2,"54":3,"55":22,"57":1,"58":7,"59":1,"60":1,"61":3,"63":2,"65":3,"66":1,"67":39,"69":1,"74":1,"75":1,"76":1,"78":1,"82":1,"84":1,"85":1,"88":2,"89":3,"90":1,"92":2,"93":2,"96":1,"97":2,"99":1,"100":1,"101":1,"102":1,"103":1,"106":4,"108":2,"110":6,"111":4,"116":1,"118":3,"121":1,"123":1,"124":1,"126":1,"127":1,"130":1,"131":1,"132":1,"136":1,"138":2,"140":3,"141":1,"142":1,"150":1,"152":5,"153":4,"154":8,"158":1,"160":2,"164":1,"167":4,"168":2,"169":2,"171":3,"175":4,"177":3,"179":1,"180":2,"181":32,"182":90,"183":189}}],["being",{"2":{"0":1,"5":1,"7":1,"41":1,"55":1,"152":1,"181":1,"183":7}}],["by",{"2":{"0":3,"6":2,"10":2,"13":1,"21":2,"23":1,"24":6,"27":1,"52":3,"55":5,"57":1,"58":5,"59":1,"60":2,"61":4,"63":2,"65":1,"67":6,"71":1,"72":1,"73":1,"90":2,"92":2,"93":1,"106":1,"107":2,"108":2,"110":4,"111":3,"112":1,"118":2,"120":1,"126":1,"127":1,"130":1,"131":1,"134":1,"140":5,"142":2,"144":1,"152":1,"153":1,"155":1,"156":2,"162":1,"164":1,"166":1,"171":1,"174":1,"181":12,"182":41,"183":60}}],["eyes",{"2":{"183":1}}],["europe",{"2":{"182":4}}],["educator",{"2":{"164":1}}],["educational",{"2":{"107":1,"164":1}}],["editor",{"2":{"140":4}}],["editing",{"2":{"11":1}}],["e2e",{"2":{"64":1}}],["echoes",{"2":{"183":5}}],["echoing",{"2":{"58":1,"183":1}}],["ecosystem",{"2":{"130":1}}],["econometrics",{"2":{"61":1}}],["et",{"2":{"182":3}}],["ethos",{"2":{"83":1}}],["ethereal",{"2":{"58":1,"183":1}}],["etc",{"2":{"0":1,"2":1,"15":1,"21":1,"24":1,"54":1,"55":2,"67":1,"69":1,"86":1,"92":1,"104":1,"106":1,"120":2,"123":1,"159":1,"178":1,"181":2,"182":13,"183":12}}],["equally",{"2":{"183":1}}],["equality",{"2":{"88":1}}],["equal",{"2":{"50":1,"55":1,"58":2,"67":1,"179":1,"181":1,"182":3,"183":2}}],["equivalent",{"2":{"2":2,"13":1,"61":1,"106":1,"183":1}}],["essence",{"2":{"153":1}}],["essential",{"2":{"127":1,"181":2}}],["estimated",{"2":{"98":1}}],["estimate",{"2":{"36":1,"183":3}}],["especially",{"2":{"22":1,"55":1,"57":1,"84":1,"85":1,"107":1,"154":1,"181":2}}],["elapsed",{"2":{"182":1,"183":22}}],["elaboration",{"2":{"126":1}}],["elicit",{"2":{"150":1}}],["else`",{"2":{"168":1,"169":1}}],["elseif",{"2":{"168":1,"169":1}}],["else",{"2":{"18":2,"41":1,"55":2,"88":2,"123":2,"124":2,"158":1,"181":2,"183":5}}],["elementwise",{"2":{"182":1}}],["element",{"2":{"13":2,"16":1,"19":1,"22":1,"24":3,"47":1,"87":1,"89":2,"92":3,"107":2,"182":1,"183":13}}],["evolving",{"2":{"181":1}}],["evolved",{"2":{"153":1}}],["ever",{"2":{"183":2}}],["everyone",{"2":{"164":1}}],["every",{"2":{"63":1,"74":1,"77":1,"79":1,"85":1,"103":1,"178":1,"181":1,"182":1}}],["everything",{"2":{"18":2,"88":1,"93":1,"183":7}}],["eventmessage",{"2":{"183":1}}],["event",{"2":{"183":2}}],["even",{"2":{"19":2,"29":1,"30":1,"50":1,"54":1,"55":2,"58":1,"65":1,"152":1,"179":1,"181":1,"182":1,"183":5}}],["eval=false",{"2":{"55":2,"183":2}}],["evalutes",{"2":{"181":1}}],["evaluted",{"2":{"55":1,"181":1}}],["evaluator",{"2":{"114":2,"181":3}}],["evaluating",{"2":{"17":1,"55":2,"126":1,"137":1,"140":1,"182":1,"183":2}}],["evaluation",{"0":{"125":1},"1":{"126":1,"127":1,"128":1},"2":{"4":1,"6":2,"8":1,"10":1,"52":2,"55":10,"60":1,"106":1,"127":1,"128":1,"181":10,"182":9,"183":10}}],["evaluations",{"0":{"3":1},"1":{"4":1,"5":1,"6":1,"7":1},"2":{"55":3,"67":2,"181":5,"182":4}}],["evaluated",{"2":{"55":8,"110":1,"111":1,"181":3,"183":9}}],["evaluates",{"2":{"21":1,"54":1,"55":3,"181":2,"182":2,"183":3}}],["evaluate",{"0":{"6":1,"7":1},"2":{"3":1,"6":2,"7":2,"21":1,"54":1,"55":11,"127":2,"141":1,"142":1,"181":22,"183":4}}],["eval",{"2":{"7":2,"24":1,"55":9,"182":1,"183":13}}],["evals",{"2":{"4":6,"5":1,"6":3,"7":7,"60":1,"67":4,"182":18,"183":3}}],["effectiveness",{"2":{"140":1,"142":1}}],["effective",{"2":{"131":1,"133":1,"150":1}}],["effectively",{"2":{"12":1,"57":1,"65":2,"86":1,"103":1,"107":2,"181":1,"183":7}}],["efficiently",{"2":{"61":1,"142":1,"181":1}}],["efficient",{"2":{"55":2,"56":1,"61":1,"160":2,"181":2,"182":4}}],["effort",{"2":{"13":1,"59":1}}],["emails",{"2":{"160":3}}],["email",{"2":{"160":10}}],["emphasize",{"2":{"140":1,"168":1,"169":1}}],["empty",{"0":{"73":2},"2":{"50":2,"55":2,"58":6,"67":2,"179":2,"181":1,"182":4,"183":40}}],["emb",{"2":{"61":1,"182":21}}],["embedder",{"2":{"67":17,"182":29}}],["embedded",{"2":{"46":1,"67":1,"182":6}}],["embedding",{"0":{"45":1,"46":1},"2":{"2":1,"8":2,"16":1,"30":1,"31":1,"46":2,"66":1,"67":8,"182":54,"183":9}}],["embeddings",{"0":{"16":1,"44":1},"1":{"45":1,"46":1,"47":1},"2":{"2":1,"10":2,"16":3,"47":1,"64":2,"66":4,"67":8,"104":1,"106":2,"182":62,"183":20}}],["embeds",{"2":{"2":1,"67":1,"182":4}}],["embed",{"2":{"2":3,"16":3,"22":3,"23":1,"26":1,"30":1,"31":2,"45":2,"46":4,"47":1,"183":4}}],["emotions",{"2":{"58":2,"183":2}}],["emotional",{"2":{"12":1}}],["either",{"2":{"10":1,"19":1,"23":1,"26":1,"42":1,"50":1,"63":1,"74":1,"88":1,"106":1,"179":1,"181":1,"183":7}}],["e",{"2":{"10":1,"19":1,"55":4,"106":1,"108":2,"118":1,"136":1,"138":1,"141":1,"181":2,"182":1,"183":13}}],["error=true",{"2":{"183":3}}],["errorexception",{"2":{"55":1,"181":1}}],["errors",{"2":{"19":1,"21":1,"22":1,"52":1,"54":1,"55":7,"67":1,"75":1,"108":1,"110":2,"112":1,"142":3,"181":10,"182":5,"183":3}}],["error",{"0":{"73":2,"74":1,"75":1},"2":{"7":2,"52":2,"55":13,"73":2,"74":3,"75":4,"88":1,"108":4,"110":2,"111":1,"181":14,"183":33}}],["earlier",{"2":{"73":1}}],["eating",{"2":{"31":1,"108":1}}],["easiest",{"2":{"83":1,"86":1,"97":1}}],["easier",{"2":{"0":1,"7":1,"29":1,"56":1,"58":1,"67":1,"86":1,"106":1,"152":1,"182":2,"183":1}}],["easily",{"2":{"15":1,"60":1,"67":1,"88":1,"91":1,"97":1,"182":2,"183":2}}],["easy",{"2":{"6":1,"47":1,"79":1,"82":1,"84":1,"92":1,"95":1,"108":1,"149":1,"153":1,"164":1,"183":5}}],["each",{"2":{"2":2,"4":1,"7":4,"10":2,"12":1,"15":1,"21":2,"54":2,"55":3,"58":12,"61":1,"63":2,"65":1,"66":2,"67":21,"77":1,"106":1,"110":1,"118":1,"120":1,"121":1,"127":1,"132":1,"141":1,"142":1,"152":3,"153":6,"154":4,"160":1,"164":1,"167":2,"171":2,"175":2,"181":6,"182":59,"183":31}}],["exit",{"2":{"24":1}}],["existing",{"2":{"24":1,"63":1,"67":2,"93":1,"123":1,"124":1,"182":3,"183":5}}],["existent",{"2":{"21":1,"54":1,"55":1,"181":1}}],["exists",{"2":{"7":2,"182":1}}],["exist",{"2":{"6":1,"7":6,"92":4}}],["exclamation",{"2":{"182":1}}],["exclude",{"2":{"50":2,"153":1,"179":2,"182":3,"183":1}}],["exciting",{"2":{"23":1,"27":1}}],["excessive",{"2":{"61":1}}],["exceed",{"2":{"74":1,"183":2}}],["exceeds",{"2":{"58":1,"183":1}}],["exceeding",{"2":{"58":1,"67":1,"182":7,"183":1}}],["exceeded",{"0":{"74":1},"2":{"21":1,"54":1,"74":2,"75":1}}],["exception",{"2":{"55":4,"63":1,"108":1,"181":2,"183":3}}],["except",{"2":{"21":1,"181":1,"183":1}}],["external",{"2":{"126":1,"183":1}}],["extension",{"2":{"182":1,"183":2}}],["extensions",{"2":{"52":1,"59":1}}],["extensively",{"2":{"162":1,"164":1}}],["extensive",{"2":{"161":1,"168":1}}],["extensible",{"2":{"55":1,"60":1,"63":1,"181":1}}],["extended",{"2":{"55":1,"181":1,"183":1}}],["extend",{"2":{"15":1,"23":1,"59":1}}],["extremely",{"2":{"75":1,"111":1,"127":2,"140":1,"162":1,"164":1}}],["extras",{"2":{"67":3,"182":8,"183":2}}],["extra",{"2":{"28":1,"58":2,"67":1,"88":1,"92":1,"97":1,"153":1,"182":1,"183":5}}],["extractdata",{"0":{"147":1}}],["extractdataxml",{"0":{"145":1}}],["extractdatacotxml",{"0":{"144":1},"2":{"183":1}}],["extracted",{"2":{"120":3,"183":21}}],["extractor",{"2":{"108":1,"183":2}}],["extraction",{"0":{"19":1,"146":1},"1":{"147":1},"2":{"31":1,"67":4,"108":1,"120":2,"144":2,"145":2,"147":2,"182":6,"183":17}}],["extracting",{"2":{"2":1,"19":3,"67":1,"182":1,"183":2}}],["extracts",{"2":{"2":1,"52":1,"55":1,"66":2,"67":2,"120":1,"121":1,"181":1,"182":7,"183":4}}],["extract",{"2":{"2":2,"8":1,"10":2,"19":3,"31":2,"55":5,"93":2,"106":2,"107":1,"108":10,"120":4,"144":1,"145":1,"147":1,"181":5,"182":9,"183":70}}],["executing",{"2":{"182":2}}],["execution",{"0":{"14":1},"2":{"10":1,"52":2,"55":11,"106":1,"111":1,"112":1,"181":6,"183":13}}],["executor",{"2":{"55":1,"183":1}}],["execute",{"2":{"55":3,"181":1,"183":2}}],["executed",{"2":{"52":1,"55":4,"111":1,"181":2,"183":5}}],["executes",{"2":{"10":1,"52":2,"55":2,"106":1,"181":4,"183":2}}],["examine",{"2":{"142":1}}],["example>",{"2":{"175":2}}],["examples",{"0":{"9":1,"53":1,"61":1},"1":{"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"54":1},"2":{"2":5,"4":2,"5":1,"6":1,"13":2,"21":1,"24":1,"32":1,"37":1,"55":2,"58":3,"61":2,"67":9,"70":1,"86":1,"91":1,"92":1,"98":2,"120":1,"154":2,"161":1,"163":1,"166":1,"170":1,"174":1,"181":1,"182":20,"183":23}}],["example",{"0":{"107":1,"108":1},"2":{"0":1,"1":1,"2":1,"5":1,"7":1,"10":1,"13":1,"15":1,"17":1,"18":1,"21":1,"24":3,"31":1,"37":1,"42":1,"50":1,"52":1,"55":6,"58":3,"61":1,"65":1,"67":5,"77":2,"78":3,"86":1,"88":3,"90":1,"91":1,"92":2,"93":1,"99":1,"102":1,"105":1,"106":2,"108":4,"120":1,"126":1,"154":4,"158":1,"167":1,"179":1,"181":10,"182":21,"183":50}}],["exact",{"2":{"67":2,"182":10,"183":5}}],["exactly",{"2":{"10":2,"21":1,"24":1,"52":1,"55":1,"67":1,"106":2,"181":5,"182":2,"183":1}}],["expr",{"2":{"183":4}}],["expression",{"2":{"55":6,"140":1,"183":8}}],["export",{"2":{"79":1,"95":1}}],["exported",{"2":{"24":1,"37":1,"55":1,"181":1}}],["expanded",{"2":{"183":2}}],["expanding",{"2":{"132":1}}],["expand",{"2":{"92":1,"107":1,"132":1,"181":8,"183":1}}],["expands",{"2":{"17":1,"92":1,"181":2}}],["expanse",{"2":{"58":1,"183":1}}],["expect",{"2":{"183":1}}],["expected",{"2":{"183":2}}],["expectations",{"2":{"142":1}}],["expects",{"2":{"136":1,"138":1,"167":1,"175":1,"183":1}}],["expertise",{"2":{"161":1}}],["expert",{"2":{"131":1,"133":1,"142":4,"144":1,"145":1,"147":1,"160":1,"161":2,"164":1,"167":1,"170":1,"175":1,"183":1}}],["experiencing",{"2":{"73":1}}],["experience",{"2":{"12":1}}],["experiences",{"2":{"12":1}}],["experiment",{"2":{"55":1,"91":1,"181":1,"183":1}}],["experimental",{"0":{"21":1,"180":1},"2":{"1":3,"10":4,"21":2,"48":2,"50":1,"51":3,"55":6,"57":1,"59":3,"63":1,"66":1,"67":6,"88":1,"106":2,"179":4,"180":5,"181":70,"182":281,"183":177}}],["expensive",{"2":{"3":1,"55":3,"181":6}}],["exploits",{"2":{"183":2}}],["exploitation",{"2":{"181":1}}],["exploration",{"2":{"181":1}}],["explorer",{"2":{"73":1}}],["explore",{"0":{"5":1},"2":{"5":1,"8":1,"41":1,"55":2,"61":1,"88":1,"181":2,"183":1}}],["explanatory",{"2":{"183":1}}],["explanations",{"2":{"0":1,"19":1,"141":1,"142":1}}],["explaining",{"2":{"167":1,"175":1}}],["explain",{"2":{"110":1,"111":1,"118":1,"144":1,"171":1,"182":1}}],["explains",{"2":{"99":1,"171":1}}],["explicit",{"2":{"67":2,"144":1,"145":1,"147":1,"182":2,"183":8}}],["explicitly",{"2":{"2":1,"13":1,"21":1,"23":1,"26":1,"42":1,"55":3,"85":1,"89":1,"130":1,"160":2,"168":1,"169":1,"180":1,"181":3,"183":5}}],["enforces",{"2":{"183":2}}],["enforce",{"2":{"183":11}}],["enhance",{"2":{"133":1,"140":2,"150":1,"182":2}}],["enhancing",{"2":{"48":1,"140":1,"153":1,"183":1}}],["encapsulates",{"2":{"181":1}}],["encapsulated",{"2":{"181":1}}],["encouraging",{"2":{"160":1}}],["encode",{"2":{"108":2,"183":7}}],["encoded",{"2":{"10":1,"104":1,"106":1,"183":3}}],["enclosed",{"2":{"111":1}}],["enclose",{"2":{"110":1}}],["enabling",{"2":{"66":1,"181":1,"183":1}}],["enable",{"2":{"93":1,"108":1,"182":1,"183":2}}],["enables",{"2":{"10":1,"52":1,"67":2,"106":1,"182":8,"183":4}}],["enabled",{"2":{"10":1,"67":1,"106":1,"182":2}}],["enigmatic",{"2":{"58":2,"183":2}}],["enough",{"2":{"58":2,"183":3}}],["ensuring",{"2":{"58":1,"150":1,"178":1,"183":1}}],["ensure",{"2":{"0":1,"55":2,"78":1,"88":3,"108":1,"110":2,"133":2,"142":2,"144":1,"145":1,"147":1,"152":1,"153":1,"160":1,"181":2,"182":4,"183":4}}],["ensures",{"2":{"0":1,"58":1,"183":1}}],["enjoy",{"2":{"41":1}}],["en",{"2":{"30":1,"181":2}}],["engaging",{"2":{"171":1}}],["engagement",{"2":{"140":3}}],["engage",{"2":{"30":1}}],["english",{"2":{"67":1,"182":5}}],["engineer",{"2":{"150":1}}],["engineering",{"2":{"17":1,"150":1}}],["engine",{"2":{"49":1,"108":1,"120":2,"132":1,"178":1}}],["enumerated",{"2":{"183":2}}],["enumerates",{"2":{"182":4}}],["enumerate",{"2":{"67":1,"182":1}}],["enum",{"2":{"19":1,"88":2}}],["entire",{"2":{"183":13}}],["entity",{"2":{"132":1}}],["entities",{"2":{"12":1,"19":1,"58":1,"120":1,"132":1,"183":3}}],["entry",{"2":{"63":1,"67":1,"149":1,"182":1,"183":1}}],["entries",{"2":{"6":1,"108":2,"183":2}}],["enter",{"2":{"24":2}}],["end|>",{"2":{"183":2}}],["end>",{"2":{"183":1}}],["ending",{"2":{"183":1}}],["end=25",{"2":{"182":1}}],["ended",{"2":{"182":1,"183":1}}],["end`",{"2":{"110":1,"167":2,"168":1,"169":1,"175":2}}],["end",{"2":{"7":1,"19":3,"21":1,"31":1,"34":1,"46":1,"54":1,"55":11,"58":1,"61":2,"63":1,"67":4,"74":1,"88":6,"91":2,"108":5,"167":1,"175":1,"181":15,"182":12,"183":25}}],["endpoints",{"2":{"0":1,"183":1}}],["endpoint",{"2":{"0":2,"67":2,"138":5,"179":1,"182":6,"183":9}}],["environments",{"2":{"55":1,"181":1}}],["environment",{"0":{"79":1},"2":{"32":1,"49":1,"61":1,"73":1,"78":1,"79":2,"93":1,"95":2,"183":9}}],["env",{"2":{"0":1,"23":1,"26":1,"29":2,"30":1,"31":1,"73":3,"78":1,"79":1,"95":2,"182":1,"183":7}}],["eg",{"2":{"0":1,"2":1,"6":1,"7":2,"8":1,"10":9,"12":2,"13":1,"15":2,"21":6,"23":2,"24":1,"25":1,"27":2,"28":1,"37":1,"42":1,"54":5,"55":10,"57":4,"58":3,"60":1,"61":3,"63":6,"64":1,"65":1,"66":3,"67":15,"69":3,"74":3,"75":1,"77":2,"78":2,"79":2,"84":1,"85":2,"86":4,"88":2,"89":1,"97":2,"98":1,"100":3,"101":3,"102":1,"103":1,"104":3,"105":2,"106":10,"108":3,"120":1,"160":2,"167":1,"175":1,"180":2,"181":15,"182":40,"183":60}}],["hd",{"2":{"183":3}}],["hh",{"2":{"152":2,"153":3}}],["huggingface",{"2":{"182":6}}],["hundred",{"2":{"183":2}}],["hundredth",{"2":{"77":1}}],["hundreds",{"2":{"75":2}}],["humans",{"2":{"183":1}}],["human",{"2":{"17":1,"152":1,"153":1,"183":4}}],["htmlstyler",{"2":{"182":13,"183":1}}],["html",{"2":{"61":2,"182":15,"183":1}}],["https",{"2":{"20":1,"37":1,"58":2,"75":1,"108":2,"118":1,"179":1,"181":2,"182":7,"183":16}}],["http",{"2":{"10":2,"23":1,"28":1,"65":3,"67":2,"74":1,"106":2,"179":1,"182":5,"183":54}}],["href=",{"2":{"58":1,"182":1,"183":6}}],["hcat",{"2":{"46":1,"182":4,"183":3}}],["hit",{"2":{"182":2,"183":3}}],["his",{"2":{"89":2,"183":2}}],["history",{"2":{"55":1,"88":1,"103":1,"181":5,"182":1,"183":98}}],["hint",{"2":{"55":2,"181":2}}],["hints",{"2":{"55":1,"181":1}}],["hi",{"2":{"21":2,"22":1,"23":3,"26":2,"27":1,"28":1,"29":3,"30":1,"31":1,"34":3,"37":1,"39":1,"40":1,"42":2,"54":2,"55":2,"87":3,"89":3,"92":6,"93":3,"98":1,"160":1,"181":12,"183":24}}],["highly",{"2":{"127":2,"133":1,"138":1}}],["highlevel",{"2":{"55":2,"181":2}}],["highlighted",{"2":{"183":1}}],["highlights",{"0":{"49":1,"52":1,"57":1,"60":1}}],["highlighting",{"2":{"20":1,"61":1,"141":1,"142":1,"182":1,"183":2}}],["highlight",{"2":{"10":1,"60":1,"67":1,"110":1,"141":1,"152":1,"182":1}}],["higher",{"2":{"17":1,"55":1,"58":1,"63":1,"67":2,"181":3,"182":5,"183":8}}],["highest",{"2":{"7":1,"61":1,"182":1}}],["high",{"2":{"3":1,"24":3,"61":2,"63":2,"67":2,"105":1,"107":2,"157":1,"161":1,"163":1,"165":1,"170":1,"173":1,"182":6,"183":5}}],["hmm",{"2":{"12":1,"41":1,"183":1}}],["hyderephraser",{"2":{"182":3,"183":1}}],["hyde",{"2":{"66":1,"130":1,"131":1,"182":3}}],["hypothetical",{"2":{"8":1,"130":3,"131":2,"182":2}}],["hybrid",{"2":{"8":1,"66":1,"67":2,"182":4}}],["her",{"2":{"120":1}}],["here>",{"2":{"167":1,"175":1}}],["here",{"2":{"23":1,"24":1,"26":1,"29":1,"30":1,"31":2,"32":1,"34":1,"41":1,"42":1,"55":1,"58":1,"63":1,"84":1,"107":1,"181":1,"183":25}}],["hence",{"2":{"100":1,"183":3}}],["heals",{"2":{"182":1}}],["healing",{"2":{"88":1,"106":1}}],["heavy",{"2":{"108":1}}],["heavily",{"2":{"86":1,"120":1}}],["heavens",{"2":{"58":1,"183":1}}],["hear",{"2":{"58":2,"183":2}}],["hearty",{"2":{"89":2,"183":2}}],["heart",{"2":{"35":1}}],["header",{"2":{"183":3}}],["headers",{"2":{"2":1,"74":1,"86":1,"183":12}}],["headings",{"2":{"164":1}}],["headlines",{"2":{"160":1}}],["head",{"2":{"41":1}}],["he",{"2":{"19":1,"183":7}}],["height",{"2":{"19":2,"183":14}}],["held",{"2":{"67":1,"182":1}}],["hello",{"2":{"12":1,"14":1,"22":1,"23":1,"26":1,"30":1,"31":1,"39":1,"40":1,"42":1,"55":3,"58":3,"87":1,"181":1,"183":30}}],["helping",{"2":{"182":1}}],["helpful",{"2":{"19":1,"23":1,"26":1,"34":1,"48":1,"55":4,"87":1,"92":1,"99":1,"110":1,"127":3,"128":1,"141":2,"157":1,"161":1,"163":1,"170":1,"181":2,"183":6}}],["helpfulness",{"2":{"6":1,"127":1}}],["helps",{"2":{"19":1,"183":1}}],["help",{"2":{"12":1,"19":1,"21":1,"23":3,"26":3,"30":1,"31":1,"34":1,"35":1,"39":1,"40":1,"41":2,"42":1,"54":1,"67":1,"82":1,"108":1,"152":1,"182":1,"183":7}}],["helper",{"2":{"10":1,"24":1,"37":1,"106":1,"183":2}}],["happy",{"2":{"183":1}}],["happened",{"2":{"111":1}}],["happens",{"2":{"100":1,"152":1}}],["happening",{"2":{"61":1}}],["haiku",{"2":{"183":4}}],["hamming",{"2":{"182":9,"183":1}}],["half",{"2":{"67":1,"91":1,"182":1}}],["hallucination",{"2":{"17":1}}],["hackable",{"2":{"63":1}}],["had",{"2":{"24":1,"183":1}}],["hash",{"2":{"182":1,"183":2}}],["hashed",{"2":{"67":5,"182":9,"183":1}}],["hasn",{"2":{"55":2,"181":2}}],["has",{"2":{"15":1,"21":1,"28":1,"42":1,"55":4,"65":1,"74":2,"88":1,"110":1,"111":1,"123":1,"124":1,"142":1,"152":1,"181":2,"182":3,"183":23}}],["harder",{"2":{"67":2,"182":2}}],["hard",{"2":{"13":1,"19":1,"41":1,"76":2,"97":1,"181":1}}],["handling",{"2":{"55":2,"88":1,"181":1,"183":2}}],["handles",{"2":{"88":1,"182":1,"183":1}}],["handlebars",{"2":{"98":1}}],["handlebar",{"2":{"12":1,"183":1}}],["handle",{"2":{"7":1,"61":1,"67":2,"88":2,"102":1,"108":1,"182":5,"183":10}}],["handcraft",{"2":{"3":1}}],["having",{"0":{"73":2},"2":{"0":1,"58":1,"105":1,"183":1}}],["have",{"0":{"87":1,"88":1,"90":1},"2":{"0":1,"5":1,"6":1,"7":6,"10":2,"11":1,"12":5,"13":1,"15":1,"19":1,"21":2,"22":1,"23":5,"24":3,"26":4,"27":1,"28":2,"30":1,"31":2,"34":1,"35":2,"36":1,"37":1,"41":4,"42":1,"52":2,"54":1,"55":1,"57":1,"60":1,"61":1,"63":3,"67":4,"74":2,"75":1,"77":1,"78":1,"85":1,"88":1,"89":2,"92":2,"95":1,"96":2,"102":2,"103":1,"105":3,"106":3,"108":4,"120":1,"121":1,"123":1,"124":1,"126":1,"131":1,"141":1,"159":1,"162":1,"164":2,"168":1,"169":1,"177":1,"181":3,"182":17,"183":28}}],["horizontal",{"2":{"182":1}}],["holding",{"2":{"182":3}}],["hold",{"2":{"181":1}}],["holds",{"2":{"2":1,"67":1,"108":1,"182":3}}],["hope",{"2":{"59":1,"60":1,"88":1,"107":1,"123":1,"124":1}}],["honor",{"2":{"55":1,"181":1}}],["hosting",{"2":{"29":1,"84":1}}],["host",{"2":{"29":2,"183":6}}],["hosted",{"2":{"25":1,"67":4,"70":1,"78":1,"100":1,"101":1,"108":2,"182":4,"183":2}}],["hood",{"2":{"2":1,"18":1,"23":1,"26":1,"28":1,"52":1,"61":1,"99":1,"107":2,"108":1,"183":2}}],["however",{"2":{"3":2,"15":1,"24":1,"75":1,"182":1,"183":1}}],["how",{"0":{"77":1,"78":1,"87":1,"88":1,"89":1,"91":1,"92":1,"99":1},"1":{"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1},"2":{"0":2,"7":1,"8":1,"10":1,"11":1,"13":4,"21":1,"22":1,"23":2,"24":4,"26":2,"30":1,"32":1,"36":1,"37":1,"54":1,"55":4,"58":2,"61":7,"63":1,"67":2,"71":4,"74":1,"85":1,"87":2,"88":3,"99":2,"103":1,"104":1,"107":1,"108":3,"127":4,"128":1,"140":3,"142":2,"167":1,"175":1,"181":5,"182":6,"183":30}}],["omit",{"2":{"154":1}}],["o1",{"2":{"78":7}}],["observability",{"2":{"183":2}}],["observe",{"2":{"63":1}}],["obj",{"2":{"108":3}}],["objective",{"2":{"131":1,"133":1}}],["objects",{"2":{"89":1,"100":1,"149":1,"182":2,"183":27}}],["object>",{"2":{"88":1}}],["object",{"2":{"6":1,"12":4,"21":2,"35":1,"54":2,"55":10,"66":1,"67":6,"88":1,"93":1,"97":1,"100":1,"101":1,"107":1,"108":12,"181":15,"182":10,"183":66}}],["obtained",{"2":{"183":1}}],["obtain",{"2":{"55":1,"67":2,"107":1,"181":1,"182":2}}],["ocean",{"2":{"58":4,"183":4}}],["occur",{"2":{"153":1}}],["occurrences",{"2":{"58":1,"183":1}}],["occurred",{"2":{"55":2,"181":3}}],["occursin",{"2":{"181":2}}],["occurs",{"2":{"55":1,"183":1}}],["ocrtask",{"0":{"178":1},"2":{"20":2,"183":4}}],["ocr",{"0":{"20":1},"2":{"20":1,"178":1,"183":4}}],["overrules",{"2":{"183":2}}],["overriden",{"2":{"183":1}}],["overrides",{"2":{"183":4}}],["override",{"2":{"55":2,"85":1,"86":1,"181":2}}],["overwrite",{"2":{"182":1,"183":1}}],["overwritten",{"2":{"55":1,"181":1}}],["overall",{"2":{"127":2,"140":1,"142":1,"183":1}}],["overarching",{"2":{"63":1}}],["overload",{"2":{"182":1}}],["overloaded",{"2":{"93":1}}],["overlaps",{"2":{"182":2}}],["overlapping",{"2":{"182":1}}],["overlap",{"2":{"67":1,"182":1}}],["overhead",{"2":{"28":1}}],["over",{"2":{"19":1,"120":1,"126":1,"152":1,"153":1,"156":1,"167":1,"168":1,"169":1,"175":1,"180":1,"183":12}}],["overview",{"0":{"10":1,"63":1,"106":1},"2":{"0":1,"75":1}}],["o",{"2":{"18":2,"88":4,"183":5}}],["olama",{"2":{"183":1}}],["oldest",{"2":{"183":1}}],["old",{"2":{"12":3}}],["ollamamanagedschema",{"2":{"22":1,"42":2,"183":12}}],["ollama",{"0":{"22":1,"37":1,"84":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1},"2":{"0":2,"22":4,"28":1,"37":4,"42":1,"69":3,"70":1,"77":1,"83":1,"84":8,"85":2,"100":1,"101":1,"183":21}}],["ollamaschema",{"2":{"0":1,"37":1,"42":5,"47":1,"85":3,"183":3}}],["origin",{"2":{"183":1}}],["originated",{"2":{"183":3}}],["originally",{"2":{"183":2}}],["original",{"2":{"58":4,"66":1,"93":1,"110":1,"123":6,"124":8,"127":1,"133":1,"134":1,"178":1,"181":1,"182":11,"183":9}}],["oriented",{"2":{"159":2}}],["orientation",{"2":{"144":1,"145":1,"147":1}}],["oro1m",{"2":{"78":2}}],["oro1",{"2":{"78":2}}],["organization",{"2":{"140":1,"183":2}}],["organize",{"2":{"110":1,"152":2,"153":1}}],["org",{"2":{"58":1,"181":2,"183":1}}],["ordering",{"2":{"66":1,"181":4}}],["ordered",{"2":{"58":1,"183":1}}],["orders",{"2":{"20":1,"183":2}}],["order",{"2":{"6":1,"58":1,"67":1,"71":1,"118":1,"182":3,"183":1}}],["or",{"0":{"85":1,"86":1},"2":{"5":3,"6":3,"7":6,"8":1,"10":8,"11":3,"13":1,"17":2,"18":4,"19":1,"20":1,"21":4,"23":3,"24":3,"26":3,"29":1,"30":1,"31":1,"34":1,"37":2,"39":1,"41":1,"42":2,"43":1,"46":1,"50":1,"52":2,"54":3,"55":23,"57":1,"58":8,"59":1,"60":1,"63":5,"64":3,"66":2,"67":20,"69":2,"71":1,"73":2,"78":4,"84":1,"85":1,"86":1,"88":3,"89":2,"93":1,"95":1,"97":1,"100":2,"101":2,"103":2,"104":2,"105":2,"106":8,"110":4,"111":1,"118":1,"120":1,"123":1,"124":1,"126":2,"132":3,"133":2,"137":1,"138":1,"140":2,"141":5,"142":6,"152":2,"153":4,"158":3,"160":3,"164":1,"167":2,"168":1,"169":1,"171":1,"175":2,"177":1,"179":1,"181":24,"182":51,"183":171}}],["our",{"2":{"3":1,"6":1,"7":2,"21":1,"37":1,"54":1,"55":3,"71":4,"74":2,"88":6,"91":1,"107":2,"108":3,"132":2,"171":1,"181":3,"182":3,"183":6}}],["outside",{"2":{"171":1}}],["outlined",{"2":{"144":1,"145":1,"147":1}}],["outline",{"2":{"110":1,"162":2,"164":2}}],["outcomes",{"2":{"55":1,"88":1,"181":2}}],["outcome",{"2":{"52":1,"140":6,"141":6,"142":6,"171":5,"181":3,"183":2}}],["outer",{"2":{"6":1,"7":4}}],["outerjoin",{"2":{"6":1}}],["output`",{"2":{"21":1,"54":1,"55":1,"181":1}}],["outputs",{"2":{"7":1,"20":1,"21":2,"24":1,"54":1,"55":3,"108":1,"183":23}}],["output",{"0":{"21":1},"2":{"6":2,"7":8,"10":3,"21":4,"31":1,"52":4,"54":9,"55":43,"58":4,"61":2,"67":1,"88":7,"89":2,"93":1,"104":3,"106":3,"107":1,"108":17,"118":1,"144":1,"145":1,"147":1,"150":1,"154":2,"158":1,"164":1,"181":32,"182":11,"183":60}}],["out",{"2":{"2":1,"10":1,"21":9,"54":5,"55":36,"59":1,"67":4,"71":1,"74":1,"91":1,"106":1,"107":1,"132":1,"134":1,"181":35,"182":7,"183":11}}],["own",{"2":{"2":1,"15":1,"55":1,"59":1,"67":3,"86":1,"181":1,"182":4,"183":6}}],["otherwise",{"2":{"55":2,"74":1,"181":4,"182":1,"183":20}}],["others",{"2":{"35":1,"108":1,"152":1}}],["other",{"0":{"23":1,"27":1},"2":{"2":1,"23":2,"27":1,"32":1,"35":1,"36":1,"52":1,"55":4,"58":1,"61":1,"67":3,"69":1,"70":1,"73":1,"79":1,"85":1,"86":1,"89":2,"93":1,"95":1,"101":1,"120":1,"138":1,"140":1,"153":2,"154":1,"166":1,"174":1,"181":4,"182":5,"183":13}}],["ops",{"2":{"182":1}}],["op",{"2":{"182":10}}],["opposite",{"2":{"182":1}}],["opposed",{"2":{"11":1,"183":1}}],["opportunity",{"2":{"123":1,"124":1}}],["opt",{"2":{"71":1}}],["option",{"2":{"138":2,"182":3,"183":2}}],["options",{"2":{"55":1,"63":1,"67":1,"74":1,"85":1,"95":1,"181":1,"182":2}}],["options=",{"2":{"37":2}}],["optional",{"2":{"2":2,"10":3,"55":2,"61":1,"66":1,"67":1,"106":3,"181":2,"182":2,"183":38}}],["optionally",{"2":{"2":1,"58":1,"67":1,"89":1,"108":1,"182":2,"183":4}}],["optimized",{"2":{"133":2,"181":1}}],["optimizes",{"2":{"130":1}}],["optimize",{"2":{"21":1,"181":1}}],["operate",{"2":{"21":1,"54":1,"55":1,"67":1,"181":1,"182":1}}],["operations",{"2":{"14":1,"55":2,"67":2,"182":2,"183":4}}],["operation",{"2":{"7":7,"181":1,"182":4,"183":1}}],["opens",{"2":{"182":2}}],["openrouteropenaischema",{"2":{"183":2}}],["openrouter",{"2":{"78":6,"183":6}}],["opened",{"2":{"74":1}}],["opentagger",{"2":{"67":1,"182":4,"183":1}}],["opening",{"2":{"24":1}}],["openhermes2",{"2":{"22":3,"37":1,"40":1,"47":1,"84":2,"183":10}}],["open",{"0":{"83":1},"2":{"11":1,"23":1,"26":1,"55":1,"57":1,"60":1,"61":1,"73":1,"83":1,"84":1,"108":2,"181":1,"182":1,"183":1}}],["openaistream",{"2":{"183":3}}],["openaischema",{"2":{"0":2,"93":5,"101":1,"102":3,"107":3,"183":41}}],["openaiapi",{"0":{"73":1}}],["openai",{"0":{"23":1,"27":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"76":1,"78":1},"1":{"70":1},"2":{"0":4,"10":1,"16":1,"21":1,"23":3,"25":1,"26":1,"27":2,"42":1,"54":1,"55":1,"69":1,"71":6,"72":4,"73":3,"74":2,"75":2,"76":3,"77":2,"78":1,"79":6,"80":2,"81":1,"86":3,"92":1,"95":9,"100":2,"101":3,"102":3,"106":1,"107":6,"108":1,"120":1,"181":1,"182":1,"183":65}}],["ongoing",{"2":{"183":1}}],["online",{"2":{"72":1,"95":1,"183":4}}],["only",{"2":{"2":1,"7":8,"8":1,"10":3,"12":1,"18":1,"21":6,"23":2,"24":5,"27":2,"32":1,"42":1,"49":1,"52":2,"54":5,"55":15,"58":2,"61":1,"66":1,"67":2,"74":1,"85":1,"89":1,"92":2,"105":1,"106":4,"107":3,"108":2,"110":1,"116":1,"118":1,"120":1,"123":3,"124":3,"126":1,"133":1,"136":1,"138":1,"152":3,"153":1,"154":1,"157":1,"160":1,"161":1,"163":1,"165":1,"170":1,"171":1,"173":1,"181":23,"182":10,"183":72}}],["once",{"2":{"6":1,"7":1,"59":1,"84":1,"86":1,"91":1,"107":1,"162":1,"164":1,"183":7}}],["ones",{"2":{"23":1,"24":1,"27":1,"67":2,"70":1,"120":1,"182":2,"183":1}}],["one",{"0":{"5":1,"45":1},"2":{"5":1,"6":2,"10":1,"12":1,"13":1,"15":1,"21":1,"24":1,"25":1,"30":1,"31":1,"41":1,"42":1,"43":1,"45":1,"49":1,"54":1,"55":4,"61":1,"63":1,"65":1,"66":1,"67":1,"74":1,"77":2,"79":1,"88":2,"89":1,"105":1,"106":1,"111":1,"136":2,"138":2,"154":2,"160":1,"167":1,"175":1,"181":5,"182":10,"183":34}}],["on",{"2":{"0":1,"7":4,"10":1,"11":1,"13":3,"17":2,"19":1,"21":3,"22":1,"23":2,"24":2,"26":1,"30":1,"37":1,"42":1,"47":1,"54":3,"55":12,"58":4,"60":1,"61":7,"63":1,"66":5,"67":8,"71":1,"72":1,"73":2,"74":1,"75":2,"76":1,"78":1,"79":2,"89":3,"95":1,"105":1,"106":1,"108":6,"110":3,"111":2,"112":1,"116":2,"118":4,"120":1,"123":2,"124":2,"126":1,"127":3,"128":3,"132":1,"138":1,"140":3,"141":3,"142":3,"153":2,"158":2,"160":2,"164":1,"168":1,"169":1,"171":2,"177":1,"181":23,"182":18,"183":50}}],["office",{"2":{"160":1}}],["offloaded",{"2":{"37":1}}],["offload",{"2":{"28":1}}],["off",{"2":{"15":1,"79":1,"183":1}}],["offering",{"2":{"71":1}}],["offers",{"2":{"21":1}}],["offer",{"2":{"13":1,"15":1,"140":1,"142":1}}],["often",{"2":{"5":1,"6":1,"7":2,"11":1,"29":1,"67":2,"182":5,"183":19}}],["of",{"0":{"0":1,"54":1},"2":{"0":5,"2":5,"3":3,"4":1,"5":4,"6":5,"7":28,"8":1,"10":7,"11":2,"12":3,"13":4,"14":1,"15":2,"16":1,"18":1,"19":4,"20":4,"21":5,"23":4,"24":15,"26":4,"28":1,"29":1,"30":1,"31":3,"32":1,"35":1,"36":2,"37":1,"41":1,"42":1,"45":2,"46":1,"47":1,"50":4,"51":1,"52":8,"54":5,"55":34,"56":2,"57":4,"58":29,"59":3,"60":7,"61":13,"63":7,"66":4,"67":59,"69":2,"71":2,"72":1,"73":2,"74":6,"75":3,"76":2,"77":4,"78":4,"83":1,"86":2,"88":5,"89":2,"91":5,"92":5,"93":2,"96":2,"97":7,"98":6,"99":2,"100":3,"101":2,"102":3,"103":1,"104":2,"105":4,"106":6,"107":8,"108":15,"110":10,"111":2,"120":1,"126":4,"127":3,"132":1,"133":1,"136":2,"138":4,"140":3,"141":4,"142":3,"144":1,"152":8,"153":6,"154":2,"157":1,"158":2,"160":2,"161":1,"163":2,"165":2,"166":1,"167":7,"168":2,"169":1,"170":2,"171":4,"173":2,"174":1,"175":7,"177":3,"179":4,"181":75,"182":249,"183":387}}],["sse",{"2":{"183":2}}],["ss",{"2":{"152":2,"153":3}}],["swap",{"2":{"67":1,"182":2}}],["swiftly",{"2":{"58":1,"183":1}}],["switching",{"2":{"55":1,"181":1}}],["switch",{"2":{"11":2,"54":1}}],["sqrt",{"2":{"181":1}}],["square",{"2":{"61":1,"67":2,"182":2}}],["sqlcoder",{"2":{"84":1}}],["sqlservercentral",{"2":{"20":1,"183":2}}],["sql",{"2":{"20":3,"183":6}}],["sk",{"2":{"183":1}}],["skilled",{"2":{"160":1}}],["skips",{"2":{"89":1,"105":1,"182":2,"183":10}}],["skipped",{"2":{"55":1,"183":1}}],["skip",{"2":{"55":9,"67":5,"171":1,"181":2,"182":8,"183":7}}],["sky",{"2":{"58":1,"183":3}}],["src",{"2":{"58":1,"66":1,"86":1,"182":1,"183":7}}],["svilupp",{"2":{"58":1,"182":1,"183":6}}],["snippet",{"2":{"82":1,"130":1}}],["snippets",{"2":{"55":1,"168":1,"169":1,"182":7,"183":1}}],["snowball",{"2":{"182":1}}],["snow",{"2":{"58":1,"183":1}}],["slice",{"2":{"182":4}}],["slicing",{"2":{"168":1,"169":1}}],["sliding",{"2":{"182":3,"183":1}}],["slightly",{"2":{"58":1,"183":3}}],["slots",{"2":{"164":1}}],["slot",{"2":{"108":1}}],["slowly",{"2":{"98":1}}],["slow",{"2":{"98":1,"183":1}}],["sleep",{"2":{"74":1,"183":1}}],["slack",{"2":{"57":1,"60":1}}],["smart",{"2":{"183":1}}],["smarter",{"2":{"183":1}}],["smallint",{"2":{"88":5}}],["small",{"2":{"7":1,"11":1,"23":1,"26":1,"66":1,"152":1,"166":1,"169":1,"174":1,"181":2,"183":4}}],["smaller",{"2":{"2":1,"58":6,"108":1,"181":1,"183":7}}],["smoke",{"2":{"58":1,"183":1}}],["smith",{"2":{"120":2}}],["smiling",{"2":{"42":1}}],["smiles",{"2":{"40":1,"41":1}}],["smirks",{"2":{"41":1}}],["shiny",{"2":{"183":1}}],["shift",{"2":{"182":1}}],["shimmering",{"2":{"58":2,"183":2}}],["shell",{"2":{"170":1}}],["shapley",{"2":{"171":1}}],["shap",{"2":{"171":10}}],["sharegptschema",{"2":{"183":3}}],["sharegpt",{"2":{"91":1}}],["share",{"2":{"71":1,"72":1,"95":1}}],["shared",{"2":{"58":1,"65":2,"67":2,"92":1,"167":1,"175":1,"182":2,"183":4}}],["sharing",{"2":{"24":1}}],["shallow",{"2":{"55":1,"181":1}}],["shall",{"2":{"12":1}}],["shot",{"2":{"181":1}}],["shortcut",{"2":{"182":1}}],["shortcuts",{"2":{"110":1,"111":1,"112":1}}],["short",{"2":{"55":1,"58":1,"61":1,"120":1,"126":1,"128":1,"152":2,"158":1,"160":1,"181":1,"183":7}}],["shorter",{"2":{"29":1}}],["should",{"2":{"2":1,"7":1,"12":1,"22":1,"35":1,"41":1,"55":1,"58":1,"63":1,"67":2,"79":1,"80":1,"84":2,"88":2,"93":1,"95":1,"104":1,"108":2,"118":3,"126":1,"138":2,"152":4,"153":4,"154":7,"160":2,"164":1,"171":2,"177":2,"181":6,"182":2,"183":35}}],["showcase",{"2":{"150":1}}],["shows",{"2":{"20":1,"24":1,"63":1,"91":1,"183":4}}],["show",{"2":{"2":1,"7":1,"55":2,"84":1,"88":1,"92":1,"181":3,"183":1}}],["side",{"2":{"107":1}}],["sister",{"2":{"91":1}}],["sink",{"2":{"183":1}}],["since",{"2":{"89":1,"107":1,"152":1}}],["singletons",{"2":{"183":5}}],["single",{"2":{"58":2,"91":1,"182":4,"183":9}}],["situations",{"2":{"69":1}}],["silent",{"2":{"58":2,"183":2}}],["sibblings",{"2":{"55":2,"181":2}}],["size`",{"2":{"183":1}}],["size=8",{"2":{"182":1}}],["size",{"2":{"45":2,"46":2,"47":1,"67":2,"182":15,"183":5}}],["sizes",{"2":{"8":1,"67":2,"182":11}}],["sig",{"2":{"108":3}}],["significant",{"2":{"126":1,"153":2}}],["signing",{"2":{"72":1}}],["sign",{"2":{"49":1}}],["signatures",{"2":{"55":1,"181":1}}],["signature",{"2":{"21":1,"54":1,"63":1,"64":4,"108":7,"183":19}}],["sigh",{"2":{"41":1}}],["simultaneously",{"2":{"21":1,"54":1,"55":1,"181":1}}],["similarly",{"2":{"98":1,"183":1}}],["similarity",{"2":{"2":2,"8":1,"47":2,"57":1,"58":1,"66":2,"67":5,"182":33,"183":1}}],["similar",{"2":{"2":1,"10":2,"55":1,"58":1,"67":3,"103":1,"106":2,"181":2,"182":6,"183":6}}],["simplistic",{"2":{"183":1}}],["simplification",{"2":{"107":1}}],["simply",{"2":{"2":1,"10":1,"20":1,"24":1,"28":1,"29":1,"36":1,"55":1,"57":1,"67":1,"88":2,"89":2,"95":1,"97":2,"106":1,"123":1,"124":1,"149":1,"181":1,"182":10,"183":6}}],["simplebm25retriever",{"2":{"182":4,"183":1}}],["simpleanswerer",{"2":{"67":2,"182":8,"183":1}}],["simplegenerator",{"2":{"67":2,"182":5,"183":1}}],["simplerefiner",{"2":{"67":1,"182":6,"183":1}}],["simpleretriever",{"2":{"67":5,"182":11,"183":1}}],["simplerephraser",{"2":{"65":1,"182":4,"183":1}}],["simplest",{"2":{"63":1,"67":1,"87":1,"182":1,"183":4}}],["simpleindexer",{"2":{"61":2,"67":3,"182":9,"183":1}}],["simple",{"0":{"1":1,"34":1,"39":1,"45":1},"1":{"2":1},"2":{"7":1,"8":1,"10":1,"16":1,"22":1,"43":1,"47":1,"52":1,"55":1,"61":1,"74":2,"77":2,"84":1,"89":2,"114":1,"128":1,"177":1,"181":1,"182":10,"183":15}}],["scene",{"2":{"183":1}}],["scenarios",{"2":{"55":1,"181":2,"182":1}}],["science",{"2":{"164":1,"171":1}}],["scientific",{"2":{"61":1}}],["scientist",{"2":{"24":2}}],["scans",{"2":{"183":3}}],["scanned",{"2":{"178":1}}],["scan",{"2":{"152":1,"153":1,"183":4}}],["scaled",{"2":{"182":1}}],["scale",{"2":{"61":1,"127":2,"128":2,"182":6,"183":1}}],["scoring=thompsonsampling",{"2":{"55":1,"181":1}}],["scoring",{"2":{"55":1,"127":1,"181":10,"182":1}}],["score==nothing",{"2":{"182":1}}],["scores2",{"2":{"182":3}}],["scores1",{"2":{"182":3}}],["scores=false",{"2":{"182":1}}],["scores",{"2":{"55":1,"61":1,"67":5,"127":1,"181":7,"182":28}}],["scored",{"2":{"21":1,"54":1,"55":1,"181":1}}],["scoreparametersstringstringstringsubstrin",{"2":{"7":1}}],["scoreretrieval",{"2":{"7":1}}],["score",{"2":{"6":3,"7":10,"10":2,"55":20,"61":1,"67":12,"127":2,"181":32,"182":35,"183":5}}],["scope",{"2":{"55":1,"181":1}}],["script",{"2":{"183":2}}],["scripting",{"2":{"170":2}}],["scratch",{"2":{"55":1,"183":2}}],["scratches",{"2":{"41":1}}],["scrollable",{"2":{"24":1}}],["screenshot",{"2":{"20":3,"178":1,"183":4}}],["schema=json3",{"2":{"108":2}}],["schema=openaischema",{"2":{"93":1,"183":1}}],["schema=myschema",{"2":{"86":1,"181":1}}],["schema=pt",{"2":{"85":1}}],["schema",{"0":{"42":1,"85":1},"2":{"0":5,"10":2,"22":5,"23":2,"26":1,"27":1,"29":1,"30":1,"31":1,"37":1,"39":1,"42":7,"45":2,"46":2,"47":2,"55":4,"85":5,"86":2,"92":2,"93":7,"101":1,"102":1,"106":2,"107":7,"108":5,"181":5,"183":199}}],["schemas",{"0":{"102":1},"2":{"0":1,"86":1,"93":1,"100":1,"102":2,"183":4}}],["satisfactory",{"2":{"141":2}}],["satisfy",{"2":{"110":1,"142":1}}],["saving",{"2":{"67":1,"182":2,"183":2}}],["saverschema",{"2":{"93":7,"183":16}}],["saves",{"2":{"55":1,"181":2,"182":1,"183":4}}],["saved",{"2":{"11":1,"24":2,"55":2,"67":1,"89":1,"93":1,"95":1,"105":1,"181":2,"182":4,"183":7}}],["save",{"2":{"2":2,"4":1,"7":1,"13":1,"24":4,"32":1,"55":2,"66":2,"72":1,"77":2,"89":3,"91":3,"93":2,"95":1,"108":1,"181":1,"183":29}}],["safety",{"2":{"58":1,"183":1}}],["safely",{"2":{"55":1,"183":1}}],["safe",{"2":{"55":4,"183":6}}],["sampling",{"2":{"181":5,"183":2}}],["samplenode",{"2":{"55":25,"181":45,"183":1}}],["sample",{"2":{"55":23,"181":58,"182":1,"183":11}}],["samples=1",{"2":{"55":2,"181":2}}],["samples=2`",{"2":{"21":1,"54":1,"55":1,"181":1}}],["samples",{"2":{"21":3,"52":3,"54":3,"55":33,"181":55,"183":4}}],["same",{"2":{"6":1,"10":2,"11":1,"21":2,"34":1,"52":3,"54":1,"55":2,"58":2,"67":3,"74":1,"79":1,"88":2,"89":1,"95":1,"104":1,"106":2,"107":1,"110":1,"111":1,"181":9,"182":18,"183":18}}],["salty",{"2":{"89":2,"183":2}}],["salt",{"2":{"19":2}}],["san",{"2":{"19":1}}],["says",{"2":{"75":1,"140":2,"141":2,"142":2}}],["say",{"2":{"12":1,"21":2,"22":1,"23":3,"26":2,"27":1,"28":1,"29":3,"30":1,"31":1,"34":2,"37":1,"39":1,"40":1,"42":2,"54":2,"55":2,"87":1,"89":3,"92":6,"93":3,"98":1,"107":1,"116":1,"118":1,"123":1,"124":1,"181":11,"183":22}}],["said",{"2":{"10":1,"52":1,"106":1,"183":2}}],["sonnet",{"2":{"183":1}}],["sorry",{"2":{"183":3}}],["sorted",{"2":{"182":1}}],["soft",{"2":{"76":2}}],["solve",{"2":{"166":1,"168":1,"169":1,"174":2}}],["solving",{"2":{"142":1,"166":2,"168":2,"169":2,"174":1}}],["solutions",{"2":{"95":1}}],["solution",{"2":{"73":1,"110":2,"166":1,"168":1,"169":1,"174":1,"183":2}}],["solid",{"2":{"58":1,"182":1,"183":6}}],["source=",{"2":{"182":1}}],["source2",{"2":{"67":1,"182":1}}],["source1",{"2":{"67":1,"182":1}}],["sourced",{"2":{"10":1}}],["source",{"0":{"83":1},"2":{"5":1,"6":1,"10":1,"13":1,"23":1,"24":1,"26":1,"50":1,"55":14,"58":7,"61":1,"67":17,"83":1,"89":1,"108":2,"110":1,"111":1,"112":1,"114":1,"116":1,"118":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":2,"149":1,"150":1,"152":1,"153":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":2,"168":1,"169":1,"170":1,"171":1,"173":1,"174":1,"175":2,"177":1,"178":1,"179":2,"180":1,"181":38,"182":159,"183":174}}],["sources=false",{"2":{"182":1}}],["sources=map",{"2":{"61":1}}],["sources",{"2":{"4":2,"6":1,"61":3,"67":17,"182":50}}],["so",{"2":{"4":1,"7":1,"15":2,"18":1,"21":4,"23":2,"24":1,"26":2,"30":1,"31":2,"36":1,"42":1,"54":1,"55":1,"58":1,"63":1,"67":3,"73":1,"74":2,"75":1,"78":1,"80":1,"89":2,"103":1,"105":1,"107":3,"108":5,"110":1,"111":1,"120":1,"152":1,"180":1,"181":3,"182":4,"183":21}}],["sometimes",{"2":{"108":1,"124":1}}],["something",{"2":{"30":1,"31":1,"41":1,"42":1,"107":1,"160":2}}],["somewhere",{"2":{"105":1}}],["some",{"2":{"2":2,"7":1,"8":1,"10":1,"20":2,"21":2,"22":1,"24":2,"27":1,"28":1,"37":1,"42":2,"54":1,"55":1,"57":2,"58":1,"61":4,"63":3,"66":1,"67":2,"78":3,"84":1,"86":1,"88":1,"95":1,"103":1,"105":2,"106":1,"108":3,"123":2,"153":1,"162":1,"164":1,"166":1,"174":1,"177":1,"181":1,"182":12,"183":29}}],["sync",{"2":{"183":1}}],["synced",{"2":{"72":1,"95":1}}],["synthetic",{"2":{"182":2}}],["syntactically",{"2":{"142":1}}],["syntax",{"2":{"2":1,"13":1,"20":1,"21":1,"24":4,"54":1,"55":1,"74":1,"88":1,"89":1,"91":1,"108":1,"142":3,"160":1,"165":1,"168":3,"169":3,"173":1,"181":2,"183":8}}],["synonyms",{"2":{"132":2}}],["symphony",{"2":{"58":1,"183":1}}],["symbols",{"2":{"182":3,"183":3}}],["symbolic",{"2":{"92":1}}],["symbol=",{"2":{"67":1,"181":1,"182":1}}],["symbol",{"2":{"6":1,"13":2,"24":3,"61":1,"67":3,"89":2,"105":1,"181":6,"182":32,"183":50}}],["system+user",{"2":{"181":1}}],["systematic",{"2":{"166":1,"168":1,"169":1,"174":1}}],["system=",{"2":{"89":1,"93":1,"105":1,"183":3}}],["systemmessage",{"2":{"12":3,"24":3,"35":1,"41":1,"78":1,"87":1,"89":2,"92":3,"104":1,"105":2,"107":1,"183":11}}],["systems",{"2":{"10":1,"58":2,"106":1,"126":1,"183":5}}],["system",{"0":{"1":1,"63":1},"1":{"2":1},"2":{"3":1,"12":1,"13":2,"17":2,"24":2,"36":2,"55":1,"61":2,"63":2,"78":3,"79":1,"89":3,"92":3,"102":1,"104":1,"105":3,"107":1,"110":1,"111":1,"112":1,"114":1,"116":1,"118":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":5,"150":2,"152":1,"153":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"173":1,"174":1,"175":1,"177":1,"178":1,"181":2,"183":95}}],["steer",{"2":{"183":3}}],["steam",{"2":{"183":3}}],["stemmer",{"2":{"182":2}}],["stemmer=nothing",{"2":{"182":1}}],["stemming",{"2":{"182":1}}],["steroids",{"2":{"108":1}}],["step=4",{"2":{"182":1}}],["steps`",{"2":{"153":1}}],["steps",{"2":{"24":1,"61":3,"63":1,"66":1,"67":4,"106":1,"107":1,"110":4,"152":1,"153":14,"160":1,"166":1,"168":1,"169":1,"182":9,"183":2}}],["step",{"2":{"2":1,"8":1,"21":2,"54":2,"55":3,"59":1,"61":4,"63":7,"65":3,"66":2,"67":10,"88":1,"89":1,"92":2,"105":1,"107":4,"108":1,"110":6,"111":4,"112":2,"123":1,"124":1,"130":1,"131":1,"133":1,"134":1,"140":2,"141":2,"142":2,"144":2,"162":2,"164":2,"166":2,"174":2,"181":3,"182":21,"183":2}}],["stipple",{"2":{"61":1}}],["still",{"2":{"1":1,"61":1,"73":1,"183":2}}],["stylistic",{"2":{"140":2}}],["styling",{"2":{"61":1,"182":5}}],["styled",{"2":{"182":1}}],["styles=",{"2":{"182":3}}],["styles",{"2":{"182":10,"183":2}}],["styler=rt",{"2":{"182":4}}],["styler",{"2":{"182":21,"183":1}}],["style=",{"2":{"58":1,"182":1,"183":6}}],["style",{"2":{"2":1,"5":2,"6":1,"7":11,"58":1,"67":1,"92":1,"98":1,"140":2,"144":1,"145":1,"147":1,"150":1,"167":1,"171":1,"175":1,"182":12,"183":12}}],["stop",{"2":{"76":1,"182":1,"183":2}}],["stopwords",{"2":{"57":2,"182":4}}],["stood",{"2":{"58":1,"183":1}}],["storage",{"2":{"182":2,"183":1}}],["storing",{"2":{"67":1,"182":8}}],["storyteller",{"2":{"171":1}}],["storytellerexplainshap",{"0":{"171":1}}],["storytelling",{"2":{"171":1}}],["story",{"2":{"58":4,"171":6,"183":4}}],["store",{"2":{"87":1,"89":3,"183":17}}],["stored",{"2":{"55":2,"67":1,"181":2,"182":1}}],["stores",{"2":{"10":1,"52":1,"55":2,"106":1,"181":2,"182":3,"183":3}}],["stdout",{"2":{"55":12,"181":1,"183":23}}],["stub",{"2":{"183":1}}],["stumbled",{"2":{"35":1,"183":1}}],["study",{"2":{"152":1}}],["studying",{"2":{"5":1,"7":1,"153":1}}],["studies",{"2":{"61":1}}],["studied",{"2":{"5":1,"7":1}}],["studio",{"0":{"32":1},"1":{"33":1,"34":1,"35":1,"36":1},"2":{"32":2,"36":1,"183":2}}],["strong",{"2":{"183":4}}],["strongly",{"2":{"10":1}}],["streaming",{"2":{"183":17}}],["streamed",{"2":{"183":5}}],["streamchunk",{"2":{"183":8}}],["streamcallback",{"2":{"183":42}}],["stream",{"2":{"182":3,"183":18}}],["strength",{"2":{"182":2}}],["strategies",{"2":{"66":1}}],["strategy",{"2":{"2":1,"66":5,"67":2,"182":5,"183":2}}],["stranger",{"2":{"58":1,"183":1}}],["strict",{"2":{"140":1,"144":1,"145":1,"147":1,"183":11}}],["strictly",{"2":{"66":1,"126":1,"153":1,"167":1,"175":1}}],["strin",{"2":{"108":1}}],["string=",{"2":{"58":2,"183":3}}],["strings",{"2":{"7":1,"57":3,"58":5,"67":3,"182":16,"183":19}}],["string",{"0":{"40":1},"2":{"7":4,"10":1,"13":5,"19":1,"21":1,"24":8,"31":2,"34":1,"42":1,"54":1,"55":17,"57":6,"58":30,"61":6,"67":4,"88":4,"89":5,"92":1,"93":1,"97":2,"106":1,"107":2,"108":15,"159":1,"167":1,"168":1,"169":1,"175":1,"179":1,"181":16,"182":34,"183":242}}],["stripping",{"2":{"134":1}}],["strip",{"2":{"58":1,"132":1,"134":1,"183":1}}],["struggle",{"2":{"55":1,"181":1}}],["structural",{"2":{"140":1}}],["structures",{"2":{"150":1,"168":1,"169":1,"181":1}}],["structured",{"2":{"10":1,"19":1,"31":1,"63":1,"106":1,"108":1,"144":1,"145":1,"147":1,"183":6}}],["structure",{"2":{"10":1,"19":1,"55":4,"58":3,"106":1,"152":2,"153":3,"154":1,"178":1,"181":3,"182":2,"183":9}}],["structtypes",{"2":{"108":1}}],["structs",{"2":{"67":1,"104":1,"108":1,"182":1,"183":2}}],["struct",{"2":{"10":2,"19":4,"31":1,"52":2,"55":4,"61":1,"63":3,"67":1,"86":1,"88":5,"106":2,"108":7,"120":1,"181":4,"182":8,"183":45}}],["str",{"0":{"97":1},"2":{"15":1,"58":1,"97":2,"98":4,"182":1,"183":29}}],["stands",{"2":{"183":1}}],["standards",{"2":{"140":1}}],["standard",{"0":{"40":1},"2":{"55":2,"67":1,"168":1,"169":1,"182":7,"183":12}}],["stays",{"2":{"74":1,"126":1,"181":1}}],["stage",{"2":{"67":1,"92":1,"182":13}}],["stabilizes",{"2":{"59":1,"181":1}}],["stark",{"2":{"183":1}}],["stars",{"2":{"58":3,"183":3}}],["star",{"2":{"12":1,"35":1,"41":1,"183":5}}],["start|>assistant",{"2":{"183":1}}],["start|>user",{"2":{"183":1}}],["start>system",{"2":{"183":1}}],["start=1",{"2":{"182":1}}],["startup",{"2":{"82":2,"183":1}}],["starter",{"2":{"61":1}}],["started",{"0":{"94":1},"1":{"95":1,"96":1,"97":1,"98":1},"2":{"59":1,"69":1}}],["starting",{"2":{"55":1,"136":1,"138":1,"181":2,"183":3}}],["starts",{"2":{"55":1,"181":2,"183":2}}],["startswith",{"2":{"55":1,"181":1}}],["start",{"0":{"97":1},"2":{"1":1,"19":1,"24":2,"28":2,"76":1,"79":1,"95":2,"97":1,"99":1,"160":1,"181":1,"182":8,"183":2}}],["status",{"2":{"181":2,"183":23}}],["statistical",{"2":{"61":1}}],["statistics",{"2":{"1":1}}],["stats",{"2":{"55":23,"181":33}}],["stated",{"2":{"142":1}}],["stateless",{"2":{"103":1}}],["state",{"2":{"19":1,"55":2,"69":1,"108":1,"181":2,"183":1}}],["statements",{"2":{"88":1,"167":1,"175":1,"183":1}}],["statement",{"2":{"17":2,"77":1,"103":1,"104":1,"137":4,"138":1,"183":6}}],["states",{"2":{"6":1}}],["spillover",{"2":{"183":3}}],["spiders",{"2":{"183":1}}],["spider",{"2":{"18":1,"88":1,"183":1}}],["splatting",{"2":{"182":1}}],["spliter",{"2":{"90":1}}],["splits",{"2":{"58":1,"67":1,"182":7,"183":1}}],["splitting",{"2":{"58":11,"67":2,"182":3,"183":12}}],["splitters",{"2":{"58":1,"183":1}}],["splitter",{"2":{"57":2,"58":10,"90":2,"182":1,"183":13}}],["split",{"2":{"8":1,"21":2,"54":2,"55":1,"57":3,"58":14,"67":1,"90":3,"152":1,"160":1,"181":4,"182":4,"183":16}}],["speaking",{"2":{"93":1,"183":3}}],["speak",{"2":{"89":3,"171":1,"183":4}}],["spend",{"2":{"76":1}}],["spending",{"0":{"76":1},"2":{"72":1,"76":1,"97":1}}],["speeds",{"2":{"182":3}}],["speed",{"2":{"46":1}}],["spec",{"2":{"183":2}}],["specs",{"2":{"183":1}}],["specialist",{"2":{"136":1,"138":1}}],["specializes",{"2":{"154":1}}],["specialized",{"2":{"55":1,"130":1,"140":1,"141":1,"181":2,"183":1}}],["specializing",{"2":{"131":1,"133":1}}],["special",{"2":{"120":4,"121":2,"126":3,"152":2,"153":2,"156":2,"167":2,"168":2,"169":2,"171":2,"175":5,"182":2}}],["specifying",{"2":{"67":1,"182":1,"183":1}}],["specify",{"2":{"15":1,"34":1,"58":1,"65":1,"67":2,"85":2,"108":1,"110":1,"182":4,"183":17}}],["specified",{"2":{"58":2,"66":1,"67":1,"93":1,"140":1,"154":2,"181":3,"182":6,"183":11}}],["specifies",{"2":{"11":1,"55":1,"181":1}}],["specification",{"2":{"102":1,"108":1,"183":1}}],["specifications",{"2":{"58":1,"108":1,"183":1}}],["specifically",{"2":{"0":1,"120":1,"183":2}}],["specific",{"2":{"0":2,"6":1,"10":1,"13":2,"23":2,"24":1,"26":2,"30":1,"31":1,"42":1,"57":1,"58":2,"60":1,"91":1,"105":1,"106":1,"108":2,"110":2,"111":1,"126":1,"130":2,"132":3,"140":1,"141":2,"142":3,"144":1,"145":1,"147":1,"153":2,"168":1,"169":1,"171":1,"182":1,"183":13}}],["spectacles",{"2":{"41":1}}],["span",{"2":{"182":1}}],["spanish",{"2":{"14":1}}],["spain",{"2":{"97":2,"98":2}}],["sparrow",{"2":{"89":4,"183":5}}],["sparse",{"2":{"66":1,"182":5}}],["sparsearrays",{"2":{"1":2,"59":1,"182":4}}],["spawn",{"2":{"46":1,"183":1}}],["spaces",{"2":{"182":3}}],["space",{"2":{"23":1,"26":1,"58":1,"183":3}}],["s",{"2":{"1":1,"2":2,"3":1,"4":1,"5":2,"6":2,"7":2,"10":2,"11":2,"13":1,"15":1,"18":1,"19":4,"20":1,"21":1,"22":3,"24":6,"32":2,"36":1,"37":1,"39":1,"40":1,"42":1,"43":1,"52":1,"54":1,"55":12,"58":7,"59":1,"61":5,"63":2,"65":1,"67":8,"69":1,"71":3,"74":1,"77":1,"78":2,"79":2,"84":3,"86":1,"87":5,"88":4,"89":3,"90":1,"92":1,"100":1,"102":2,"105":1,"106":2,"107":3,"108":14,"110":2,"111":1,"123":1,"124":1,"127":3,"128":2,"138":1,"140":8,"141":5,"142":11,"144":2,"145":2,"147":3,"150":1,"152":2,"153":1,"160":2,"162":2,"164":2,"167":3,"171":2,"175":1,"181":19,"182":24,"183":82}}],["seq",{"2":{"183":5}}],["sequentially",{"2":{"46":1,"55":2,"181":2,"183":1}}],["sequences",{"2":{"58":1,"182":1,"183":1}}],["sequence",{"2":{"21":2,"58":2,"103":1,"183":6}}],["sedan",{"2":{"183":1}}],["september",{"2":{"78":1}}],["separator=",{"2":{"58":1,"183":1}}],["separators=",{"2":{"58":4,"63":1,"67":1,"182":1,"183":4}}],["separators",{"2":{"58":19,"67":1,"90":4,"182":7,"183":20}}],["separator",{"2":{"58":9,"181":1,"183":9}}],["separated",{"2":{"181":1,"182":1,"183":1}}],["separate",{"2":{"2":1,"17":1,"59":1,"160":1,"164":1,"180":1,"181":2,"182":2,"183":3}}],["segment",{"2":{"67":1,"182":1}}],["segments",{"2":{"58":2,"183":4}}],["selects",{"2":{"181":1}}],["selecting",{"2":{"183":1}}],["selection",{"2":{"181":2}}],["selectively",{"2":{"55":1,"181":1}}],["select",{"2":{"61":1,"97":1,"120":1,"136":1,"138":3,"158":1,"181":7,"183":1}}],["selected",{"2":{"13":1,"28":1,"67":1,"92":1,"158":5,"182":1,"183":3}}],["self",{"2":{"51":1,"88":1,"106":1,"110":1,"181":1,"183":1}}],["sessions",{"2":{"80":1,"181":1,"183":2}}],["session",{"2":{"42":1,"55":1,"82":1,"181":7,"183":1}}],["sense",{"2":{"108":1,"183":1}}],["sensitive",{"2":{"22":1,"57":1,"84":1,"183":1}}],["sender",{"2":{"183":4}}],["sends",{"2":{"67":1,"179":1,"182":1}}],["send",{"2":{"55":1,"74":1,"87":1,"88":1,"102":1,"103":1,"107":1,"181":1,"183":5}}],["sending",{"2":{"23":1,"27":1,"57":1,"87":1,"89":2,"183":12}}],["senior",{"2":{"24":2}}],["sentences",{"2":{"57":3,"58":3,"61":3,"67":3,"90":1,"160":1,"171":1,"182":11,"183":4}}],["sentence",{"2":{"31":1,"57":1,"58":6,"61":1,"67":4,"77":1,"90":2,"108":3,"182":6,"183":6}}],["sentiment",{"2":{"17":1}}],["sent",{"0":{"92":1},"2":{"0":1,"22":1,"75":1,"84":1,"92":3,"102":1,"108":1,"182":3,"183":6}}],["several",{"2":{"22":1,"37":1,"86":1,"108":1,"110":1,"154":1,"160":2,"183":3}}],["seven",{"2":{"7":1}}],["secret",{"2":{"72":1,"95":1,"171":1}}],["secrets",{"2":{"58":4,"183":4}}],["sections",{"2":{"153":2,"160":4,"164":1,"183":2}}],["section",{"2":{"17":1,"22":1,"37":1,"59":1,"69":1,"72":1,"95":1,"98":1,"99":1,"152":2,"153":2,"160":1,"164":1}}],["seconds",{"2":{"10":1,"11":1,"20":2,"22":1,"23":1,"26":1,"30":1,"31":1,"55":3,"74":1,"87":1,"97":2,"98":1,"106":1,"181":2,"183":18}}],["second",{"2":{"7":4,"58":3,"67":1,"87":1,"107":3,"181":1,"182":4,"183":6}}],["seas",{"2":{"89":2,"183":2}}],["seats",{"2":{"88":2}}],["sea",{"2":{"58":1,"183":1}}],["searches",{"2":{"183":3}}],["searching",{"2":{"182":1,"183":2}}],["search",{"2":{"11":1,"13":1,"16":1,"21":2,"24":3,"49":1,"50":11,"52":1,"55":2,"61":4,"66":2,"67":4,"89":1,"118":2,"120":2,"121":2,"123":1,"124":12,"131":2,"132":3,"133":5,"179":12,"180":1,"181":4,"182":32,"183":8}}],["seamless",{"0":{"11":1},"2":{"0":1}}],["semantic",{"2":{"8":1,"16":1,"133":1,"182":3}}],["semi",{"2":{"6":1,"7":4}}],["semijoin",{"2":{"6":1}}],["setter",{"2":{"182":1}}],["settings",{"2":{"79":1,"181":1}}],["setting",{"0":{"76":1,"80":1},"2":{"55":1,"65":1,"90":1,"181":1,"183":1}}],["setpropertynested",{"2":{"67":2,"182":7,"183":1}}],["setup",{"0":{"84":1},"2":{"22":1,"69":1,"79":1,"83":1,"95":1,"167":1,"175":1,"181":1}}],["sets",{"2":{"4":1,"5":4,"6":2,"7":5,"67":1,"108":1,"126":1,"181":1,"182":5,"183":3}}],["set",{"0":{"7":1,"73":2},"2":{"3":2,"4":1,"7":5,"8":1,"10":2,"12":1,"15":1,"18":1,"21":2,"23":1,"24":1,"27":1,"29":2,"30":2,"31":2,"42":2,"49":1,"51":1,"54":2,"55":20,"56":1,"57":1,"58":1,"59":1,"60":2,"61":1,"63":2,"67":5,"72":1,"73":2,"74":1,"76":2,"78":1,"79":5,"80":2,"85":1,"87":1,"88":1,"95":5,"106":1,"108":2,"120":1,"133":1,"152":1,"153":1,"154":1,"167":1,"169":1,"171":1,"175":1,"181":13,"182":18,"183":54}}],["seem",{"2":{"183":1}}],["seems",{"2":{"183":2}}],["seel",{"2":{"55":1,"181":1}}],["seek",{"2":{"12":1,"35":1,"41":1}}],["see",{"0":{"92":1},"2":{"2":3,"7":1,"8":3,"10":4,"13":3,"17":1,"19":1,"21":1,"22":1,"23":3,"24":4,"26":2,"32":1,"37":2,"50":1,"52":2,"55":11,"59":1,"61":4,"66":1,"67":9,"69":1,"70":1,"74":2,"75":1,"79":2,"80":2,"81":1,"83":1,"84":2,"85":1,"87":1,"88":1,"90":1,"92":4,"93":1,"95":2,"98":1,"99":1,"102":1,"105":2,"106":4,"108":8,"118":1,"179":1,"181":17,"182":40,"183":83}}],["serializable",{"2":{"183":4}}],["serialization",{"2":{"1":1,"89":1,"105":1}}],["serialized",{"2":{"93":1}}],["serializes",{"2":{"93":1}}],["series",{"2":{"58":1,"78":1,"183":2}}],["serves",{"2":{"61":1}}],["serve",{"2":{"35":1,"84":1}}],["serverpreference",{"2":{"183":1}}],["server`",{"2":{"183":1}}],["servers",{"2":{"183":1}}],["server",{"0":{"28":1},"2":{"0":2,"25":1,"28":4,"37":1,"183":16}}],["services",{"2":{"71":1}}],["service",{"2":{"23":1,"26":1,"71":1,"84":1}}],["sum",{"2":{"183":3}}],["summarizing",{"2":{"152":1,"153":1,"154":1}}],["summarize",{"2":{"110":1,"152":2,"153":1}}],["summary",{"2":{"58":1,"152":1,"153":5,"168":1,"169":1,"171":1,"177":1,"183":1}}],["sunny",{"2":{"183":10}}],["sunnweiwei",{"2":{"118":1,"182":1}}],["sun",{"2":{"182":3}}],["suitability",{"2":{"142":1}}],["suitable",{"2":{"22":1,"58":1,"138":1,"144":1,"145":1,"147":1,"158":1,"160":2,"183":2}}],["suggesting",{"2":{"183":1}}],["suggestion",{"2":{"141":1,"142":1}}],["suggestions",{"2":{"24":1,"140":5,"141":5,"142":5}}],["suggests",{"2":{"150":1}}],["suggested",{"2":{"110":1}}],["suggest",{"2":{"110":1,"111":1}}],["suffixed",{"2":{"183":1}}],["suffix",{"2":{"55":3,"183":5}}],["suffering",{"2":{"35":1,"183":2}}],["super",{"2":{"152":1,"153":1}}],["supertype",{"2":{"101":1}}],["superseded",{"2":{"42":1}}],["supplied",{"2":{"10":1,"52":1,"55":1,"106":1,"181":1}}],["suppose",{"2":{"5":1,"7":1}}],["support",{"2":{"23":2,"27":1,"32":1,"60":1,"61":2,"67":11,"71":1,"78":1,"182":22,"183":13}}],["supports",{"2":{"0":1,"182":2,"183":2}}],["supported",{"2":{"0":1,"10":1,"43":1,"60":1,"67":2,"86":1,"108":2,"182":4,"183":12}}],["survey",{"2":{"154":5,"156":1}}],["surrounding",{"2":{"67":1,"182":7}}],["surface",{"2":{"13":1,"63":1,"158":1,"183":2}}],["sure",{"2":{"4":1,"7":1,"8":1,"37":2,"55":1,"67":1,"79":2,"95":2,"108":1,"138":1,"162":1,"164":1,"181":1,"182":5,"183":4}}],["subdocumenttermmatrix",{"2":{"182":2,"183":1}}],["subchunkindex",{"2":{"182":5,"183":1}}],["subcomponents",{"2":{"67":1,"182":1}}],["subject",{"2":{"160":2}}],["subheadings",{"2":{"152":2}}],["subheading",{"2":{"152":1}}],["submitted",{"2":{"71":1,"140":1}}],["sub",{"2":{"61":1,"63":1,"67":6,"77":1,"107":1,"154":1,"182":18,"183":4}}],["subseq",{"2":{"183":5}}],["subsequence",{"2":{"57":6,"58":17,"183":25}}],["subsequent",{"2":{"55":1,"58":1,"88":1,"181":3,"183":3}}],["subset",{"2":{"167":1,"175":1,"182":5}}],["substantial",{"2":{"153":1}}],["substring",{"2":{"61":2,"182":2,"183":5}}],["subarray",{"2":{"45":1}}],["subfolder",{"2":{"11":3}}],["subfolders",{"2":{"11":1}}],["subtype",{"2":{"0":1,"101":1}}],["subtypes",{"2":{"0":1,"55":2,"64":2,"67":3,"86":1,"102":2,"181":2,"182":4}}],["suceeding",{"2":{"182":1}}],["succinct",{"2":{"130":1}}],["successfully",{"2":{"55":2,"132":1,"181":1,"183":3}}],["successful",{"2":{"55":5,"88":1,"108":1,"121":1,"181":8,"183":2}}],["success",{"2":{"4":1,"55":7,"88":2,"181":13,"183":9}}],["succeeding",{"2":{"2":1}}],["such",{"2":{"0":1,"55":1,"93":1,"120":1,"140":3,"142":1,"158":1,"181":1,"182":2,"183":10}}],["iobuffer",{"2":{"182":1}}],["io",{"2":{"182":17,"183":24}}],["illustrated",{"2":{"155":1,"156":1}}],["illustrate",{"2":{"154":1,"161":1,"163":1,"170":1}}],["i>macro",{"2":{"183":1}}],["i>method",{"2":{"182":1,"183":5}}],["i>",{"2":{"58":1,"182":1,"183":6}}],["i>function",{"2":{"58":1}}],["iphone",{"2":{"12":4,"35":1,"41":2,"183":7}}],["ignored",{"2":{"183":1}}],["ignores",{"2":{"183":2}}],["ignore",{"2":{"11":4,"171":1}}],["immediate",{"2":{"183":1}}],["immediately",{"2":{"89":1,"177":1,"182":2,"183":1}}],["im",{"2":{"183":2}}],["imagine",{"2":{"11":1,"77":1}}],["image",{"0":{"20":1},"2":{"10":2,"20":7,"43":6,"106":2,"177":7,"178":1,"183":88}}],["images",{"0":{"43":1},"2":{"10":2,"20":1,"42":1,"43":1,"50":2,"104":2,"106":2,"179":2,"183":17}}],["impact",{"2":{"61":1,"126":1,"140":2}}],["impartial",{"2":{"17":1,"127":2,"128":1,"137":1}}],["improper",{"2":{"142":1}}],["improving",{"2":{"14":1,"55":1,"141":1,"142":1,"181":1}}],["improved",{"2":{"110":1,"111":1}}],["improvements",{"2":{"110":2,"111":2,"140":1,"142":1}}],["improvement",{"2":{"71":1,"110":4,"140":1,"141":1}}],["improves",{"2":{"19":1}}],["improve",{"2":{"8":1,"21":1,"54":1,"55":1,"66":2,"71":3,"110":6,"112":1,"124":1,"130":1,"131":1,"132":1,"133":1,"134":1,"141":1,"181":2,"182":2,"183":2}}],["imprints",{"2":{"58":1,"183":1}}],["impermanence",{"2":{"12":1}}],["imported",{"2":{"180":1}}],["imports",{"2":{"55":2,"183":7}}],["important",{"2":{"8":1,"67":2,"120":2,"132":1,"152":2,"154":1,"162":1,"164":1,"182":2,"183":3}}],["import",{"2":{"1":1,"21":1,"24":2,"32":1,"37":1,"48":1,"51":1,"57":1,"59":1,"85":1,"182":1,"183":2}}],["implementing",{"2":{"183":1}}],["implement",{"2":{"54":1,"55":1,"61":1,"181":1,"183":1}}],["implements",{"2":{"52":1,"181":2}}],["implemented",{"2":{"0":1,"106":1,"182":4}}],["implementations",{"2":{"61":1,"64":1}}],["implementation",{"2":{"0":1,"61":1,"86":2,"110":1,"111":2,"118":1,"182":12,"183":7}}],["ie",{"2":{"10":3,"24":1,"55":4,"57":1,"58":2,"59":1,"66":1,"67":2,"74":1,"77":1,"89":2,"90":1,"104":1,"106":3,"108":1,"181":7,"182":16,"183":19}}],["irrelevant",{"2":{"8":1,"124":1}}],["idx",{"2":{"182":3}}],["idiomatic",{"2":{"110":1}}],["idempotent",{"2":{"183":10}}],["identity",{"2":{"182":1,"183":5}}],["identifies",{"2":{"183":2}}],["identified",{"2":{"132":1,"154":1,"182":2}}],["identifiers",{"2":{"67":1,"118":1,"120":1,"182":1,"183":2}}],["identifier",{"2":{"67":1,"118":1,"120":1,"181":1,"182":6,"183":11}}],["identifying",{"2":{"183":2}}],["identify",{"2":{"110":1,"120":1,"141":1,"142":1,"153":1,"154":1}}],["identical",{"2":{"57":1,"108":1,"182":1}}],["ideal",{"2":{"162":1}}],["ideally",{"2":{"1":1,"2":1,"3":1,"158":2,"183":2}}],["ideas",{"2":{"8":1,"177":1}}],["idea",{"2":{"5":1,"13":1,"183":3}}],["id`",{"2":{"55":1,"181":1}}],["ids",{"2":{"7":2,"136":1,"138":1,"182":3,"183":11}}],["id",{"2":{"7":11,"55":53,"61":1,"67":3,"93":2,"136":1,"181":69,"182":19,"183":71}}],["id=",{"2":{"7":2,"58":1,"182":1,"183":6}}],["i",{"0":{"70":1,"78":1,"91":1,"92":1},"2":{"2":1,"11":1,"12":5,"13":4,"21":2,"22":1,"23":5,"24":1,"26":5,"30":3,"31":5,"34":2,"35":2,"39":1,"40":1,"41":5,"42":1,"54":2,"55":3,"58":2,"61":1,"87":4,"88":2,"90":1,"92":5,"107":1,"108":7,"110":2,"111":2,"112":2,"121":1,"181":10,"182":6,"183":48}}],["if",{"0":{"70":1,"78":1},"2":{"1":1,"2":1,"10":5,"13":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":2,"22":1,"23":2,"24":4,"26":2,"27":1,"28":1,"32":1,"37":1,"39":1,"42":2,"52":2,"54":3,"55":40,"57":1,"58":8,"60":2,"61":2,"63":1,"65":2,"66":3,"67":21,"73":5,"74":5,"75":2,"77":2,"84":1,"85":1,"86":2,"87":1,"88":6,"89":5,"93":3,"97":1,"98":1,"102":1,"106":4,"108":6,"110":3,"111":1,"116":1,"120":2,"121":2,"123":5,"124":6,"126":2,"137":1,"138":2,"140":2,"141":3,"142":3,"152":4,"153":2,"154":1,"156":1,"160":2,"167":3,"168":1,"169":2,"171":2,"174":1,"175":3,"181":47,"182":60,"183":218}}],["inactive",{"2":{"183":2}}],["inactived",{"2":{"183":1}}],["inanimate",{"2":{"35":1}}],["inherit",{"2":{"182":1}}],["inefficiencies",{"2":{"142":1}}],["initializes",{"2":{"183":1}}],["initialized",{"2":{"183":11}}],["initialize",{"2":{"183":13}}],["initialisms",{"2":{"132":1}}],["initiate",{"2":{"55":1,"181":1,"183":1}}],["inline",{"2":{"110":3}}],["injects",{"2":{"132":1}}],["injected",{"2":{"118":1,"182":1}}],["inject",{"2":{"97":1,"183":1}}],["involve",{"2":{"183":2}}],["involved",{"2":{"0":1}}],["inverse",{"2":{"182":2}}],["investigating",{"2":{"182":3}}],["investigate",{"2":{"61":1}}],["invalid",{"2":{"55":2,"67":2,"182":2,"183":2}}],["inferred",{"2":{"183":1}}],["inferfaces",{"2":{"183":1}}],["influential",{"2":{"171":1}}],["influence",{"2":{"55":1,"108":1,"181":1}}],["informal",{"2":{"160":1}}],["informative",{"2":{"152":1,"153":1,"164":1}}],["information",{"2":{"0":2,"6":1,"10":1,"17":1,"19":1,"23":3,"26":3,"29":1,"30":1,"50":1,"52":1,"55":2,"59":1,"63":1,"67":4,"71":1,"74":1,"75":1,"81":1,"83":1,"84":1,"85":1,"90":1,"92":1,"100":1,"103":1,"104":2,"106":1,"108":1,"116":2,"123":2,"124":1,"126":4,"127":1,"128":1,"132":2,"134":1,"144":1,"145":1,"147":1,"152":1,"153":1,"160":1,"168":1,"169":1,"171":1,"179":1,"181":5,"182":6,"183":64}}],["informed",{"2":{"6":1}}],["info",{"2":{"4":1,"7":2,"10":1,"11":2,"20":2,"22":1,"23":1,"26":1,"30":1,"31":1,"55":10,"58":2,"61":1,"87":2,"88":2,"97":2,"98":1,"106":1,"108":1,"181":10,"183":13}}],["inplace",{"2":{"181":6}}],["inplace=true",{"2":{"55":1,"181":1}}],["input=",{"2":{"108":2}}],["input2",{"2":{"58":3,"183":3}}],["input1",{"2":{"58":3,"183":3}}],["inputclassifier",{"0":{"136":1},"2":{"18":1,"88":1,"183":3}}],["inputs",{"2":{"10":2,"21":1,"52":3,"54":1,"89":1,"100":1,"102":1,"105":1,"106":2,"108":1,"167":1,"175":1,"182":3,"183":6}}],["input",{"2":{"10":2,"18":4,"67":1,"88":2,"106":2,"108":3,"133":1,"136":7,"138":3,"171":1,"182":18,"183":23}}],["inches",{"2":{"183":1}}],["incredible",{"2":{"152":1}}],["increase",{"2":{"52":1,"76":1,"181":1,"183":3}}],["incorporating",{"2":{"182":2}}],["incorrect",{"2":{"142":1}}],["inconsistencies",{"2":{"141":1}}],["inconsistent",{"2":{"127":1}}],["incomplete",{"2":{"127":1,"183":3}}],["including",{"2":{"10":1,"17":1,"25":1,"52":1,"84":1,"108":1,"171":1,"181":2,"182":3,"183":18}}],["includes",{"2":{"7":1,"67":2,"83":1,"181":2,"182":6,"183":1}}],["included",{"2":{"7":1,"111":1,"153":1,"180":1,"182":2,"183":5}}],["include",{"2":{"2":1,"7":1,"10":1,"50":9,"61":2,"67":1,"106":1,"130":1,"131":1,"132":1,"142":1,"152":2,"153":1,"167":1,"175":1,"179":9,"182":9,"183":14}}],["indentation",{"2":{"182":1}}],["independent",{"2":{"181":1}}],["index>",{"2":{"182":1}}],["indexing",{"2":{"67":1,"168":1,"169":1,"182":1}}],["indexes",{"2":{"182":7}}],["indexed",{"2":{"66":2,"67":1,"182":1}}],["indexer",{"2":{"64":1,"67":12,"182":13}}],["index",{"2":{"2":16,"3":1,"4":2,"6":1,"7":2,"8":3,"10":1,"60":5,"61":11,"63":5,"64":5,"65":2,"66":5,"67":54,"182":205,"183":2}}],["industry",{"2":{"132":1}}],["indifferent",{"2":{"58":1,"183":1}}],["individual",{"2":{"55":2,"75":1,"127":1,"181":2,"182":2,"183":1}}],["indication",{"2":{"154":1}}],["indicating",{"2":{"67":1,"138":2,"181":1,"182":13,"183":18}}],["indicate",{"2":{"140":1,"142":1,"181":2}}],["indicated",{"2":{"118":1}}],["indicates",{"2":{"55":3,"171":1,"181":4,"183":1}}],["indices",{"2":{"8":1,"67":1,"182":23,"183":2}}],["inserted",{"2":{"183":2}}],["insert",{"2":{"183":1}}],["inserting",{"2":{"182":1}}],["insufficient",{"2":{"75":1}}],["inside",{"2":{"55":2,"183":3}}],["insights",{"2":{"6":1,"152":5}}],["inspired",{"2":{"21":1,"55":1,"130":1,"131":1,"171":1,"181":1,"183":3}}],["inspect",{"2":{"13":1,"55":2,"181":1,"183":5}}],["instructor",{"2":{"183":3}}],["instruction",{"2":{"182":3,"183":1}}],["instructions>",{"2":{"175":4}}],["instructions=",{"2":{"67":1,"120":1,"121":1,"126":1,"152":1,"153":1,"154":1,"167":1,"169":1,"171":1,"175":1,"182":2}}],["instructions",{"2":{"4":1,"36":1,"67":2,"103":1,"105":1,"110":3,"116":1,"120":9,"121":5,"123":1,"124":1,"126":9,"127":1,"136":1,"138":1,"140":6,"141":1,"142":2,"144":1,"145":1,"147":1,"152":7,"153":6,"154":3,"156":4,"158":2,"160":2,"164":1,"167":7,"168":4,"169":6,"171":9,"175":6,"177":1,"182":2,"183":1}}],["instruct",{"2":{"28":1,"108":1}}],["installation",{"0":{"96":1},"2":{"84":1}}],["installated",{"2":{"37":1}}],["installing",{"2":{"55":1,"183":2}}],["installed",{"2":{"22":1,"84":1,"96":2}}],["instant",{"0":{"82":1}}],["instantiating",{"2":{"182":1}}],["instantiation",{"2":{"55":2,"183":2}}],["instantiated",{"2":{"10":1,"52":1,"106":1,"183":1}}],["instance",{"2":{"10":2,"19":1,"52":2,"55":2,"63":1,"106":2,"171":3,"181":18,"183":6}}],["instead",{"2":{"15":1,"24":1,"58":1,"90":1,"110":1,"111":1,"171":1,"182":2,"183":8}}],["innerjoin",{"2":{"7":2}}],["inner",{"2":{"6":1,"7":5,"93":1}}],["int16",{"2":{"183":1}}],["intricate",{"2":{"183":5}}],["intro",{"2":{"58":2}}],["introduced",{"2":{"42":1}}],["introduction",{"0":{"48":1,"51":1,"59":1},"1":{"49":1,"50":1,"52":1,"53":1,"54":1,"55":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1},"2":{"5":1,"111":1}}],["int=60",{"2":{"182":1}}],["int=3",{"2":{"182":1}}],["int=32000",{"2":{"181":1}}],["int=35000",{"2":{"58":4,"183":4}}],["int=1",{"2":{"181":1}}],["int=512",{"2":{"55":1,"181":1}}],["int64",{"2":{"7":3,"13":1,"24":1,"45":1,"61":4,"89":1,"183":3}}],["int",{"2":{"7":1,"19":2,"55":18,"58":2,"67":2,"88":5,"181":31,"182":38,"183":46}}],["into",{"0":{"11":1},"2":{"2":3,"10":1,"17":1,"18":1,"35":1,"45":1,"55":1,"57":6,"58":6,"59":1,"61":1,"66":1,"67":7,"82":1,"89":1,"92":2,"96":1,"106":1,"108":4,"132":1,"134":1,"152":2,"153":2,"154":2,"181":2,"182":25,"183":29}}],["intelligent",{"2":{"118":1}}],["intelligence",{"2":{"16":1}}],["intent",{"2":{"133":1}}],["intention",{"2":{"63":1,"180":1}}],["intended",{"2":{"55":1,"66":2,"131":1,"133":1,"140":4,"181":2,"182":1,"183":2}}],["intends",{"2":{"36":1}}],["integrity",{"2":{"140":1}}],["integrates",{"2":{"61":1,"181":1}}],["integration",{"0":{"11":1},"2":{"0":2,"167":1,"175":1}}],["integer=1",{"2":{"55":1,"181":2}}],["integer",{"2":{"50":1,"67":10,"88":1,"179":1,"182":33,"183":9}}],["integers",{"2":{"7":1,"182":1,"183":3}}],["intersection",{"2":{"182":1}}],["interpolate",{"2":{"183":1}}],["interpolated",{"2":{"183":1}}],["interpolation",{"0":{"40":1},"2":{"97":1,"168":1,"169":1,"183":6}}],["interprets",{"2":{"150":1}}],["interested",{"2":{"108":1,"183":1}}],["interesting",{"2":{"41":1}}],["internally",{"2":{"67":1,"182":1}}],["internal",{"2":{"63":1,"67":1,"86":1,"160":3,"182":1,"183":1}}],["interface",{"0":{"62":1},"1":{"63":1,"64":1,"65":1,"66":1},"2":{"59":1,"66":1,"183":5}}],["intermediate",{"2":{"6":1,"61":2}}],["interaction",{"2":{"181":2}}],["interactions",{"2":{"171":1,"181":5,"183":2}}],["interactive",{"2":{"55":1,"61":1,"181":2}}],["interact",{"2":{"1":1,"10":1,"20":1,"52":1,"55":2,"101":1,"106":1,"181":2}}],["in",{"0":{"2":1,"81":1},"2":{"0":1,"1":2,"2":9,"3":1,"4":2,"6":3,"7":24,"8":4,"10":8,"11":6,"12":1,"13":3,"14":1,"15":3,"17":1,"18":1,"19":4,"20":4,"21":5,"22":2,"23":3,"24":15,"26":2,"28":3,"30":2,"31":2,"32":3,"35":1,"36":1,"37":1,"39":1,"41":1,"42":2,"49":1,"50":4,"52":1,"54":3,"55":54,"56":1,"57":4,"58":7,"60":4,"61":15,"63":6,"65":1,"66":3,"67":23,"69":1,"71":2,"73":6,"74":3,"75":1,"76":1,"77":1,"78":2,"79":4,"80":2,"82":1,"84":2,"86":2,"87":4,"88":4,"89":7,"91":2,"92":1,"93":1,"95":4,"97":4,"98":1,"105":2,"106":8,"107":7,"108":16,"110":7,"111":4,"112":1,"118":2,"120":3,"126":4,"127":3,"130":1,"131":2,"132":4,"133":1,"134":1,"136":1,"138":1,"140":4,"141":2,"142":4,"144":4,"145":3,"147":2,"152":2,"153":2,"154":3,"157":1,"158":1,"160":7,"161":3,"163":2,"164":2,"165":1,"166":2,"167":1,"170":3,"173":1,"174":5,"175":3,"178":1,"179":4,"180":2,"181":65,"182":134,"183":232}}],["itr2",{"2":{"58":2,"183":2}}],["itr1",{"2":{"58":2,"183":2}}],["iters",{"2":{"183":1}}],["iterative",{"2":{"181":1,"183":1}}],["iteratively",{"2":{"58":2,"112":1,"181":2,"183":2}}],["iterating",{"2":{"181":1}}],["iterations",{"2":{"111":1}}],["iteration",{"2":{"58":1,"181":2,"183":1}}],["iterates",{"2":{"183":1}}],["iterate",{"2":{"55":1,"181":1}}],["itemsextract",{"2":{"183":10}}],["items",{"2":{"7":2,"8":1,"63":1,"67":2,"108":1,"120":2,"132":1,"182":10,"183":13}}],["item",{"2":{"4":1,"5":1,"6":1,"7":3,"55":1,"67":1,"181":1,"182":11,"183":1}}],["itself",{"2":{"19":1,"54":1,"58":1,"67":1,"182":3,"183":4}}],["its",{"2":{"10":2,"12":1,"21":2,"24":1,"32":1,"52":3,"54":2,"55":2,"58":4,"61":2,"65":1,"67":4,"85":1,"89":1,"90":1,"93":1,"101":1,"104":1,"106":2,"123":1,"124":1,"126":1,"133":1,"140":2,"141":1,"153":3,"164":1,"168":1,"169":1,"171":3,"177":1,"181":6,"182":11,"183":13}}],["it",{"0":{"77":2,"99":1},"1":{"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1},"2":{"0":3,"2":4,"4":2,"5":1,"7":1,"8":2,"10":14,"11":4,"12":4,"13":4,"15":1,"17":1,"18":3,"19":2,"21":8,"22":3,"23":2,"24":11,"26":1,"28":5,"29":3,"30":3,"31":4,"32":3,"36":1,"37":1,"39":1,"40":1,"41":3,"42":4,"43":1,"49":1,"52":5,"54":6,"55":33,"57":1,"58":14,"59":2,"60":1,"61":2,"63":1,"67":17,"69":1,"72":2,"73":4,"74":3,"75":2,"76":1,"77":2,"78":1,"79":6,"80":1,"84":4,"85":2,"87":4,"88":8,"89":13,"90":1,"91":2,"92":2,"93":2,"95":6,"97":1,"99":3,"100":1,"101":1,"102":3,"103":2,"104":1,"105":4,"106":13,"107":8,"108":17,"110":5,"111":5,"112":1,"123":2,"124":2,"126":1,"127":1,"130":1,"131":2,"132":1,"133":2,"134":2,"136":1,"137":3,"138":2,"140":3,"142":2,"144":1,"150":1,"152":3,"154":2,"156":1,"160":3,"162":2,"164":2,"166":1,"167":4,"168":1,"169":1,"171":2,"174":1,"175":4,"177":1,"180":2,"181":63,"182":82,"183":219}}],["isolate",{"2":{"183":1}}],["istracermessage",{"2":{"183":2}}],["isextracted",{"2":{"183":4}}],["isn",{"2":{"108":1,"123":2,"183":3}}],["isnothing",{"2":{"7":1,"55":1,"88":1,"181":1,"182":1,"183":1}}],["issues",{"2":{"110":2,"142":1}}],["issue",{"2":{"57":1,"60":1,"67":1,"73":1,"110":2,"182":4}}],["islowercase",{"2":{"55":1,"181":1}}],["isvalid",{"2":{"21":1,"54":1,"55":4,"181":1,"183":4}}],["isa",{"2":{"10":4,"55":2,"88":1,"93":3,"106":4,"108":1,"181":2,"183":4}}],["is",{"0":{"77":1,"92":2},"2":{"0":7,"1":2,"2":4,"3":1,"5":2,"6":5,"7":18,"8":1,"10":11,"11":3,"12":1,"13":4,"15":1,"17":4,"19":4,"21":9,"22":2,"24":5,"28":5,"29":1,"30":3,"31":5,"32":1,"35":1,"36":1,"37":2,"39":1,"40":2,"41":4,"42":2,"43":1,"47":1,"48":1,"49":1,"50":9,"51":1,"52":6,"54":8,"55":44,"58":21,"59":2,"60":2,"61":2,"63":4,"65":2,"66":7,"67":53,"71":2,"73":5,"74":3,"75":1,"77":3,"78":2,"79":1,"83":2,"84":2,"86":2,"87":4,"88":5,"89":1,"91":1,"92":2,"93":1,"97":8,"98":5,"99":2,"101":3,"103":1,"104":2,"105":3,"106":12,"107":14,"108":16,"110":2,"111":2,"121":1,"123":3,"124":2,"126":3,"127":5,"130":1,"131":1,"132":3,"133":4,"134":2,"136":1,"137":3,"138":1,"140":1,"141":3,"142":2,"144":1,"145":1,"150":1,"152":1,"153":3,"157":1,"158":1,"159":1,"160":3,"161":1,"162":2,"163":1,"164":3,"165":1,"166":3,"167":2,"168":1,"169":1,"170":1,"171":1,"173":2,"174":4,"175":3,"177":1,"179":9,"180":5,"181":66,"182":173,"183":266}}],["dtm",{"2":{"182":2}}],["dynamically",{"2":{"183":2}}],["dynamic",{"2":{"181":1}}],["duplicates",{"2":{"182":1}}],["duplication",{"2":{"67":1,"182":1}}],["due",{"2":{"55":1,"183":2}}],["during",{"2":{"7":1,"55":3,"181":2,"182":1,"183":3}}],["drawn",{"2":{"182":5}}],["draft",{"2":{"160":1}}],["drafts",{"2":{"160":1}}],["drafteremailbrief",{"0":{"160":1}}],["driven",{"2":{"183":1}}],["drives",{"2":{"181":1}}],["drive",{"2":{"108":1}}],["dry",{"2":{"92":4,"183":22}}],["drops",{"2":{"55":1,"181":1}}],["dr",{"2":{"39":1,"120":2}}],["d",{"2":{"30":1,"31":1,"77":1,"90":1,"182":2,"183":1}}],["dllama",{"2":{"29":3}}],["dspy",{"2":{"21":1,"55":1,"181":1}}],["datetime",{"2":{"183":4}}],["date",{"2":{"120":1}}],["dates",{"2":{"120":1}}],["datastructtype",{"2":{"183":1}}],["dataset",{"2":{"6":1,"91":2,"171":1}}],["data=",{"2":{"183":1}}],["datadeps",{"2":{"182":2}}],["data>",{"2":{"144":4,"145":4,"174":4}}],["datamessage",{"2":{"10":2,"45":2,"46":1,"47":1,"104":1,"106":2,"183":14}}],["dataframerowsourcecontextquestionanswerretrieval",{"2":{"7":1}}],["dataframe",{"2":{"7":11,"13":1,"24":1,"183":2}}],["dataframeswhat",{"2":{"7":1}}],["dataframesmeta",{"2":{"1":1,"2":1}}],["dataframes",{"2":{"1":1,"2":3,"5":1,"13":1,"24":1,"120":2,"182":1,"183":2}}],["database",{"2":{"2":1,"5":2,"6":1,"7":11,"132":2}}],["databricks",{"0":{"29":1,"86":1},"2":{"0":1,"29":9,"67":1,"86":1,"182":1,"183":16}}],["databricksopenaischema",{"2":{"0":1,"29":2,"86":2,"183":3}}],["data",{"0":{"19":1,"71":1},"2":{"0":2,"2":4,"5":5,"6":4,"7":34,"8":2,"10":1,"19":3,"22":1,"24":6,"45":1,"55":9,"61":4,"63":3,"66":1,"71":7,"84":1,"104":1,"106":1,"108":2,"120":1,"144":6,"145":6,"147":6,"149":1,"159":5,"164":1,"166":6,"168":1,"171":1,"174":4,"181":18,"182":3,"183":22}}],["damaging",{"2":{"90":1}}],["day",{"2":{"77":1}}],["dashboard",{"2":{"76":1,"182":1}}],["dashboards",{"2":{"61":1}}],["dance",{"2":{"58":1,"183":1}}],["danced",{"2":{"58":1,"183":1}}],["dangerous",{"2":{"35":1,"183":1}}],["darkness",{"2":{"35":1}}],["daphodil",{"2":{"18":1,"183":1}}],["dall",{"2":{"10":1,"106":1,"183":5}}],["diagnostics",{"2":{"182":1}}],["diagram",{"0":{"64":1},"1":{"65":1},"2":{"63":1}}],["dimensionality",{"2":{"182":4}}],["dimension",{"2":{"182":10}}],["diligent",{"2":{"159":1}}],["dilemma",{"2":{"12":1}}],["dir",{"2":{"93":2,"183":19}}],["direction",{"2":{"183":3}}],["direct",{"2":{"154":1}}],["directly",{"2":{"55":1,"58":1,"65":2,"67":4,"76":1,"86":1,"89":2,"105":1,"126":2,"131":1,"133":1,"182":8,"183":8}}],["directory",{"2":{"24":3,"93":1,"183":11}}],["diverse",{"2":{"133":1}}],["divisible",{"2":{"182":1}}],["division",{"2":{"58":1,"183":1}}],["divides",{"2":{"66":1}}],["div",{"2":{"58":1,"182":1,"183":6}}],["div>",{"2":{"58":1,"182":1,"183":6}}],["digits",{"2":{"55":2,"88":1,"181":2}}],["digits=1",{"2":{"7":1}}],["didn",{"2":{"181":1}}],["did",{"2":{"24":1,"108":1}}],["disables",{"2":{"183":1}}],["disable",{"2":{"78":1,"183":1}}],["disabled",{"2":{"67":1,"182":1}}],["disk",{"2":{"66":1,"89":2,"105":1,"182":1,"183":4}}],["disney",{"2":{"58":2,"183":2}}],["displayed",{"2":{"183":1}}],["displaysize",{"2":{"182":2,"183":1}}],["display",{"2":{"13":1,"24":1,"61":1,"67":1,"87":1,"182":1,"183":2}}],["dispatching",{"2":{"58":1,"63":1,"182":32,"183":1}}],["dispatches",{"2":{"55":1,"61":1,"67":1,"181":1,"182":1}}],["dispatched",{"2":{"55":1,"181":1}}],["dispatch",{"2":{"13":1,"24":1,"42":1,"58":2,"63":2,"64":4,"65":2,"67":1,"102":1,"105":1,"168":2,"169":2,"181":1,"182":3,"183":6}}],["distinct",{"2":{"153":1,"154":1}}],["distinguished",{"2":{"168":1,"169":1}}],["distinguish",{"2":{"58":1,"183":1}}],["distributed",{"2":{"181":1}}],["distributing",{"2":{"171":1}}],["distributions",{"2":{"170":1}}],["distribution",{"2":{"61":1,"181":2}}],["distract",{"2":{"41":1}}],["distraction",{"2":{"11":1}}],["dist",{"2":{"58":6,"183":6}}],["distances",{"2":{"58":1,"183":1}}],["distance",{"2":{"8":1,"16":2,"57":3,"58":12,"182":10,"183":15}}],["discrimination",{"2":{"183":2}}],["discrepancies",{"2":{"140":1}}],["discrete",{"2":{"10":1,"106":1}}],["discounted",{"2":{"182":2}}],["discovery",{"2":{"126":1}}],["discovered",{"2":{"126":2}}],["discover",{"2":{"10":1,"41":1,"61":3,"64":1,"67":2,"105":1,"106":1,"181":1,"182":2}}],["discussed",{"2":{"153":2}}],["discuss",{"2":{"30":1,"31":1}}],["discussions",{"2":{"153":1}}],["discussion",{"2":{"11":1,"183":1}}],["differs",{"2":{"108":1}}],["differ",{"2":{"10":1,"106":1,"183":1}}],["differences",{"2":{"183":1}}],["difference",{"2":{"6":1,"7":2,"58":1,"106":1,"182":1,"183":1}}],["differently",{"2":{"10":1,"52":1,"88":1,"106":1,"183":1}}],["different",{"2":{"6":1,"7":2,"22":1,"55":4,"57":1,"67":1,"89":1,"110":2,"160":2,"167":1,"168":1,"169":1,"175":1,"181":5,"182":8,"183":10}}],["dicts",{"2":{"183":1}}],["dict=parameters",{"2":{"182":1}}],["dict=dict",{"2":{"182":1}}],["dictates",{"2":{"67":1,"182":3}}],["dictionaries",{"2":{"42":1,"102":1}}],["dictionary",{"2":{"15":1,"55":1,"61":1,"168":1,"169":1,"182":1,"183":17}}],["dict",{"2":{"6":4,"7":2,"61":1,"88":1,"92":3,"93":1,"107":3,"108":9,"182":13,"183":38}}],["doing",{"2":{"183":1}}],["dollar",{"2":{"91":1}}],["dolphin",{"2":{"37":1}}],["domluna",{"2":{"182":1}}],["domain",{"2":{"132":1,"141":1}}],["domains",{"2":{"50":4,"179":4,"182":6}}],["dominating",{"2":{"23":1,"26":1}}],["dot",{"2":{"16":1,"183":2}}],["double",{"2":{"11":1,"71":1,"80":1,"168":1,"169":1,"183":1}}],["doewhat",{"2":{"7":1}}],["doe",{"2":{"7":6}}],["doesn",{"2":{"183":2}}],["does",{"0":{"77":1},"2":{"2":1,"7":1,"10":1,"36":1,"41":1,"52":1,"55":2,"67":1,"71":2,"78":3,"88":1,"90":1,"92":1,"106":1,"110":1,"111":1,"127":2,"181":1,"182":7,"183":16}}],["don",{"2":{"6":1,"8":1,"24":1,"37":1,"39":1,"103":1,"108":1,"116":3,"120":1,"121":1,"123":3,"124":3,"126":1,"152":2,"153":1,"154":1,"167":1,"169":1,"171":1,"175":1,"182":2,"183":7}}],["done",{"2":{"2":1,"7":1,"55":1,"61":1,"67":1,"85":1,"107":1,"108":1,"140":3,"141":3,"142":3,"181":2,"182":1,"183":10}}],["downstream",{"2":{"88":1,"97":1}}],["downloads",{"2":{"43":1,"183":6}}],["downloaded",{"2":{"22":1}}],["download",{"2":{"10":1,"24":1,"37":1,"43":2,"84":2,"106":1,"182":1,"183":10}}],["down",{"2":{"2":1,"58":1,"63":1,"111":1,"183":1}}],["do",{"0":{"8":1,"90":1},"2":{"2":1,"6":1,"7":4,"10":1,"11":2,"12":3,"13":3,"19":2,"20":1,"21":2,"23":1,"24":1,"26":1,"34":1,"35":1,"36":1,"41":1,"46":1,"54":2,"55":6,"58":1,"63":2,"72":2,"73":2,"74":1,"78":1,"82":1,"87":1,"88":2,"89":1,"90":1,"95":2,"106":1,"108":6,"110":2,"111":2,"112":1,"118":1,"124":1,"152":3,"153":1,"167":1,"171":1,"175":1,"181":6,"182":2,"183":36}}],["doc9",{"2":{"61":1}}],["doc2",{"2":{"61":1}}],["doc5",{"2":{"61":1}}],["doc15",{"2":{"61":1}}],["doc8",{"2":{"61":1}}],["doc$i",{"2":{"61":1}}],["doc",{"2":{"46":2,"67":4,"182":4,"183":5}}],["doctor1",{"2":{"7":1}}],["doctorwhat",{"2":{"7":2}}],["doctor",{"2":{"7":2}}],["documenttermmatrix",{"2":{"182":6,"183":1}}],["documented",{"2":{"63":1}}],["document",{"0":{"45":1},"2":{"2":1,"7":1,"10":1,"45":1,"64":1,"67":9,"120":1,"182":21,"183":5}}],["documents",{"0":{"46":1},"2":{"2":1,"7":1,"46":1,"58":2,"60":2,"61":2,"67":3,"140":1,"182":16,"183":6}}],["documentation",{"2":{"1":1,"19":1,"32":1,"50":1,"61":1,"67":1,"72":1,"95":1,"102":1,"108":1,"120":1,"130":1,"179":1,"182":1,"183":8}}],["docstring",{"2":{"80":1,"90":1,"108":1,"182":1,"183":7}}],["docstrings",{"2":{"19":1,"63":1,"147":1,"183":1}}],["docs",{"2":{"2":2,"21":1,"24":1,"46":1,"64":1,"67":6,"70":1,"75":2,"108":6,"182":33,"183":9}}],["dplyr",{"2":{"2":3}}],["degrees",{"2":{"183":9}}],["denote",{"2":{"152":1}}],["declaration",{"2":{"183":4}}],["declarations",{"2":{"142":1}}],["decoded",{"2":{"183":1}}],["decodes",{"2":{"183":1}}],["decode",{"2":{"108":1,"183":4}}],["decision",{"2":{"153":9}}],["decisions",{"2":{"6":1,"153":5}}],["decides",{"2":{"182":1}}],["decide",{"2":{"17":1,"18":1,"137":1}}],["deduplicate",{"2":{"67":1,"182":1}}],["dedicated",{"2":{"1":1,"23":1,"26":1,"106":1,"153":1}}],["deviations",{"2":{"142":1}}],["device",{"2":{"41":1}}],["developers",{"2":{"183":1}}],["developing",{"2":{"61":1}}],["development",{"2":{"61":1,"126":1}}],["dev",{"2":{"58":1,"183":1}}],["deem",{"2":{"132":1}}],["deemed",{"2":{"55":1,"183":1}}],["deepseek",{"2":{"183":6}}],["deepseekopenaischema",{"2":{"183":2}}],["deepdive",{"0":{"66":1}}],["deeper",{"2":{"65":2}}],["deep",{"2":{"41":1,"111":1,"112":1,"161":1,"163":1,"170":1,"174":1}}],["democards",{"2":{"58":1,"183":1}}],["demonstrate",{"2":{"55":1,"181":1}}],["demanding",{"2":{"28":1}}],["depot",{"2":{"73":1}}],["depth",{"2":{"50":3,"179":3}}],["depend",{"2":{"183":1}}],["dependencies",{"2":{"24":1,"59":1}}],["depends",{"2":{"13":1}}],["depending",{"2":{"10":1,"67":2,"75":1,"106":1,"164":1,"182":2,"183":1}}],["delim",{"2":{"183":2}}],["delicious",{"2":{"31":2,"108":8}}],["dels",{"2":{"66":1}}],["delay=2",{"2":{"55":1,"181":1}}],["delay",{"2":{"21":1,"54":1,"55":5,"181":7,"183":2}}],["delete",{"2":{"2":1,"4":1,"73":1}}],["defauls",{"2":{"183":1}}],["defaults",{"2":{"55":10,"58":4,"59":1,"63":1,"66":1,"67":19,"181":17,"182":30,"183":78}}],["default",{"0":{"85":1},"2":{"16":1,"37":1,"42":1,"50":7,"55":2,"58":1,"61":3,"63":1,"67":41,"85":2,"97":1,"106":1,"107":1,"108":1,"179":7,"181":1,"182":103,"183":68}}],["def2",{"2":{"182":1}}],["def",{"2":{"182":7}}],["defining",{"2":{"63":3}}],["definitions",{"2":{"183":2}}],["definition",{"2":{"55":1,"110":1,"171":7,"183":2}}],["defines",{"2":{"182":4,"183":5}}],["defined",{"0":{"18":1},"2":{"18":1,"55":1,"65":1,"66":1,"104":1,"105":2,"153":1,"162":1,"181":1,"182":3,"183":19}}],["define",{"2":{"2":1,"10":1,"19":2,"24":1,"37":1,"42":1,"55":1,"67":3,"88":2,"106":1,"107":1,"108":2,"140":1,"181":1,"182":3,"183":14}}],["deferring",{"2":{"55":1,"181":1}}],["deferred",{"2":{"10":1,"52":2,"55":2,"106":1,"181":3}}],["defer",{"2":{"17":1}}],["destination",{"2":{"183":1}}],["descending",{"2":{"118":1}}],["descriptive",{"2":{"152":2,"153":1}}],["description=>",{"2":{"183":2}}],["description=sig",{"2":{"108":2}}],["descriptions",{"2":{"18":1,"183":31}}],["description",{"0":{"155":1,"156":1},"1":{"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1},"2":{"13":1,"18":1,"24":4,"42":1,"89":2,"108":10,"110":1,"111":1,"112":1,"114":1,"116":1,"118":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"140":1,"141":1,"142":1,"144":2,"145":2,"147":1,"149":1,"150":1,"152":3,"153":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":5,"173":1,"174":1,"175":1,"177":1,"178":1,"183":41}}],["describes",{"2":{"136":1,"138":1,"158":1}}],["described",{"2":{"132":1,"140":1}}],["describe",{"2":{"20":2,"43":1,"152":1,"153":2,"166":1,"168":1,"174":1,"183":6}}],["despite",{"0":{"73":2},"2":{"183":1}}],["desired",{"2":{"57":2,"140":1,"142":1,"181":1}}],["designed",{"2":{"0":1,"10":4,"52":1,"55":2,"59":1,"63":2,"89":1,"106":4,"108":1,"181":2,"183":5}}],["deserialize",{"2":{"2":1,"183":1}}],["debugging",{"2":{"99":1,"182":1,"183":16}}],["debug",{"2":{"2":1,"67":1,"182":1,"183":1}}],["determining",{"2":{"183":1}}],["determines",{"2":{"100":1,"183":1}}],["determine",{"2":{"0":1,"4":1,"7":1,"158":1}}],["detects",{"2":{"183":3}}],["detected",{"2":{"183":1}}],["detect",{"2":{"183":2}}],["detachment",{"2":{"12":2}}],["detail=",{"2":{"183":1}}],["detailorientedtask",{"0":{"159":1}}],["detail",{"2":{"67":1,"80":1,"110":1,"111":1,"144":1,"145":1,"147":1,"159":2,"182":1,"183":14}}],["details",{"2":{"2":1,"10":2,"24":1,"37":1,"52":1,"55":2,"66":1,"67":9,"75":1,"105":2,"106":2,"108":2,"130":1,"131":1,"134":1,"144":1,"145":1,"147":1,"171":1,"181":8,"182":30,"183":12}}],["detailed",{"2":{"0":1,"55":2,"126":1,"140":1,"181":4}}],["aaazzam",{"2":{"183":1}}],["aai",{"2":{"11":2,"98":3,"183":11}}],["axolotl",{"2":{"91":1}}],["azure",{"0":{"86":1}}],["a>",{"2":{"58":1,"182":1,"183":6}}],["away",{"2":{"55":1,"58":1,"73":1,"181":1,"183":1}}],["awareness",{"2":{"67":1,"182":2}}],["aware",{"2":{"52":1,"57":1,"60":1}}],["acronyms",{"2":{"132":1}}],["across",{"2":{"55":1,"65":2,"67":2,"80":1,"108":1,"181":2,"182":5,"183":2}}],["achievable",{"2":{"58":1,"183":1}}],["achieve",{"2":{"34":1,"58":3,"82":1,"88":1,"181":1,"183":3}}],["acts",{"2":{"183":1}}],["action",{"2":{"153":1,"181":2}}],["actionable",{"2":{"140":1,"141":1,"142":1,"150":1,"153":1}}],["active",{"2":{"55":13,"181":17}}],["act",{"2":{"87":1,"92":1,"154":1,"183":1}}],["actually",{"2":{"28":1,"36":2,"110":1,"111":1,"171":1,"183":1}}],["actual",{"2":{"24":2,"55":1,"110":1,"111":1,"112":1,"171":1,"181":2}}],["accumulate",{"2":{"182":1}}],["accuracy",{"2":{"61":1,"140":1,"144":1,"145":1,"147":1,"182":5}}],["accurately",{"2":{"142":1,"150":1,"158":1,"178":1}}],["accurate",{"2":{"23":1,"26":1,"183":1}}],["account",{"2":{"72":2,"74":1,"75":2,"76":1,"78":1,"95":3}}],["according",{"2":{"58":1,"183":2}}],["accesor",{"2":{"182":1}}],["accesses",{"2":{"183":1}}],["accessed",{"2":{"89":1,"183":1}}],["accessible",{"2":{"164":1,"183":1}}],["accessing",{"2":{"72":1,"183":9}}],["accessors",{"2":{"182":1}}],["accessor",{"2":{"55":4,"181":2,"183":2}}],["access",{"0":{"70":1,"82":1},"2":{"21":1,"28":1,"31":1,"45":1,"51":1,"52":1,"54":1,"55":3,"59":1,"73":1,"78":2,"82":2,"84":1,"86":1,"88":1,"95":1,"100":1,"101":1,"116":1,"123":1,"124":1,"181":5,"182":7,"183":25}}],["accepts",{"2":{"55":3,"108":1,"181":4}}],["accept",{"2":{"55":3,"181":4,"182":1}}],["affection",{"2":{"183":1}}],["affects",{"2":{"8":1}}],["after",{"2":{"24":1,"55":5,"58":3,"67":2,"74":1,"88":1,"89":1,"97":1,"152":1,"153":1,"167":1,"175":1,"181":3,"182":4,"183":11}}],["amount",{"2":{"183":1}}],["among",{"2":{"171":1}}],["ambiguities",{"2":{"141":1}}],["amazing",{"2":{"102":1}}],["amazingly",{"2":{"22":1}}],["am",{"2":{"31":1,"41":1,"108":1,"183":6}}],["amp",{"0":{"4":1,"5":1,"6":1},"2":{"2":1,"3":1,"6":1,"7":1,"67":4,"182":4}}],["ah",{"2":{"12":1,"183":1}}],["administrator",{"2":{"170":1}}],["adhere",{"2":{"183":3}}],["adheres",{"2":{"142":1}}],["adherence",{"2":{"140":2,"144":1,"145":1,"147":1}}],["adapted",{"2":{"123":1,"124":1,"131":1,"133":1,"134":1}}],["adapt",{"2":{"91":1}}],["advisable",{"2":{"182":1}}],["advice",{"2":{"37":1,"58":2,"183":2}}],["advantages",{"2":{"61":1}}],["advancements",{"2":{"61":1}}],["advance",{"2":{"55":1,"181":1}}],["advancedgenerator",{"2":{"67":1,"182":3,"183":1}}],["advancedretriever",{"2":{"65":3,"67":4,"182":7,"183":1}}],["advanced",{"0":{"12":1,"35":1,"41":1},"2":{"50":2,"51":1,"67":3,"99":1,"120":1,"179":2,"182":4,"183":1}}],["adjectives",{"2":{"31":2,"108":8}}],["adjustments",{"2":{"140":2,"142":1}}],["adjusts",{"2":{"39":1,"41":1,"183":1}}],["adjust",{"2":{"24":1,"52":1,"171":1}}],["addresses",{"2":{"142":1}}],["addressed",{"2":{"110":1,"141":1}}],["address",{"2":{"110":1,"140":1,"171":1,"183":4}}],["addded",{"2":{"67":1,"182":1}}],["adding",{"2":{"57":1,"67":1,"78":1,"86":1,"108":1,"142":1,"153":1,"182":1,"183":3}}],["additionalproperties",{"2":{"183":1}}],["additional",{"2":{"49":1,"55":1,"63":1,"67":13,"97":1,"123":1,"124":1,"132":2,"152":1,"181":4,"182":22,"183":44}}],["addition",{"2":{"10":2,"18":1,"31":1,"63":1,"67":1,"106":1,"167":4,"175":4,"182":2,"183":2}}],["added",{"2":{"24":1,"37":1,"55":1,"58":2,"67":1,"181":1,"182":5,"183":6}}],["adds",{"2":{"11":1,"181":1,"182":3,"183":2}}],["add",{"2":{"8":3,"11":1,"13":2,"20":1,"24":7,"32":1,"39":1,"42":1,"47":1,"54":1,"55":3,"67":9,"78":1,"79":1,"82":2,"86":1,"89":2,"92":1,"96":1,"108":2,"132":1,"152":1,"181":9,"182":34,"183":16}}],["agreements",{"2":{"160":1}}],["agreed",{"2":{"153":2}}],["agnostic",{"2":{"92":1}}],["agents",{"2":{"51":1,"182":3}}],["agentic",{"2":{"51":1,"55":1,"180":1,"181":2}}],["agent",{"0":{"21":1,"51":1},"1":{"52":1,"53":1,"54":1,"55":1},"2":{"21":1,"55":1,"181":2,"183":1}}],["agenttools",{"0":{"181":1},"2":{"10":3,"21":1,"51":3,"55":6,"57":1,"88":1,"106":2,"180":2,"181":69,"183":35}}],["age",{"2":{"19":2,"183":14}}],["against",{"2":{"61":1,"67":1,"182":1,"183":1}}],["again",{"2":{"11":1,"89":1,"183":2}}],["auditing",{"2":{"183":2}}],["audience",{"2":{"140":5,"162":5,"164":2,"171":2}}],["authorization",{"2":{"183":2}}],["authentication",{"2":{"183":3}}],["auth",{"2":{"183":2}}],["auto",{"2":{"55":5,"140":1,"141":1,"142":1,"181":1,"183":11}}],["automatically",{"2":{"17":1,"24":1,"52":2,"55":2,"60":1,"61":1,"66":1,"73":1,"79":1,"93":6,"108":3,"182":1,"183":16}}],["automatic",{"0":{"54":1,"93":1},"2":{"10":1,"52":1,"55":1,"78":1,"106":1,"108":1,"183":1}}],["augment",{"2":{"132":1}}],["augmented",{"0":{"1":1},"1":{"2":1},"2":{"1":1,"59":1,"67":2,"180":1,"182":3}}],["avg",{"2":{"7":2}}],["average",{"2":{"7":1,"67":1,"127":1,"182":3}}],["available",{"2":{"6":1,"10":1,"13":2,"23":2,"24":4,"26":2,"32":2,"64":1,"66":2,"67":4,"73":1,"84":2,"86":1,"105":1,"106":1,"108":1,"136":1,"138":1,"152":1,"182":7,"183":24}}],["avoiding",{"2":{"61":1,"126":1}}],["avoided",{"2":{"11":1}}],["avoid",{"2":{"2":1,"42":1,"55":2,"58":1,"67":1,"74":1,"98":1,"110":1,"111":1,"168":1,"169":1,"182":5,"183":3}}],["april",{"2":{"15":1}}],["apostrophes",{"2":{"182":1}}],["apos",{"2":{"7":12}}],["appends",{"2":{"183":3}}],["append",{"2":{"181":1}}],["appended",{"2":{"55":1,"182":1,"183":2}}],["approximates",{"2":{"181":2}}],["appropriate",{"2":{"136":1,"138":3,"150":1,"183":1}}],["approach>",{"2":{"174":4}}],["approach",{"2":{"55":1,"106":1,"130":1,"166":4,"168":2,"169":1,"174":4,"181":1,"182":3}}],["appreciate",{"2":{"12":1}}],["applying",{"2":{"181":1,"182":1}}],["apply",{"2":{"58":1,"67":1,"144":1,"182":2,"183":4}}],["apples",{"2":{"183":2}}],["apple",{"2":{"31":2,"37":1,"108":8,"183":1}}],["applicable",{"2":{"67":1,"154":1,"182":2}}],["applications",{"2":{"10":1,"59":3,"60":1,"61":1,"67":1,"116":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"133":1,"134":1,"163":1,"167":1,"175":1,"182":1}}],["application",{"2":{"2":1,"61":1,"100":1,"101":1}}],["applied",{"2":{"10":1,"52":1,"55":1,"58":1,"60":1,"106":1,"181":1,"182":1,"183":13}}],["applies",{"2":{"2":1,"58":1,"66":1,"181":2,"183":1}}],["app",{"2":{"4":1,"84":1,"167":1,"175":1}}],["apikey",{"0":{"73":1}}],["apitools",{"0":{"48":1,"179":1},"1":{"49":1,"50":1},"2":{"48":2,"50":1,"179":4,"180":1,"183":2}}],["apis",{"0":{"23":1,"25":1,"27":1},"1":{"26":1,"27":1,"28":1,"29":1,"30":1,"31":1},"2":{"23":1,"36":1,"48":1,"69":1,"70":1,"77":1,"100":1,"103":1,"180":1}}],["api",{"0":{"23":1,"72":1,"73":2,"79":1,"80":1,"81":2,"86":1,"92":1,"101":1},"2":{"0":6,"2":1,"7":1,"8":1,"10":2,"20":1,"21":3,"23":10,"25":1,"26":4,"27":8,"28":1,"29":5,"30":2,"31":2,"32":4,"37":1,"42":1,"49":2,"50":5,"54":3,"55":8,"59":1,"65":5,"67":34,"71":3,"72":3,"73":5,"75":2,"76":1,"78":4,"79":10,"80":4,"81":1,"84":1,"86":3,"92":2,"93":3,"95":9,"100":2,"101":3,"102":2,"106":4,"107":7,"108":7,"179":11,"180":1,"181":10,"182":69,"183":314}}],["abbreviations",{"2":{"132":1}}],["ab",{"2":{"58":1,"183":2}}],["abcabc",{"2":{"58":1,"183":1}}],["abc",{"2":{"55":3,"58":7,"106":2,"181":3,"182":7,"183":9}}],["ability",{"2":{"31":1,"123":1,"124":1}}],["abilities",{"2":{"23":1,"26":1}}],["about",{"2":{"13":2,"24":1,"37":1,"52":1,"67":1,"88":1,"92":2,"93":2,"104":1,"107":1,"140":1,"161":1,"162":1,"163":1,"164":2,"165":1,"167":1,"168":1,"169":1,"170":1,"173":1,"175":1,"182":4,"183":19}}],["above",{"2":{"10":1,"13":2,"15":1,"17":1,"28":1,"57":1,"60":1,"67":1,"77":1,"106":2,"107":1,"110":1,"111":1,"112":1,"118":1,"127":1,"152":1,"160":1,"168":1,"169":1,"171":1,"181":1,"182":2,"183":5}}],["abs",{"2":{"55":1,"181":1}}],["absence",{"2":{"12":1}}],["abstractextracteddata",{"2":{"183":1}}],["abstractembedder",{"2":{"64":2,"67":2,"182":10}}],["abstractdict",{"2":{"183":3}}],["abstractdatamessage",{"2":{"183":1}}],["abstractdocumenttermmatrix",{"2":{"182":1}}],["abstractdocumentindex",{"2":{"67":4,"182":17}}],["abstractfloat",{"2":{"182":4}}],["abstractprocessor=keywordsprocessor",{"2":{"182":1}}],["abstractprocessor",{"2":{"67":2,"182":7}}],["abstractpromptschema",{"2":{"0":1,"55":1,"100":1,"101":1,"102":2,"181":1,"183":6}}],["abstractpostprocessor",{"2":{"64":1,"67":2,"182":4}}],["abstractstreamflavor",{"2":{"183":1}}],["abstractstreamcallback",{"2":{"183":4}}],["abstractstring=",{"2":{"55":4,"58":2,"182":1,"183":8}}],["abstractstring",{"2":{"10":2,"50":8,"55":6,"58":15,"64":3,"67":13,"106":2,"179":10,"181":4,"182":89,"183":108}}],["abstractsharegptschema",{"2":{"183":1}}],["abstractscoringmethod",{"2":{"181":4}}],["abstractsimilarityfinder",{"2":{"64":1,"67":1,"182":11}}],["abstractgenerationmethod",{"2":{"182":1}}],["abstractgenerator",{"2":{"64":3,"67":4,"182":8,"183":1}}],["abstractgoogleschema",{"2":{"0":1,"183":2}}],["abstracttracer",{"2":{"183":1}}],["abstracttracermessage",{"2":{"183":2}}],["abstracttracerschema",{"2":{"183":13}}],["abstracttrees",{"2":{"55":1,"181":1,"182":1}}],["abstracttagfilter",{"2":{"64":1,"67":1,"182":8}}],["abstracttagger",{"2":{"64":2,"67":4,"182":12}}],["abstractragconfig",{"2":{"64":3,"67":2,"182":3}}],["abstractragresult",{"2":{"63":2,"64":4,"66":1,"67":4,"182":14}}],["abstractretrievalmethod",{"2":{"182":1}}],["abstractretriever",{"2":{"63":2,"64":2,"67":4,"182":9,"183":1}}],["abstractrefiner",{"2":{"64":1,"67":4,"182":8}}],["abstractrephraser",{"2":{"64":1,"67":2,"182":9}}],["abstractreranker",{"2":{"63":1,"64":2,"67":2,"182":10}}],["abstractindexbuilder",{"2":{"64":2,"67":2,"182":7,"183":1}}],["abstractindex",{"2":{"63":1}}],["abstractcodeblock",{"2":{"183":1}}],["abstractcodeoutcome",{"2":{"55":2,"181":2}}],["abstractcontextbuilder",{"2":{"64":1,"67":2,"182":4}}],["abstractchunker",{"2":{"64":1,"67":2,"182":7}}],["abstractchunkindex",{"2":{"64":4,"67":1,"182":17,"183":1}}],["abstractchar",{"2":{"58":1,"183":1}}],["abstractchatmessage",{"2":{"24":2,"89":1,"107":1,"183":3}}],["abstractcandidatechunks",{"2":{"63":1,"182":6,"183":1}}],["abstractmatrix",{"2":{"182":13}}],["abstractmanagedschema",{"2":{"0":1,"183":2}}],["abstractmultiindex",{"2":{"182":2,"183":1}}],["abstractmessage",{"2":{"55":2,"61":1,"87":1,"88":1,"92":2,"103":1,"104":1,"181":6,"182":1,"183":100}}],["abstractvector",{"2":{"50":2,"55":1,"58":1,"67":6,"179":2,"181":4,"182":54,"183":48}}],["abstractannotationstyler",{"2":{"182":4}}],["abstractannotatednode",{"2":{"182":5}}],["abstractanswerer",{"2":{"64":1,"67":2,"182":4}}],["abstractanthropicschema",{"2":{"0":1,"183":6}}],["abstractarray",{"2":{"10":1,"106":1}}],["abstractoutcomes",{"2":{"181":1}}],["abstractollamamanagedschema",{"2":{"0":1,"183":6}}],["abstractollamaschema",{"2":{"0":1,"183":3}}],["abstractopenaischema",{"2":{"0":9,"86":2,"101":1,"102":1,"183":11}}],["abstract",{"2":{"0":1,"66":1,"67":2,"88":1,"108":2,"168":1,"169":1,"182":8}}],["able",{"2":{"2":1,"181":1}}],["arxiv",{"2":{"182":1}}],["arr",{"2":{"89":2,"182":3,"183":2}}],["arrays",{"2":{"168":1,"169":1,"183":1}}],["array",{"2":{"13":1,"22":1,"24":1,"45":1,"58":3,"61":3,"89":1,"182":5,"183":8}}],["arbitrary",{"2":{"88":1,"183":3}}],["art",{"2":{"69":1}}],["artificial",{"2":{"16":1}}],["articles",{"2":{"61":1,"183":2}}],["article",{"2":{"1":1}}],["arches",{"2":{"66":1}}],["arg2",{"2":{"183":1}}],["arg1",{"2":{"183":1}}],["argmin",{"2":{"58":2,"183":2}}],["argmax",{"2":{"58":1,"183":1}}],["args",{"2":{"55":5,"181":11,"182":1,"183":1}}],["argumenterror",{"0":{"73":2}}],["arguments",{"0":{"65":1,"81":1},"2":{"10":4,"12":1,"19":1,"21":1,"50":1,"52":2,"55":10,"58":5,"63":2,"65":2,"67":17,"98":1,"106":4,"108":2,"144":1,"145":1,"147":1,"149":1,"179":1,"181":27,"182":39,"183":91}}],["argument",{"2":{"6":1,"7":8,"10":2,"15":1,"21":2,"23":1,"24":1,"26":1,"39":1,"45":1,"54":2,"55":4,"58":1,"61":2,"63":2,"74":1,"87":2,"89":1,"106":2,"144":1,"145":1,"147":1,"181":5,"182":1,"183":12}}],["around",{"2":{"10":1,"58":1,"63":1,"67":1,"98":1,"102":1,"106":1,"171":1,"181":1,"182":5,"183":5}}],["areas",{"2":{"110":1}}],["are",{"2":{"0":1,"5":1,"6":1,"7":8,"10":1,"11":1,"12":1,"13":3,"17":1,"19":1,"21":1,"23":5,"24":12,"26":2,"27":3,"36":2,"37":1,"41":1,"52":3,"54":1,"55":12,"57":4,"58":6,"60":3,"61":4,"63":4,"64":1,"66":2,"67":11,"69":1,"70":1,"75":1,"78":1,"84":1,"85":1,"86":1,"88":2,"89":1,"92":1,"93":1,"100":2,"102":2,"103":2,"104":2,"105":2,"106":2,"107":4,"108":2,"110":4,"118":2,"124":3,"126":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":3,"140":1,"142":2,"144":1,"145":1,"147":1,"150":1,"152":1,"153":2,"156":1,"157":1,"159":2,"160":1,"161":2,"162":1,"163":2,"164":2,"165":1,"166":1,"167":3,"168":1,"169":1,"170":2,"171":4,"173":1,"174":1,"175":3,"178":1,"181":14,"182":41,"183":77}}],["atop",{"2":{"183":1}}],["atomic",{"2":{"67":10,"182":29}}],["ate",{"2":{"31":1,"108":3,"183":1}}],["attribute",{"2":{"182":2}}],["attract",{"2":{"133":1}}],["attempted",{"2":{"55":1,"181":3}}],["attempts",{"2":{"52":1,"55":2,"88":1,"181":3}}],["attempt",{"2":{"21":1,"54":1,"55":2,"181":2}}],["attach",{"2":{"183":5}}],["attached",{"2":{"12":1,"35":1,"41":1,"183":2}}],["attachments",{"2":{"12":1}}],["attachment",{"2":{"12":1,"35":1,"183":3}}],["at",{"2":{"1":1,"6":1,"7":1,"21":2,"23":1,"27":1,"31":1,"32":1,"34":1,"36":1,"43":1,"49":1,"51":1,"54":2,"55":5,"63":1,"66":1,"67":4,"69":1,"71":1,"74":1,"85":1,"100":1,"105":1,"107":1,"121":2,"127":2,"154":1,"181":12,"182":11,"183":23}}],["aspect",{"2":{"177":1}}],["aspects",{"2":{"140":1,"141":1,"142":1,"167":1,"175":1}}],["as=",{"2":{"89":2,"105":1,"183":1}}],["assesses",{"2":{"182":2}}],["assess",{"2":{"140":1}}],["assertion",{"2":{"183":1}}],["assertions",{"2":{"21":1,"55":1,"181":1}}],["assert",{"2":{"55":1,"108":2,"181":1,"182":2}}],["assigning",{"2":{"171":1}}],["assign",{"2":{"120":1,"127":1}}],["assistance",{"2":{"23":1,"26":1,"42":1}}],["assistant",{"2":{"12":1,"34":1,"87":1,"92":1,"93":1,"105":1,"107":2,"116":1,"118":1,"123":1,"124":1,"127":2,"128":1,"130":1,"132":1,"134":1,"140":3,"141":7,"142":2,"150":1,"157":2,"158":1,"159":1,"183":8}}],["assistantask",{"0":{"157":1},"2":{"10":1,"105":4,"106":1,"107":3}}],["assist",{"2":{"22":1,"23":1,"26":1,"30":2,"31":1,"34":1,"87":1,"183":10}}],["associated",{"2":{"85":1,"107":1,"153":1,"182":1,"183":5}}],["assuming",{"2":{"67":1,"75":1,"77":1,"182":3,"183":1}}],["assumed",{"2":{"181":1,"182":4,"183":1}}],["assumes",{"2":{"37":1,"67":1,"182":5,"183":5}}],["assume",{"2":{"22":1,"74":1,"96":1,"181":1,"182":2}}],["asterisk",{"2":{"11":1}}],["asynchronous",{"0":{"14":1},"2":{"98":1,"183":5}}],["asyncmap",{"2":{"7":1,"14":3,"46":2,"67":1,"74":3,"98":1,"182":4}}],["async",{"2":{"7":1,"46":1,"183":1}}],["asks",{"2":{"112":1,"160":2}}],["ask=",{"2":{"55":1,"106":2,"107":2,"181":1}}],["asked",{"0":{"68":1},"1":{"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1},"2":{"37":1,"182":1}}],["asking",{"2":{"13":1,"24":2,"157":1,"161":1,"163":1,"165":1,"170":1,"173":1,"183":2}}],["ask",{"2":{"2":1,"13":4,"21":2,"23":1,"24":8,"26":1,"31":1,"34":1,"42":1,"54":2,"55":2,"57":1,"60":1,"105":3,"107":7,"111":1,"157":3,"161":3,"163":3,"165":3,"170":3,"173":3,"181":2,"182":2,"183":6}}],["as",{"2":{"0":1,"2":1,"6":1,"7":4,"10":9,"11":1,"15":1,"16":1,"17":1,"18":1,"20":1,"21":2,"23":5,"24":5,"26":2,"27":2,"29":3,"30":2,"31":4,"32":1,"34":1,"39":1,"42":2,"43":2,"47":1,"48":1,"49":1,"51":1,"52":2,"54":3,"55":13,"58":15,"59":1,"61":2,"63":3,"66":1,"67":1,"74":1,"78":2,"79":3,"87":4,"88":4,"89":5,"90":1,"92":3,"93":1,"95":1,"98":2,"101":1,"104":1,"105":2,"106":7,"107":2,"108":12,"110":3,"116":1,"120":1,"123":2,"124":1,"127":1,"130":2,"131":2,"140":6,"141":1,"142":2,"144":3,"145":3,"147":3,"152":6,"153":4,"154":3,"158":2,"160":4,"162":2,"164":1,"167":3,"171":1,"175":3,"178":2,"181":28,"182":34,"183":128}}],["a",{"0":{"1":1,"4":1,"5":1,"6":1,"89":1,"90":1,"91":1},"1":{"2":1},"2":{"0":3,"1":2,"2":6,"3":3,"4":1,"5":2,"6":9,"7":16,"8":2,"10":14,"11":6,"12":7,"13":7,"15":3,"16":1,"17":4,"18":3,"19":6,"20":5,"21":6,"22":1,"23":3,"24":23,"25":1,"26":3,"28":2,"29":1,"30":3,"31":4,"32":1,"34":2,"35":2,"36":2,"37":1,"39":1,"40":1,"41":5,"42":3,"43":1,"45":1,"47":1,"50":2,"51":1,"52":12,"54":3,"55":47,"56":2,"57":12,"58":35,"59":2,"60":6,"61":8,"63":6,"66":6,"67":42,"73":2,"74":5,"75":1,"76":4,"77":8,"78":1,"79":5,"84":3,"86":2,"87":5,"88":14,"89":11,"91":7,"92":3,"93":4,"95":1,"97":2,"100":1,"101":2,"102":1,"103":4,"104":1,"105":8,"106":13,"107":6,"108":24,"110":4,"111":1,"112":1,"116":1,"120":2,"123":1,"124":1,"126":4,"127":4,"128":4,"130":3,"131":3,"132":4,"133":1,"134":4,"136":2,"138":2,"140":7,"141":7,"142":5,"144":2,"145":2,"147":2,"150":5,"152":9,"153":6,"154":3,"157":1,"158":7,"159":2,"160":5,"161":1,"162":3,"163":1,"164":5,"165":1,"166":1,"167":8,"168":2,"169":3,"170":1,"171":6,"173":1,"174":2,"175":8,"177":4,"178":1,"179":2,"181":85,"182":216,"183":561}}],["al",{"2":{"182":3}}],["algorithm",{"2":{"182":5}}],["algorithms",{"2":{"55":1,"61":1,"181":2}}],["alignment",{"2":{"144":1,"145":1,"147":1}}],["aligns",{"2":{"140":1,"182":2,"183":2}}],["aligned",{"2":{"131":1,"133":1,"182":1}}],["align",{"2":{"127":1,"140":1,"142":1,"182":4,"183":7}}],["aliased",{"2":{"31":1}}],["aliases",{"0":{"15":1},"2":{"15":5,"29":1,"37":1,"42":1,"78":1,"86":2,"183":35}}],["alias",{"2":{"7":1,"29":1,"30":1,"31":1,"33":1,"42":1,"108":2,"182":1,"183":33}}],["alexander",{"2":{"126":3}}],["almost",{"2":{"63":1}}],["alternative",{"2":{"132":1,"183":7}}],["alternatives",{"0":{"83":1},"2":{"70":1}}],["alternatively",{"2":{"24":1,"55":1,"84":1,"95":1,"181":2,"183":3}}],["alter",{"2":{"55":1,"183":1}}],["already",{"2":{"30":1,"31":1,"37":1,"67":1,"74":1,"84":1,"96":1,"181":1,"182":4}}],["always",{"2":{"23":1,"24":1,"26":1,"28":1,"55":2,"57":1,"58":2,"63":1,"71":1,"72":1,"76":1,"88":1,"89":2,"110":2,"138":1,"140":1,"141":1,"142":1,"169":1,"181":5,"182":4,"183":6}}],["also",{"2":{"2":1,"6":1,"7":2,"10":1,"12":1,"15":1,"18":2,"21":1,"22":1,"23":1,"24":4,"28":1,"29":2,"30":1,"31":1,"50":1,"54":1,"55":8,"58":2,"67":7,"80":1,"86":1,"88":1,"89":1,"93":1,"106":1,"108":2,"110":1,"111":1,"112":1,"179":1,"181":7,"182":19,"183":41}}],["all=false",{"2":{"183":7}}],["all=true`",{"2":{"106":1}}],["all=true",{"2":{"2":1,"61":1,"67":2,"87":4,"88":1,"93":1,"106":1,"108":1,"182":2,"183":20}}],["alltagfilter",{"2":{"182":4,"183":1}}],["allocated",{"2":{"182":1}}],["allocations",{"2":{"182":1}}],["allocation",{"2":{"61":1}}],["allowing",{"2":{"59":1,"181":1,"183":2}}],["allow",{"2":{"52":1,"83":1,"108":1,"182":1,"183":4}}],["allowed",{"2":{"21":1,"55":1,"108":1,"181":2,"183":31}}],["allows",{"2":{"10":1,"21":1,"22":1,"25":1,"42":1,"52":3,"54":1,"55":2,"67":2,"76":1,"106":1,"181":4,"182":2,"183":8}}],["all",{"2":{"0":1,"2":1,"6":3,"7":9,"10":3,"11":2,"12":1,"13":1,"15":1,"19":1,"23":1,"24":1,"26":1,"35":1,"52":2,"55":16,"58":1,"61":1,"63":1,"65":2,"66":1,"67":12,"87":1,"88":1,"89":2,"92":4,"96":1,"99":1,"101":1,"102":1,"105":1,"106":3,"108":1,"110":2,"111":1,"120":1,"127":3,"153":2,"167":1,"168":1,"169":1,"171":2,"175":1,"178":1,"181":30,"182":26,"183":73}}],["along",{"2":{"0":1,"67":1,"140":1,"181":1,"182":2}}],["anonymous",{"2":{"168":1,"169":1}}],["another",{"2":{"11":1,"55":1,"67":3,"181":2,"182":5,"183":1}}],["annotation",{"2":{"182":3}}],["annotations",{"2":{"67":1,"168":1,"169":1,"182":3}}],["annotating",{"2":{"182":1}}],["annotatednode",{"2":{"182":11,"183":1}}],["annotated",{"2":{"67":6,"182":6}}],["annotates",{"2":{"67":1,"182":1}}],["annotater",{"2":{"67":6,"182":10}}],["annotate",{"2":{"10":1,"60":1,"61":1,"67":8,"182":16,"183":3}}],["ancient",{"2":{"58":1,"183":1}}],["ancestors",{"2":{"55":1,"181":5}}],["ancestor",{"2":{"55":1,"181":1}}],["animal",{"2":{"18":2,"88":2,"183":8}}],["ans",{"2":{"10":5,"97":1,"106":5}}],["answer=",{"2":{"182":4}}],["answer=answer",{"2":{"182":1}}],["answering",{"2":{"127":1,"144":1}}],["answered",{"2":{"67":1,"126":1,"153":1,"182":1}}],["answerer",{"2":{"65":1,"67":11,"182":17}}],["answers",{"2":{"3":1,"8":1,"59":1,"60":1,"116":1,"123":1,"124":1,"126":1,"130":2,"131":1,"140":1,"141":3,"142":1,"152":1,"161":2,"163":2,"170":2,"182":5}}],["answer",{"2":{"2":3,"5":1,"6":4,"7":4,"10":4,"11":2,"17":1,"21":3,"23":1,"24":6,"26":1,"31":1,"49":1,"50":4,"54":3,"55":16,"60":3,"61":7,"63":1,"64":2,"66":1,"67":33,"88":1,"105":2,"106":1,"107":4,"116":4,"123":20,"124":22,"126":6,"127":14,"128":7,"130":1,"131":1,"132":1,"137":1,"141":2,"142":3,"157":2,"161":2,"163":2,"165":2,"170":2,"173":2,"179":4,"181":13,"182":103,"183":9}}],["antropic",{"2":{"183":1}}],["antibiotics",{"2":{"126":2}}],["anti",{"2":{"7":1}}],["anthropicstream",{"2":{"183":3}}],["anthropicschema",{"2":{"0":1,"183":4}}],["anthropic",{"2":{"0":1,"69":1,"70":1,"144":1,"145":1,"173":1,"174":1,"175":1,"183":25}}],["analystthemesinresponses",{"0":{"154":1}}],["analystdecisionsintranscript",{"0":{"153":1}}],["analyst",{"2":{"152":1,"153":1}}],["analystchaptersintranscript",{"0":{"152":1}}],["analysis",{"2":{"6":1,"7":1,"17":1,"24":4,"55":1,"61":2,"154":1,"181":1}}],["analyzed",{"2":{"154":1}}],["analyze",{"2":{"7":1,"126":1,"133":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"153":1}}],["anytagfilter",{"2":{"182":4,"183":1}}],["anything",{"2":{"31":1,"34":1,"39":1,"40":1,"42":1,"152":1,"182":1,"183":3}}],["anymore",{"2":{"85":1}}],["anyone",{"2":{"72":1,"95":1}}],["anywhere",{"0":{"82":1},"2":{"22":1,"82":1,"84":1}}],["anyscale",{"2":{"8":1}}],["any",{"2":{"0":2,"2":1,"4":1,"6":2,"7":2,"10":2,"11":3,"13":1,"17":1,"18":4,"21":1,"23":2,"24":2,"25":1,"26":1,"28":1,"31":2,"32":1,"34":1,"35":1,"42":1,"52":3,"54":1,"55":13,"58":1,"59":1,"63":2,"66":1,"67":1,"72":1,"73":1,"77":1,"78":1,"79":1,"82":1,"88":3,"89":3,"91":1,"92":2,"93":2,"95":1,"97":1,"102":1,"106":2,"107":1,"108":9,"110":1,"118":1,"120":2,"121":1,"124":1,"126":1,"132":2,"140":1,"141":1,"142":3,"152":2,"153":2,"154":1,"156":1,"166":1,"167":2,"168":1,"169":2,"171":1,"174":1,"175":2,"177":2,"181":10,"182":23,"183":111}}],["an",{"0":{"73":2,"74":1},"2":{"0":2,"2":3,"6":1,"7":3,"10":4,"12":1,"17":1,"19":1,"20":1,"21":1,"22":1,"32":1,"41":1,"42":2,"48":1,"49":2,"50":3,"51":1,"52":3,"54":1,"55":13,"57":1,"58":5,"59":1,"60":2,"61":4,"63":2,"64":1,"66":2,"67":11,"72":2,"73":1,"77":1,"78":1,"79":1,"88":3,"91":2,"92":1,"95":3,"99":2,"100":1,"101":2,"102":1,"105":1,"106":4,"108":8,"110":1,"111":2,"116":1,"118":1,"123":2,"124":2,"127":5,"128":1,"130":1,"132":1,"134":1,"137":1,"138":1,"140":1,"142":1,"150":1,"154":1,"164":1,"168":1,"171":2,"177":1,"179":3,"181":22,"182":34,"183":132}}],["and",{"0":{"20":1,"23":1,"71":1},"2":{"0":6,"1":5,"2":12,"3":2,"4":2,"6":3,"7":17,"8":5,"10":13,"11":3,"12":3,"13":2,"16":2,"17":3,"18":1,"19":4,"21":9,"22":2,"23":6,"24":15,"26":2,"27":3,"28":2,"29":2,"30":3,"31":3,"32":2,"34":1,"35":2,"36":2,"37":4,"41":2,"42":5,"45":1,"47":1,"48":1,"49":2,"51":1,"52":11,"54":9,"55":58,"56":2,"57":6,"58":10,"59":1,"60":1,"61":11,"63":7,"65":3,"66":5,"67":47,"69":1,"70":1,"71":1,"72":2,"73":2,"74":3,"75":2,"76":2,"77":2,"78":2,"79":1,"80":2,"82":1,"83":1,"84":3,"85":2,"86":3,"87":1,"88":13,"89":6,"90":3,"91":1,"92":5,"93":4,"95":4,"96":1,"97":2,"98":2,"99":2,"100":2,"101":1,"102":2,"104":2,"105":5,"106":12,"107":10,"108":27,"110":10,"111":4,"112":1,"116":1,"120":6,"121":1,"123":3,"124":4,"126":5,"127":3,"128":3,"130":2,"131":1,"132":3,"133":1,"134":1,"136":2,"138":2,"140":16,"141":5,"142":10,"144":5,"145":4,"147":4,"149":1,"150":4,"152":17,"153":16,"154":3,"156":1,"157":2,"158":5,"159":2,"160":9,"161":3,"162":2,"163":2,"164":7,"165":2,"166":4,"167":5,"168":2,"169":3,"170":4,"171":10,"173":2,"174":3,"175":5,"177":1,"178":2,"179":1,"180":2,"181":98,"182":190,"183":255}}],["aiprefill",{"2":{"183":5}}],["aims",{"2":{"182":4}}],["aimessage>",{"2":{"11":1,"183":1}}],["aimessage",{"2":{"2":1,"10":3,"12":2,"20":2,"22":1,"23":1,"24":1,"26":1,"30":1,"31":1,"34":1,"35":1,"36":1,"39":1,"40":1,"41":1,"42":1,"52":1,"55":6,"61":2,"63":1,"64":2,"87":2,"89":2,"97":2,"98":1,"100":2,"104":1,"106":3,"107":2,"181":11,"183":71}}],["aiagent",{"2":{"181":1}}],["aihelpme",{"2":{"89":1}}],["aitemplatemetadata",{"2":{"13":3,"24":2,"89":2,"183":14}}],["aitemplate",{"2":{"13":3,"24":4,"67":1,"92":2,"105":2,"107":2,"181":4,"182":1,"183":17}}],["aitemplates",{"0":{"24":1},"2":{"10":4,"13":4,"24":3,"89":1,"105":2,"106":3,"182":2,"183":23}}],["air",{"2":{"58":1,"183":1}}],["airetry",{"0":{"21":1},"2":{"10":1,"21":8,"52":3,"54":8,"55":13,"88":6,"106":1,"108":6,"181":14,"183":1}}],["airag",{"2":{"2":2,"6":1,"7":2,"10":1,"60":1,"61":3,"64":1,"65":1,"66":1,"67":7,"182":25,"183":1}}],["aiclassifier",{"2":{"88":1}}],["aiclassify",{"2":{"0":1,"10":2,"13":1,"17":1,"18":2,"55":1,"88":4,"106":1,"136":1,"181":7,"183":21}}],["aicodefixer",{"2":{"52":2,"55":9,"110":1,"111":1,"112":1,"180":1,"181":31,"183":2}}],["aicode",{"2":{"52":3,"55":16,"181":6,"183":13}}],["aicallblock",{"2":{"55":4,"181":13}}],["aicall",{"2":{"10":2,"21":9,"52":3,"54":9,"55":51,"106":2,"108":4,"181":100,"183":2}}],["aiimage",{"2":{"0":2,"10":2,"106":1,"183":8}}],["aiscan",{"0":{"43":1},"2":{"0":2,"10":2,"20":3,"43":1,"106":1,"181":6,"183":19}}],["aiextract",{"0":{"108":1},"2":{"0":1,"6":1,"10":2,"19":2,"31":2,"55":1,"67":3,"104":1,"106":2,"108":5,"144":1,"145":1,"147":1,"181":7,"182":6,"183":41}}],["aiembed",{"0":{"44":1},"1":{"45":1,"46":1,"47":1},"2":{"0":1,"10":2,"16":3,"22":3,"23":1,"27":1,"29":1,"30":1,"31":1,"45":2,"46":2,"47":1,"55":1,"67":2,"104":1,"106":2,"181":7,"182":3,"183":26}}],["aigenerate",{"0":{"33":1,"38":1,"81":1,"98":1,"107":1},"1":{"34":1,"35":1,"36":1,"39":1,"40":1,"41":1,"42":1},"2":{"0":1,"10":9,"12":4,"13":3,"14":2,"21":5,"22":2,"23":4,"24":1,"26":2,"27":2,"28":1,"29":2,"30":1,"31":1,"32":1,"34":1,"35":1,"37":1,"39":1,"40":2,"41":1,"42":2,"52":10,"54":5,"55":18,"67":6,"73":1,"74":1,"78":3,"87":3,"88":6,"92":2,"93":3,"98":1,"99":1,"100":1,"106":11,"107":2,"108":11,"180":1,"181":38,"182":16,"183":65}}],["ai",{"0":{"10":1,"30":1,"31":1,"32":1,"37":1,"54":1,"97":1,"106":1},"1":{"33":1,"34":1,"35":1,"36":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1},"2":{"0":5,"1":1,"10":12,"11":1,"12":1,"14":1,"15":3,"16":1,"17":1,"21":4,"22":1,"23":2,"24":1,"27":2,"29":1,"30":2,"31":3,"32":2,"34":1,"36":1,"37":2,"52":16,"54":1,"55":20,"56":1,"57":2,"58":1,"59":1,"60":1,"61":1,"67":6,"69":2,"73":1,"82":1,"83":1,"84":1,"87":6,"89":2,"91":1,"92":3,"97":5,"98":3,"100":2,"102":1,"103":1,"104":3,"105":3,"106":13,"107":3,"108":8,"116":1,"123":2,"124":4,"126":1,"127":1,"130":1,"137":1,"140":4,"141":5,"142":2,"150":1,"152":1,"153":1,"157":1,"158":1,"159":1,"171":3,"181":51,"182":14,"183":107}}],["cc",{"2":{"182":1}}],["cfg",{"2":{"64":1,"65":1,"67":9,"182":19}}],["cn",{"2":{"58":1,"183":1}}],["cb",{"2":{"55":15,"181":3,"183":36}}],["cpp",{"0":{"28":1},"2":{"25":1,"28":3,"70":1,"100":1,"101":1,"183":1}}],["c",{"2":{"19":1,"28":2,"58":1,"74":2,"76":2,"181":1,"182":2,"183":1}}],["city",{"2":{"19":3}}],["ceo",{"2":{"154":1}}],["cents",{"2":{"77":2}}],["cent",{"2":{"75":1,"77":1}}],["celestial",{"2":{"58":2,"183":2}}],["celsius",{"2":{"19":2}}],["certainly",{"2":{"58":1,"183":1}}],["certain",{"2":{"0":1,"15":1,"88":1,"183":3}}],["curiosity",{"2":{"183":1}}],["curr",{"2":{"182":3}}],["currently",{"2":{"23":1,"26":1,"49":1,"55":1,"64":1,"84":1,"181":2,"183":11}}],["currentweather",{"2":{"19":2}}],["current",{"2":{"19":2,"37":1,"55":1,"75":1,"88":1,"93":1,"96":1,"181":3,"182":1,"183":10}}],["cumulative",{"2":{"182":2}}],["customizing",{"2":{"181":1}}],["customized",{"2":{"86":1,"152":1}}],["customize",{"2":{"55":1,"61":1,"63":4,"67":6,"85":1,"86":1,"181":1,"182":8}}],["customer",{"0":{"78":1},"2":{"78":1}}],["custom",{"0":{"25":1,"42":1,"86":1},"1":{"26":1,"27":1,"28":1,"29":1,"30":1,"31":1},"2":{"55":1,"58":2,"59":1,"63":5,"65":5,"67":13,"86":3,"88":2,"181":1,"182":14,"183":7}}],["customopenaischema",{"2":{"0":3,"23":2,"27":2,"28":1,"183":7}}],["cut",{"2":{"15":1}}],["crucial",{"2":{"183":1}}],["crunchy",{"2":{"31":2,"108":2}}],["craft",{"2":{"160":1,"171":1}}],["criterion",{"2":{"127":1}}],["criteria",{"2":{"127":2,"182":1}}],["critiquing",{"2":{"140":1}}],["critique>",{"2":{"110":1}}],["critiques",{"2":{"110":1,"140":1,"141":1,"142":2}}],["critique",{"2":{"67":1,"110":12,"140":2,"141":2,"182":1}}],["critic",{"0":{"139":1},"1":{"140":1,"141":1,"142":1},"2":{"140":1,"141":4,"142":1}}],["criticism",{"2":{"110":1}}],["credit",{"2":{"108":1,"183":3}}],["credits",{"2":{"70":1,"75":1,"78":1,"95":2}}],["creativity",{"2":{"183":1}}],["creative",{"2":{"10":1,"106":1,"183":2}}],["creation",{"2":{"126":1}}],["creating",{"0":{"72":1},"2":{"61":1,"67":1,"160":1,"182":4}}],["creature",{"2":{"18":2,"88":1,"183":5}}],["createqafromcontext",{"2":{"67":1,"182":1}}],["creates",{"2":{"55":1,"66":1,"89":1,"92":1,"181":5,"182":1,"183":3}}],["create",{"0":{"89":1},"2":{"2":2,"10":1,"16":1,"24":2,"49":1,"50":3,"52":1,"55":1,"63":1,"67":5,"72":2,"86":3,"89":6,"91":1,"95":2,"100":1,"105":3,"106":1,"107":1,"108":1,"158":1,"166":1,"174":1,"179":4,"181":3,"182":14,"183":25}}],["cross",{"2":{"7":1}}],["ctx",{"2":{"6":6,"7":2,"182":4}}],["click",{"2":{"72":1,"95":1}}],["clipboard",{"2":{"55":2,"183":2}}],["clearly",{"2":{"63":1,"153":1,"154":1}}],["clear",{"2":{"55":1,"110":1,"126":1,"127":3,"128":1,"150":1,"152":1,"153":2,"154":1,"160":2,"161":1,"163":1,"164":1,"170":1,"181":1}}],["cleaning",{"2":{"159":1}}],["cleanup",{"2":{"24":1}}],["cleaner",{"2":{"24":1,"88":1}}],["cleaned",{"2":{"1":1}}],["clustering",{"2":{"16":1}}],["closely",{"2":{"58":2,"140":1,"178":1,"183":2}}],["close",{"2":{"58":2,"141":1,"160":1,"183":2}}],["closest",{"2":{"2":5,"58":4,"64":1,"66":1,"67":4,"182":45,"183":9}}],["cloudy",{"2":{"183":4}}],["cloud",{"2":{"12":1}}],["claudes",{"2":{"183":1}}],["claudeo",{"2":{"183":2}}],["claudeh",{"2":{"183":19}}],["claude",{"2":{"183":8}}],["clarification",{"2":{"141":1}}],["clarity",{"2":{"6":1,"127":1,"140":4,"141":1,"153":3,"168":1,"169":1}}],["classes=",{"2":{"182":3}}],["classes",{"2":{"182":5}}],["classifies",{"2":{"183":2}}],["classified",{"2":{"171":3,"183":1}}],["classification",{"0":{"17":1,"135":1},"1":{"18":1,"136":1,"137":1,"138":1},"2":{"18":1,"136":2,"137":1,"138":1,"183":4}}],["classify",{"2":{"10":1,"17":1,"106":1,"183":3}}],["class",{"2":{"13":1,"24":4,"104":1,"105":1,"107":2,"108":1,"116":1,"120":1,"123":1,"124":1,"126":1,"130":1,"131":1,"133":1,"136":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"150":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"173":1,"174":1,"175":1,"178":1,"182":1,"183":2}}],["child2",{"2":{"181":2}}],["child11",{"2":{"181":2}}],["child1",{"2":{"181":3}}],["children",{"2":{"67":2,"181":2,"182":9}}],["chief",{"2":{"140":4}}],["chiefeditortranscriptcritic",{"0":{"140":1}}],["chuckles",{"2":{"41":2}}],["chunkdata",{"2":{"182":13,"183":3}}],["chunkkeywordsindex",{"2":{"67":4,"182":13,"183":2}}],["chunked",{"2":{"67":1,"182":8}}],["chunkembeddingsindex",{"2":{"67":3,"182":7,"183":1}}],["chunkers",{"2":{"182":1}}],["chunker=filechunker",{"2":{"67":1,"182":1}}],["chunker",{"2":{"61":3,"63":2,"67":14,"182":29}}],["chunking",{"2":{"63":1,"66":1,"67":1,"182":2}}],["chunkindex",{"2":{"60":1,"182":3}}],["chunk",{"2":{"2":3,"8":1,"10":1,"58":8,"61":2,"66":3,"67":6,"90":1,"120":1,"126":4,"182":25,"183":31}}],["chunks`",{"2":{"183":3}}],["chunks",{"2":{"2":13,"3":1,"4":2,"8":1,"58":13,"60":2,"61":2,"63":3,"64":3,"66":5,"67":35,"90":1,"118":1,"182":146,"183":31}}],["cheaper",{"2":{"21":1,"54":1,"55":1,"181":1,"183":2}}],["cheap",{"2":{"18":1,"75":1,"183":1}}],["checkout",{"2":{"58":1,"183":1}}],["check",{"2":{"21":1,"22":1,"54":1,"55":7,"67":1,"71":1,"73":1,"75":1,"79":1,"80":1,"84":1,"86":1,"88":3,"91":1,"95":1,"108":2,"142":1,"166":1,"168":1,"169":1,"174":1,"181":5,"182":4,"183":14}}],["checks",{"2":{"17":1,"54":1,"55":4,"77":1,"181":6,"183":2}}],["checking",{"2":{"17":1}}],["choice=",{"2":{"183":1}}],["choice",{"2":{"108":1,"138":3,"181":1,"183":12}}],["choices",{"2":{"10":3,"18":2,"88":2,"106":3,"107":1,"136":6,"138":6,"183":42}}],["chosen",{"2":{"21":1,"54":1,"55":1,"181":1}}],["choose",{"2":{"0":1,"154":1,"182":2,"183":1}}],["chapter",{"2":{"152":2}}],["chapters",{"2":{"152":4,"153":1}}],["chain",{"2":{"144":1,"166":1,"168":1,"174":1,"183":2}}],["chars",{"2":{"58":1,"183":1}}],["character",{"2":{"58":3,"178":1,"182":1,"183":3}}],["characters",{"2":{"36":1,"58":4,"110":1,"181":4,"182":13,"183":5}}],["charles",{"2":{"50":2,"179":2}}],["charge",{"2":{"36":2,"75":2,"183":1}}],["chance",{"2":{"182":1}}],["chances",{"2":{"21":1,"54":1,"55":1,"181":1}}],["channel",{"2":{"57":1,"60":1,"183":3}}],["changing",{"0":{"85":1},"2":{"55":1,"61":1,"63":1,"67":1,"182":3,"183":1}}],["changed",{"2":{"110":1}}],["changes",{"0":{"42":1},"2":{"37":1,"89":1,"124":1,"142":1,"181":1,"182":4,"183":3}}],["change",{"2":{"1":1,"21":1,"24":1,"42":1,"54":1,"55":1,"67":3,"86":1,"108":1,"110":1,"180":1,"181":3,"182":8,"183":9}}],["challenging",{"2":{"0":1}}],["chat1",{"2":{"183":1}}],["chatmlschema",{"2":{"183":5}}],["chatgpt",{"2":{"11":1,"75":1,"182":3}}],["chatbots",{"2":{"183":1}}],["chatbot",{"2":{"1":1,"2":1}}],["chat",{"2":{"0":1,"29":3,"39":1,"42":1,"67":8,"85":2,"86":2,"100":1,"107":2,"182":25,"183":28}}],["cababcab",{"2":{"183":1}}],["caching",{"2":{"183":11}}],["caches",{"2":{"183":6}}],["cache",{"2":{"73":1,"183":17}}],["caused",{"2":{"110":1}}],["causes",{"2":{"41":1}}],["caught",{"2":{"55":1,"181":1,"183":1}}],["capable",{"2":{"138":1,"183":1}}],["capabilities",{"2":{"55":1,"69":1,"183":1}}],["captioning",{"2":{"183":2}}],["captain",{"2":{"89":2,"183":2}}],["capturing",{"2":{"55":3,"178":1,"183":3}}],["captures",{"2":{"93":1,"177":1,"183":1}}],["captured",{"2":{"55":3,"183":3}}],["capture",{"2":{"55":5,"93":2,"108":1,"181":1,"183":11}}],["capital",{"2":{"15":1,"67":2,"97":5,"98":2,"107":4,"182":5}}],["casual",{"2":{"160":1}}],["cased",{"2":{"158":1}}],["cases",{"2":{"55":1,"167":1,"175":1,"181":1,"183":7}}],["case",{"2":{"24":1,"61":1,"69":1,"88":2,"91":1,"107":1,"120":1,"160":1,"182":2,"183":3}}],["castle",{"2":{"18":1,"183":1}}],["cartoonish",{"2":{"177":2}}],["cartesian",{"2":{"7":1}}],["carries",{"2":{"168":1,"169":1}}],["carrying",{"2":{"58":1,"183":1}}],["carefully",{"2":{"120":1,"128":1,"142":1,"154":1}}],["care",{"2":{"102":1}}],["car",{"2":{"88":2,"108":1,"183":7}}],["carve",{"2":{"59":1}}],["carlo",{"2":{"21":1,"52":1,"55":1,"181":3}}],["ca",{"2":{"19":1}}],["cat",{"2":{"183":7}}],["categorize",{"2":{"154":1}}],["categories",{"0":{"18":1},"2":{"18":1,"88":2,"120":1,"121":1,"138":2,"183":2}}],["category",{"2":{"88":2,"120":1,"121":1,"138":4,"182":1,"183":1}}],["catch",{"2":{"0":1,"19":1,"21":2,"52":1,"54":2,"55":4,"108":1,"181":9}}],["camelcase",{"2":{"21":1,"183":1}}],["came",{"2":{"10":1,"182":1}}],["calculating",{"2":{"183":1}}],["calculation",{"2":{"182":1,"183":1}}],["calculates",{"2":{"182":3}}],["calculated",{"2":{"74":1,"171":1,"183":2}}],["calculate",{"2":{"7":1,"16":2,"183":10}}],["calltracer",{"2":{"183":2}}],["callbacks",{"2":{"183":1}}],["callback",{"2":{"183":32}}],["calling",{"2":{"24":1,"31":1,"37":1,"52":1,"108":2,"144":1,"145":1,"147":1,"181":1,"182":1,"183":9}}],["call",{"2":{"10":2,"11":1,"15":1,"21":2,"24":1,"29":1,"52":3,"54":2,"55":15,"66":1,"67":10,"73":1,"77":1,"87":1,"89":2,"100":1,"105":1,"106":2,"108":2,"144":1,"145":1,"147":1,"181":44,"182":19,"183":71}}],["called",{"2":{"7":3,"10":1,"11":1,"21":1,"24":1,"52":1,"55":1,"66":4,"89":1,"97":1,"100":1,"106":1,"181":4,"182":4,"183":3}}],["calls",{"0":{"54":1},"2":{"0":2,"10":1,"21":4,"46":1,"50":1,"52":2,"54":1,"55":6,"65":1,"67":10,"71":1,"88":1,"106":1,"108":2,"144":1,"145":1,"147":1,"179":1,"180":1,"181":13,"182":22,"183":29}}],["cannot",{"0":{"70":1,"73":2},"2":{"17":1,"58":1,"67":1,"69":1,"78":1,"108":2,"137":1,"182":4,"183":6}}],["candidatechunks",{"2":{"61":4,"66":1,"67":1,"182":13,"183":1}}],["candidate",{"2":{"2":1,"182":17}}],["candidates",{"2":{"2":1,"61":4,"63":1,"66":3,"67":2,"182":40}}],["can",{"0":{"92":1},"2":{"2":1,"6":2,"7":7,"8":1,"10":4,"11":1,"12":4,"13":2,"14":2,"15":5,"16":2,"17":2,"18":2,"19":2,"20":4,"21":8,"22":3,"23":9,"24":11,"26":7,"27":1,"28":2,"29":3,"30":5,"31":4,"32":1,"33":1,"35":2,"39":1,"40":1,"42":2,"43":1,"46":2,"50":2,"52":2,"54":7,"55":22,"57":1,"58":4,"61":4,"63":1,"65":2,"66":2,"67":10,"69":1,"71":2,"72":1,"73":3,"74":2,"76":1,"77":2,"78":2,"79":1,"80":1,"82":2,"84":2,"85":3,"86":3,"87":3,"88":6,"89":8,"91":2,"92":2,"93":8,"95":1,"96":1,"97":1,"98":2,"99":1,"100":2,"101":2,"103":2,"105":3,"106":3,"107":1,"108":10,"110":1,"111":1,"112":1,"118":1,"120":1,"126":1,"152":1,"167":1,"175":1,"179":2,"181":23,"182":27,"183":137}}],["copies",{"2":{"182":1}}],["copy",{"2":{"2":1,"22":1,"45":2,"55":1,"183":3}}],["coding",{"2":{"181":1}}],["codeunits",{"2":{"183":3}}],["code>",{"2":{"110":1,"175":6}}],["codefixer",{"2":{"181":4}}],["codefixertiny",{"0":{"112":1}}],["codefixershort",{"0":{"111":1}}],["codefixerrci",{"0":{"110":1},"2":{"181":1}}],["codefailedtimeout",{"2":{"55":1,"181":1}}],["codefailedeval",{"2":{"55":1,"181":1}}],["codefailedparse",{"2":{"55":1,"181":1}}],["codellama",{"2":{"84":1}}],["codes",{"2":{"75":1}}],["codesuccess",{"2":{"55":1,"181":1}}],["codeempty",{"2":{"55":1,"181":1}}],["code",{"0":{"109":1},"1":{"110":1,"111":1,"112":1},"2":{"20":3,"23":1,"24":2,"26":1,"51":1,"52":1,"55":49,"57":2,"59":1,"67":4,"88":1,"104":1,"110":13,"111":9,"112":3,"120":1,"142":11,"164":1,"166":3,"167":12,"174":3,"175":10,"180":1,"181":36,"182":14,"183":94}}],["coalitional",{"2":{"171":1}}],["cot",{"2":{"166":1,"168":1,"174":1}}],["core",{"2":{"133":1,"181":1}}],["corpus",{"2":{"60":1}}],["corresponds",{"2":{"183":2}}],["correspondence",{"2":{"160":1}}],["correspond",{"2":{"61":1,"67":1,"181":1,"182":4}}],["corresponding",{"2":{"0":4,"12":1,"30":1,"31":1,"52":2,"63":2,"65":1,"66":2,"67":4,"70":1,"108":2,"142":1,"152":1,"153":1,"154":1,"171":1,"182":9,"183":20}}],["correctiverag",{"2":{"182":1}}],["correcting",{"2":{"142":1}}],["corrections",{"2":{"140":1}}],["correct",{"2":{"55":4,"88":1,"108":3,"110":1,"142":1,"166":1,"167":4,"168":1,"169":1,"174":1,"175":4,"181":4,"182":1,"183":1}}],["correctly",{"2":{"0":1,"171":3,"183":7}}],["covering",{"2":{"167":1,"175":1}}],["cover",{"2":{"127":1}}],["coversation",{"2":{"55":1,"181":1}}],["coverage",{"0":{"0":1}}],["collects",{"2":{"181":1}}],["collect",{"2":{"181":2,"183":2}}],["collection",{"2":{"24":1,"67":1,"182":1}}],["collaboration",{"2":{"160":1}}],["colorful",{"2":{"177":1,"183":1}}],["colors",{"2":{"67":1,"182":1}}],["color",{"2":{"21":2,"54":2,"55":2,"58":1,"61":3,"181":2,"182":8,"183":7}}],["column",{"2":{"7":2,"182":4,"183":2}}],["columns",{"2":{"6":1,"7":4,"182":1}}],["cosmic",{"2":{"58":1,"183":1}}],["cosinesimilarity",{"2":{"67":2,"182":12,"183":1}}],["cosine",{"2":{"16":2,"47":2,"182":5,"183":4}}],["cost2",{"2":{"183":2}}],["cost1",{"2":{"183":3}}],["costing",{"2":{"183":2}}],["costs",{"2":{"10":1,"67":1,"76":1,"106":1,"182":1,"183":9}}],["cost",{"0":{"77":1},"2":{"4":1,"11":1,"13":1,"20":2,"23":1,"24":1,"26":1,"30":1,"31":1,"61":1,"67":16,"69":1,"77":1,"87":1,"97":2,"98":1,"182":50,"183":76}}],["counds",{"2":{"181":1}}],["counts",{"2":{"182":1}}],["counted",{"2":{"181":1}}],["counter",{"2":{"67":3,"181":2,"182":7}}],["counterpart",{"2":{"52":1,"58":1,"183":1}}],["counterparts",{"2":{"10":1,"21":1,"52":1,"106":1}}],["counting",{"2":{"158":1}}],["country=",{"2":{"98":1}}],["country",{"2":{"97":1,"98":1,"182":4}}],["count",{"2":{"28":1,"37":1,"67":1,"110":1,"111":1,"112":1,"114":1,"116":1,"118":1,"120":1,"121":1,"123":1,"124":1,"126":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1,"134":1,"136":1,"137":1,"138":1,"140":1,"141":1,"142":1,"144":1,"145":1,"147":1,"149":1,"150":1,"152":1,"153":1,"154":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"173":1,"174":1,"175":1,"177":1,"178":1,"182":1,"183":14}}],["couldn",{"2":{"183":1}}],["could",{"2":{"7":1,"8":1,"21":2,"34":1,"54":2,"55":2,"58":2,"67":2,"74":1,"92":1,"108":1,"132":1,"150":1,"181":2,"182":2,"183":7}}],["coherence",{"2":{"183":1}}],["coherereranker",{"2":{"67":1,"182":5,"183":1}}],["cohere",{"2":{"2":1,"8":1,"67":2,"182":19,"183":6}}],["conv",{"2":{"92":1,"93":2,"108":2,"183":28}}],["conventions",{"2":{"183":1}}],["convention",{"2":{"183":1}}],["convenient",{"2":{"183":2}}],["convenience",{"2":{"2":1,"58":2,"182":1,"183":5}}],["convey",{"2":{"100":1,"103":1}}],["conversion",{"2":{"108":1}}],["conversational",{"2":{"183":2}}],["conversation=myconversation",{"2":{"181":1}}],["conversationlabeler",{"0":{"158":1}}],["conversation2",{"2":{"91":1}}],["conversation1",{"2":{"91":1}}],["conversations",{"0":{"12":1,"87":1},"2":{"12":1,"35":1,"42":2,"55":1,"61":2,"67":2,"91":3,"93":2,"98":1,"181":1,"182":9,"183":26}}],["conversation",{"2":{"10":2,"12":6,"21":1,"30":1,"35":1,"41":1,"54":1,"55":25,"67":1,"87":11,"88":4,"89":1,"91":3,"93":2,"97":1,"103":2,"106":2,"108":3,"140":2,"141":5,"142":1,"158":6,"181":71,"182":5,"183":210}}],["converts",{"2":{"183":1}}],["converted",{"2":{"183":2}}],["convert",{"2":{"107":2,"108":1,"182":4,"183":12}}],["converting",{"2":{"78":1,"132":1,"134":1}}],["confusion",{"2":{"41":1}}],["confirm",{"2":{"183":2}}],["confident",{"2":{"24":3,"105":1,"107":2,"157":1,"161":1,"163":1,"165":1,"170":1,"173":1}}],["confidence",{"2":{"10":1,"58":1,"181":2,"183":1}}],["config=retryconfig",{"2":{"88":1,"108":1}}],["configures",{"2":{"183":1}}],["configure",{"2":{"183":9}}],["configuring",{"0":{"79":1}}],["configuration",{"2":{"67":1,"79":2,"181":1,"182":3,"183":1}}],["configurable",{"2":{"61":1}}],["config",{"2":{"21":2,"52":1,"54":2,"55":9,"67":1,"82":1,"108":2,"181":14,"182":3,"183":1}}],["connection",{"2":{"35":1}}],["conducted",{"2":{"181":1}}],["cond",{"2":{"21":1,"54":1,"55":6,"181":15}}],["condition=>string",{"2":{"183":1}}],["conditions",{"2":{"183":1}}],["condition",{"2":{"21":4,"54":5,"55":16,"88":3,"108":3,"181":31,"183":19}}],["concatenation",{"2":{"182":1}}],["concatenates",{"2":{"183":1}}],["concatenate",{"2":{"36":1,"55":1,"182":1,"183":1}}],["concentrate",{"2":{"171":1}}],["concepts",{"0":{"100":1},"1":{"101":1,"102":1,"103":1,"104":1,"105":1,"106":1},"2":{"99":1,"100":1,"132":1}}],["concept",{"2":{"16":1,"132":1}}],["conclusion",{"2":{"164":1}}],["conclusions",{"2":{"152":1}}],["conclude",{"2":{"140":1,"142":1,"171":1}}],["concrete",{"2":{"108":1}}],["concise",{"2":{"24":3,"104":1,"105":1,"107":2,"110":1,"116":1,"123":1,"124":1,"126":1,"133":1,"152":3,"153":2,"156":1,"157":1,"158":1,"159":1,"160":2,"161":1,"163":1,"164":1,"165":1,"166":1,"170":1,"173":1,"174":1,"183":6}}],["concurrent",{"2":{"14":1,"74":2}}],["concurrently",{"2":{"14":1,"98":1}}],["contrast",{"2":{"183":1}}],["control",{"2":{"78":1,"88":1,"97":1,"168":1,"169":1,"182":2}}],["controlling",{"2":{"55":1,"181":1}}],["controlled",{"2":{"21":1}}],["contribute",{"2":{"61":1}}],["contribution",{"2":{"52":1,"171":1}}],["continuous",{"2":{"71":1}}],["continued",{"2":{"183":1}}],["continues>",{"2":{"183":5}}],["continue",{"2":{"55":1,"97":1,"181":1,"183":6}}],["continue>",{"2":{"20":1,"183":2}}],["continuing",{"2":{"11":1,"77":1}}],["container",{"2":{"183":1}}],["contained",{"2":{"182":2}}],["containing",{"2":{"10":3,"67":4,"106":3,"181":1,"182":13,"183":7}}],["contain",{"2":{"7":1,"10":1,"106":1,"182":2,"183":5}}],["contains",{"2":{"6":1,"7":8,"24":1,"32":1,"37":1,"57":1,"61":1,"63":1,"104":1,"180":1,"181":1,"182":2,"183":3}}],["contemporary",{"2":{"15":1,"183":1}}],["content=",{"2":{"183":8}}],["contents",{"2":{"182":2}}],["content",{"2":{"6":1,"10":11,"16":3,"19":2,"20":2,"21":1,"22":2,"23":1,"27":1,"31":1,"45":1,"46":1,"47":2,"50":2,"54":1,"55":5,"67":1,"88":3,"92":2,"97":2,"106":11,"107":5,"108":3,"140":3,"152":1,"153":2,"179":2,"181":10,"182":6,"183":121}}],["context=true",{"2":{"182":1}}],["context=",{"2":{"182":4}}],["contexts",{"2":{"181":1}}],["contextual",{"2":{"67":1,"126":1,"182":2}}],["contextenumerator",{"2":{"67":3,"182":11,"183":1}}],["contexter",{"2":{"67":8,"182":14}}],["context",{"2":{"2":2,"5":1,"6":3,"8":3,"10":2,"11":2,"28":1,"49":1,"55":1,"57":1,"58":9,"61":6,"63":1,"64":1,"66":5,"67":32,"103":2,"116":7,"123":11,"124":1,"126":11,"127":8,"128":6,"132":1,"140":1,"150":1,"153":1,"154":1,"171":1,"181":4,"182":103,"183":17}}],["consecutive",{"2":{"182":2}}],["conservative",{"2":{"36":1,"183":1}}],["consumer",{"2":{"71":1}}],["consuming",{"2":{"3":1}}],["considering",{"2":{"61":1,"127":1,"182":1,"183":2}}],["considered",{"2":{"58":1,"67":1,"182":2,"183":1}}],["consider",{"2":{"24":1,"67":2,"132":1,"140":1,"171":1,"182":2,"183":1}}],["consistent",{"2":{"127":2,"128":1,"158":1,"182":2}}],["consistency",{"2":{"6":1,"36":1,"127":1,"140":1,"182":1,"183":2}}],["consisting",{"2":{"20":1,"183":2}}],["consists",{"2":{"7":1}}],["constant",{"2":{"183":9}}],["constituent",{"2":{"141":1}}],["constrained",{"2":{"183":2}}],["constraints",{"2":{"58":1,"141":1,"183":1}}],["construct",{"2":{"183":1}}],["constructor",{"2":{"183":1}}],["constructive",{"2":{"140":1}}],["constructs",{"2":{"66":1}}],["const",{"2":{"1":2,"24":1,"25":1,"32":1,"37":1,"51":1,"59":1,"82":1,"107":1,"108":1,"183":3}}],["combination",{"2":{"182":2,"183":1}}],["combining",{"2":{"59":1}}],["combines",{"2":{"67":2,"182":2}}],["combined",{"2":{"7":1,"182":1}}],["combine",{"2":{"5":1,"6":2,"7":5}}],["com",{"2":{"20":1,"49":2,"58":1,"75":1,"118":1,"179":1,"182":5,"183":14}}],["comes",{"2":{"91":1,"182":1}}],["come",{"2":{"13":1,"183":3}}],["commas",{"2":{"182":1}}],["commands",{"2":{"58":4,"96":1,"183":4}}],["command",{"2":{"24":1,"28":1,"58":1,"103":1,"183":1}}],["commit",{"2":{"79":1,"95":1}}],["comments",{"2":{"77":1,"110":1,"111":1,"183":1}}],["comment",{"2":{"77":1,"123":1,"124":1,"167":1,"175":1}}],["commercial",{"2":{"77":1}}],["communicates",{"2":{"140":1}}],["communications",{"2":{"160":2}}],["communication",{"2":{"24":3,"100":1,"102":1,"104":1,"105":1,"107":2,"157":1,"159":1,"160":3,"161":1,"163":1,"165":1,"166":1,"170":1,"173":1,"174":1,"181":1,"183":1}}],["community",{"2":{"24":1,"61":1}}],["commun",{"2":{"13":1,"24":1,"183":2}}],["commonly",{"2":{"183":1}}],["common",{"2":{"1":1,"7":2,"57":7,"58":17,"88":1,"91":1,"181":1,"183":20}}],["compelling",{"2":{"164":1,"171":1}}],["computational",{"2":{"61":1}}],["computing",{"2":{"61":8,"67":1,"182":6}}],["computes",{"2":{"182":1}}],["compute",{"2":{"58":1,"182":1,"183":1}}],["computer",{"2":{"22":1,"23":1}}],["comprehensively",{"2":{"126":1,"167":1,"175":1}}],["comprehensive",{"2":{"61":2,"150":1,"152":1}}],["comprehension",{"0":{"20":1}}],["complicated",{"2":{"88":2,"108":1}}],["complicity",{"2":{"58":1,"183":1}}],["completions",{"2":{"183":5}}],["completions`",{"2":{"183":1}}],["completion",{"2":{"183":5}}],["completeling",{"2":{"183":1}}],["completely",{"2":{"57":1,"67":1,"182":2}}],["completeness",{"2":{"6":1,"127":1,"141":1}}],["complete",{"2":{"5":2,"6":1,"7":2,"127":1}}],["complement",{"2":{"180":1}}],["complex",{"2":{"12":1,"16":1,"17":1,"19":1,"21":1,"61":1,"98":1,"181":2,"183":4}}],["compact",{"2":{"167":1,"175":1,"182":1}}],["compass",{"2":{"89":2,"183":2}}],["comparable",{"2":{"78":1}}],["comparison",{"2":{"61":2}}],["comparing",{"2":{"58":1,"183":1}}],["compared",{"2":{"182":1}}],["compare",{"2":{"57":1,"58":2,"181":1,"183":2}}],["company",{"2":{"58":2,"86":1,"183":2}}],["companion",{"2":{"57":1}}],["compatibility",{"2":{"42":1,"183":6}}],["compatible",{"0":{"23":1,"27":1},"2":{"0":2,"23":2,"25":1,"27":1,"183":2}}],["composite",{"2":{"182":2}}],["composes",{"2":{"183":1}}],["compose",{"2":{"93":1,"126":1}}],["composed",{"2":{"7":1,"183":3}}],["components",{"2":{"65":2,"67":1,"182":3}}],["component",{"2":{"55":1,"65":1,"67":1,"181":2,"182":2}}],["compiled",{"2":{"67":1,"73":3,"182":1}}],["compile",{"2":{"24":1,"28":1,"73":1}}]],"serializationVersion":2}'; +export { + _localSearchIndexroot as default +}; diff --git a/previews/PR211/assets/chunks/VPLocalSearchBox.Cmsrx5Ra.js b/previews/PR211/assets/chunks/VPLocalSearchBox.Cmsrx5Ra.js new file mode 100644 index 000000000..7abd0f533 --- /dev/null +++ b/previews/PR211/assets/chunks/VPLocalSearchBox.Cmsrx5Ra.js @@ -0,0 +1,5095 @@ +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +import { V as __vitePreload, p as ref, h as computed, aj as toValue, ak as unrefElement, al as notNullish, q as watch, am as tryOnScopeDispose, d as defineComponent, D as shallowRef, an as computedAsync, ao as useSessionStorage, ap as useLocalStorage, s as watchEffect, aq as watchDebounced, v as onMounted, P as nextTick, O as onKeyStroke, ar as useRouter, as as useEventListener, W as useScrollLock, R as inBrowser, $ as onBeforeUnmount, o as openBlock, b as createBlock, j as createBaseVNode, a0 as withModifiers, k as unref, at as withDirectives, au as vModelText, av as isRef, c as createElementBlock, n as normalizeClass, e as createCommentVNode, C as renderList, F as Fragment, a as createTextVNode, t as toDisplayString, aw as Teleport, ax as markRaw, ay as createApp, a9 as dataSymbol, af as pathToFile, az as escapeRegExp, _ as _export_sfc } from "./framework.DWWQFVfn.js"; +import { u as useData, c as createSearchTranslate } from "./theme.CBAd8UUw.js"; +const localSearchIndex = { "root": () => __vitePreload(() => import("./@localSearchIndexroot.CPDZDfTv.js"), true ? [] : void 0) }; +/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/ +var candidateSelectors = ["input:not([inert])", "select:not([inert])", "textarea:not([inert])", "a[href]:not([inert])", "button:not([inert])", "[tabindex]:not(slot):not([inert])", "audio[controls]:not([inert])", "video[controls]:not([inert])", '[contenteditable]:not([contenteditable="false"]):not([inert])', "details>summary:first-of-type:not([inert])", "details:not([inert])"]; +var candidateSelector = /* @__PURE__ */ candidateSelectors.join(","); +var NoElement = typeof Element === "undefined"; +var matches = NoElement ? function() { +} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; +var getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) { + var _element$getRootNode; + return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element); +} : function(element) { + return element === null || element === void 0 ? void 0 : element.ownerDocument; +}; +var isInert = function isInert2(node, lookUp) { + var _node$getAttribute; + if (lookUp === void 0) { + lookUp = true; + } + var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, "inert"); + var inert = inertAtt === "" || inertAtt === "true"; + var result = inert || lookUp && node && isInert2(node.parentNode); + return result; +}; +var isContentEditable = function isContentEditable2(node) { + var _node$getAttribute2; + var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, "contenteditable"); + return attValue === "" || attValue === "true"; +}; +var getCandidates = function getCandidates2(el, includeContainer, filter) { + if (isInert(el)) { + return []; + } + var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector)); + if (includeContainer && matches.call(el, candidateSelector)) { + candidates.unshift(el); + } + candidates = candidates.filter(filter); + return candidates; +}; +var getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) { + var candidates = []; + var elementsToCheck = Array.from(elements); + while (elementsToCheck.length) { + var element = elementsToCheck.shift(); + if (isInert(element, false)) { + continue; + } + if (element.tagName === "SLOT") { + var assigned = element.assignedElements(); + var content = assigned.length ? assigned : element.children; + var nestedCandidates = getCandidatesIteratively2(content, true, options); + if (options.flatten) { + candidates.push.apply(candidates, nestedCandidates); + } else { + candidates.push({ + scopeParent: element, + candidates: nestedCandidates + }); + } + } else { + var validCandidate = matches.call(element, candidateSelector); + if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) { + candidates.push(element); + } + var shadowRoot = element.shadowRoot || // check for an undisclosed shadow + typeof options.getShadowRoot === "function" && options.getShadowRoot(element); + var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element)); + if (shadowRoot && validShadowRoot) { + var _nestedCandidates = getCandidatesIteratively2(shadowRoot === true ? element.children : shadowRoot.children, true, options); + if (options.flatten) { + candidates.push.apply(candidates, _nestedCandidates); + } else { + candidates.push({ + scopeParent: element, + candidates: _nestedCandidates + }); + } + } else { + elementsToCheck.unshift.apply(elementsToCheck, element.children); + } + } + } + return candidates; +}; +var hasTabIndex = function hasTabIndex2(node) { + return !isNaN(parseInt(node.getAttribute("tabindex"), 10)); +}; +var getTabIndex = function getTabIndex2(node) { + if (!node) { + throw new Error("No node provided"); + } + if (node.tabIndex < 0) { + if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) { + return 0; + } + } + return node.tabIndex; +}; +var getSortOrderTabIndex = function getSortOrderTabIndex2(node, isScope) { + var tabIndex = getTabIndex(node); + if (tabIndex < 0 && isScope && !hasTabIndex(node)) { + return 0; + } + return tabIndex; +}; +var sortOrderedTabbables = function sortOrderedTabbables2(a, b) { + return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex; +}; +var isInput = function isInput2(node) { + return node.tagName === "INPUT"; +}; +var isHiddenInput = function isHiddenInput2(node) { + return isInput(node) && node.type === "hidden"; +}; +var isDetailsWithSummary = function isDetailsWithSummary2(node) { + var r = node.tagName === "DETAILS" && Array.prototype.slice.apply(node.children).some(function(child) { + return child.tagName === "SUMMARY"; + }); + return r; +}; +var getCheckedRadio = function getCheckedRadio2(nodes, form) { + for (var i = 0; i < nodes.length; i++) { + if (nodes[i].checked && nodes[i].form === form) { + return nodes[i]; + } + } +}; +var isTabbableRadio = function isTabbableRadio2(node) { + if (!node.name) { + return true; + } + var radioScope = node.form || getRootNode(node); + var queryRadios = function queryRadios2(name) { + return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]'); + }; + var radioSet; + if (typeof window !== "undefined" && typeof window.CSS !== "undefined" && typeof window.CSS.escape === "function") { + radioSet = queryRadios(window.CSS.escape(node.name)); + } else { + try { + radioSet = queryRadios(node.name); + } catch (err) { + console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s", err.message); + return false; + } + } + var checked = getCheckedRadio(radioSet, node.form); + return !checked || checked === node; +}; +var isRadio = function isRadio2(node) { + return isInput(node) && node.type === "radio"; +}; +var isNonTabbableRadio = function isNonTabbableRadio2(node) { + return isRadio(node) && !isTabbableRadio(node); +}; +var isNodeAttached = function isNodeAttached2(node) { + var _nodeRoot; + var nodeRoot = node && getRootNode(node); + var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host; + var attached = false; + if (nodeRoot && nodeRoot !== node) { + var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument; + attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node)); + while (!attached && nodeRootHost) { + var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD; + nodeRoot = getRootNode(nodeRootHost); + nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host; + attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost)); + } + } + return attached; +}; +var isZeroArea = function isZeroArea2(node) { + var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height; + return width === 0 && height === 0; +}; +var isHidden = function isHidden2(node, _ref) { + var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot; + if (getComputedStyle(node).visibility === "hidden") { + return true; + } + var isDirectSummary = matches.call(node, "details>summary:first-of-type"); + var nodeUnderDetails = isDirectSummary ? node.parentElement : node; + if (matches.call(nodeUnderDetails, "details:not([open]) *")) { + return true; + } + if (!displayCheck || displayCheck === "full" || displayCheck === "legacy-full") { + if (typeof getShadowRoot === "function") { + var originalNode = node; + while (node) { + var parentElement = node.parentElement; + var rootNode = getRootNode(node); + if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) { + return isZeroArea(node); + } else if (node.assignedSlot) { + node = node.assignedSlot; + } else if (!parentElement && rootNode !== node.ownerDocument) { + node = rootNode.host; + } else { + node = parentElement; + } + } + node = originalNode; + } + if (isNodeAttached(node)) { + return !node.getClientRects().length; + } + if (displayCheck !== "legacy-full") { + return true; + } + } else if (displayCheck === "non-zero-area") { + return isZeroArea(node); + } + return false; +}; +var isDisabledFromFieldset = function isDisabledFromFieldset2(node) { + if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) { + var parentNode = node.parentElement; + while (parentNode) { + if (parentNode.tagName === "FIELDSET" && parentNode.disabled) { + for (var i = 0; i < parentNode.children.length; i++) { + var child = parentNode.children.item(i); + if (child.tagName === "LEGEND") { + return matches.call(parentNode, "fieldset[disabled] *") ? true : !child.contains(node); + } + } + return true; + } + parentNode = parentNode.parentElement; + } + } + return false; +}; +var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) { + if (node.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor + // because we're limited in the type of selectors we can use in JSDom (see related + // note related to `candidateSelectors`) + isInert(node) || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus + isDetailsWithSummary(node) || isDisabledFromFieldset(node)) { + return false; + } + return true; +}; +var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) { + if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) { + return false; + } + return true; +}; +var isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) { + var tabIndex = parseInt(shadowHostNode.getAttribute("tabindex"), 10); + if (isNaN(tabIndex) || tabIndex >= 0) { + return true; + } + return false; +}; +var sortByOrder = function sortByOrder2(candidates) { + var regularTabbables = []; + var orderedTabbables = []; + candidates.forEach(function(item, i) { + var isScope = !!item.scopeParent; + var element = isScope ? item.scopeParent : item; + var candidateTabindex = getSortOrderTabIndex(element, isScope); + var elements = isScope ? sortByOrder2(item.candidates) : element; + if (candidateTabindex === 0) { + isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element); + } else { + orderedTabbables.push({ + documentOrder: i, + tabIndex: candidateTabindex, + item, + isScope, + content: elements + }); + } + }); + return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) { + sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content); + return acc; + }, []).concat(regularTabbables); +}; +var tabbable = function tabbable2(container, options) { + options = options || {}; + var candidates; + if (options.getShadowRoot) { + candidates = getCandidatesIteratively([container], options.includeContainer, { + filter: isNodeMatchingSelectorTabbable.bind(null, options), + flatten: false, + getShadowRoot: options.getShadowRoot, + shadowRootFilter: isValidShadowRootTabbable + }); + } else { + candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options)); + } + return sortByOrder(candidates); +}; +var focusable = function focusable2(container, options) { + options = options || {}; + var candidates; + if (options.getShadowRoot) { + candidates = getCandidatesIteratively([container], options.includeContainer, { + filter: isNodeMatchingSelectorFocusable.bind(null, options), + flatten: true, + getShadowRoot: options.getShadowRoot + }); + } else { + candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options)); + } + return candidates; +}; +var isTabbable = function isTabbable2(node, options) { + options = options || {}; + if (!node) { + throw new Error("No node provided"); + } + if (matches.call(node, candidateSelector) === false) { + return false; + } + return isNodeMatchingSelectorTabbable(options, node); +}; +var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat("iframe").join(","); +var isFocusable = function isFocusable2(node, options) { + options = options || {}; + if (!node) { + throw new Error("No node provided"); + } + if (matches.call(node, focusableCandidateSelector) === false) { + return false; + } + return isNodeMatchingSelectorFocusable(options, node); +}; +/*! +* focus-trap 7.6.0 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/ +function _defineProperty(e, r, t) { + return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: true, + configurable: true, + writable: true + }) : e[r] = t, e; +} +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), true).forEach(function(r2) { + _defineProperty(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : i + ""; +} +var activeFocusTraps = { + activateTrap: function activateTrap(trapStack, trap) { + if (trapStack.length > 0) { + var activeTrap = trapStack[trapStack.length - 1]; + if (activeTrap !== trap) { + activeTrap.pause(); + } + } + var trapIndex = trapStack.indexOf(trap); + if (trapIndex === -1) { + trapStack.push(trap); + } else { + trapStack.splice(trapIndex, 1); + trapStack.push(trap); + } + }, + deactivateTrap: function deactivateTrap(trapStack, trap) { + var trapIndex = trapStack.indexOf(trap); + if (trapIndex !== -1) { + trapStack.splice(trapIndex, 1); + } + if (trapStack.length > 0) { + trapStack[trapStack.length - 1].unpause(); + } + } +}; +var isSelectableInput = function isSelectableInput2(node) { + return node.tagName && node.tagName.toLowerCase() === "input" && typeof node.select === "function"; +}; +var isEscapeEvent = function isEscapeEvent2(e) { + return (e === null || e === void 0 ? void 0 : e.key) === "Escape" || (e === null || e === void 0 ? void 0 : e.key) === "Esc" || (e === null || e === void 0 ? void 0 : e.keyCode) === 27; +}; +var isTabEvent = function isTabEvent2(e) { + return (e === null || e === void 0 ? void 0 : e.key) === "Tab" || (e === null || e === void 0 ? void 0 : e.keyCode) === 9; +}; +var isKeyForward = function isKeyForward2(e) { + return isTabEvent(e) && !e.shiftKey; +}; +var isKeyBackward = function isKeyBackward2(e) { + return isTabEvent(e) && e.shiftKey; +}; +var delay = function delay2(fn) { + return setTimeout(fn, 0); +}; +var findIndex = function findIndex2(arr, fn) { + var idx = -1; + arr.every(function(value, i) { + if (fn(value)) { + idx = i; + return false; + } + return true; + }); + return idx; +}; +var valueOrHandler = function valueOrHandler2(value) { + for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + params[_key - 1] = arguments[_key]; + } + return typeof value === "function" ? value.apply(void 0, params) : value; +}; +var getActualTarget = function getActualTarget2(event) { + return event.target.shadowRoot && typeof event.composedPath === "function" ? event.composedPath()[0] : event.target; +}; +var internalTrapStack = []; +var createFocusTrap = function createFocusTrap2(elements, userOptions) { + var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document; + var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack; + var config = _objectSpread2({ + returnFocusOnDeactivate: true, + escapeDeactivates: true, + delayInitialFocus: true, + isKeyForward, + isKeyBackward + }, userOptions); + var state = { + // containers given to createFocusTrap() + // @type {Array} + containers: [], + // list of objects identifying tabbable nodes in `containers` in the trap + // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap + // is active, but the trap should never get to a state where there isn't at least one group + // with at least one tabbable node in it (that would lead to an error condition that would + // result in an error being thrown) + // @type {Array<{ + // container: HTMLElement, + // tabbableNodes: Array, // empty if none + // focusableNodes: Array, // empty if none + // posTabIndexesFound: boolean, + // firstTabbableNode: HTMLElement|undefined, + // lastTabbableNode: HTMLElement|undefined, + // firstDomTabbableNode: HTMLElement|undefined, + // lastDomTabbableNode: HTMLElement|undefined, + // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined + // }>} + containerGroups: [], + // same order/length as `containers` list + // references to objects in `containerGroups`, but only those that actually have + // tabbable nodes in them + // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__ + // the same length + tabbableGroups: [], + nodeFocusedBeforeActivation: null, + mostRecentlyFocusedNode: null, + active: false, + paused: false, + // timer ID for when delayInitialFocus is true and initial focus in this trap + // has been delayed during activation + delayInitialFocusTimer: void 0, + // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any + recentNavEvent: void 0 + }; + var trap; + var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) { + return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName]; + }; + var findContainerIndex = function findContainerIndex2(element, event) { + var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === "function" ? event.composedPath() : void 0; + return state.containerGroups.findIndex(function(_ref) { + var container = _ref.container, tabbableNodes = _ref.tabbableNodes; + return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any + // web components if the `tabbableOptions.getShadowRoot` option was used for + // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't + // look inside web components even if open) + (composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function(node) { + return node === element; + }); + }); + }; + var getNodeForOption = function getNodeForOption2(optionName) { + var optionValue = config[optionName]; + if (typeof optionValue === "function") { + for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + params[_key2 - 1] = arguments[_key2]; + } + optionValue = optionValue.apply(void 0, params); + } + if (optionValue === true) { + optionValue = void 0; + } + if (!optionValue) { + if (optionValue === void 0 || optionValue === false) { + return optionValue; + } + throw new Error("`".concat(optionName, "` was specified but was not a node, or did not return a node")); + } + var node = optionValue; + if (typeof optionValue === "string") { + node = doc.querySelector(optionValue); + if (!node) { + throw new Error("`".concat(optionName, "` as selector refers to no known node")); + } + } + return node; + }; + var getInitialFocusNode = function getInitialFocusNode2() { + var node = getNodeForOption("initialFocus"); + if (node === false) { + return false; + } + if (node === void 0 || !isFocusable(node, config.tabbableOptions)) { + if (findContainerIndex(doc.activeElement) >= 0) { + node = doc.activeElement; + } else { + var firstTabbableGroup = state.tabbableGroups[0]; + var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode; + node = firstTabbableNode || getNodeForOption("fallbackFocus"); + } + } + if (!node) { + throw new Error("Your focus-trap needs to have at least one focusable element"); + } + return node; + }; + var updateTabbableNodes = function updateTabbableNodes2() { + state.containerGroups = state.containers.map(function(container) { + var tabbableNodes = tabbable(container, config.tabbableOptions); + var focusableNodes = focusable(container, config.tabbableOptions); + var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : void 0; + var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : void 0; + var firstDomTabbableNode = focusableNodes.find(function(node) { + return isTabbable(node); + }); + var lastDomTabbableNode = focusableNodes.slice().reverse().find(function(node) { + return isTabbable(node); + }); + var posTabIndexesFound = !!tabbableNodes.find(function(node) { + return getTabIndex(node) > 0; + }); + return { + container, + tabbableNodes, + focusableNodes, + /** True if at least one node with positive `tabindex` was found in this container. */ + posTabIndexesFound, + /** First tabbable node in container, __tabindex__ order; `undefined` if none. */ + firstTabbableNode, + /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */ + lastTabbableNode, + // NOTE: DOM order is NOT NECESSARILY "document position" order, but figuring that out + // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition + // because that API doesn't work with Shadow DOM as well as it should (@see + // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far, + // to address an edge case related to positive tabindex support, this seems like a much easier, + // "close enough most of the time" alternative for positive tabindexes which should generally + // be avoided anyway... + /** First tabbable node in container, __DOM__ order; `undefined` if none. */ + firstDomTabbableNode, + /** Last tabbable node in container, __DOM__ order; `undefined` if none. */ + lastDomTabbableNode, + /** + * Finds the __tabbable__ node that follows the given node in the specified direction, + * in this container, if any. + * @param {HTMLElement} node + * @param {boolean} [forward] True if going in forward tab order; false if going + * in reverse. + * @returns {HTMLElement|undefined} The next tabbable node, if any. + */ + nextTabbableNode: function nextTabbableNode(node) { + var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var nodeIdx = tabbableNodes.indexOf(node); + if (nodeIdx < 0) { + if (forward) { + return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function(el) { + return isTabbable(el); + }); + } + return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function(el) { + return isTabbable(el); + }); + } + return tabbableNodes[nodeIdx + (forward ? 1 : -1)]; + } + }; + }); + state.tabbableGroups = state.containerGroups.filter(function(group) { + return group.tabbableNodes.length > 0; + }); + if (state.tabbableGroups.length <= 0 && !getNodeForOption("fallbackFocus")) { + throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times"); + } + if (state.containerGroups.find(function(g) { + return g.posTabIndexesFound; + }) && state.containerGroups.length > 1) { + throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps."); + } + }; + var _getActiveElement = function getActiveElement(el) { + var activeElement = el.activeElement; + if (!activeElement) { + return; + } + if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) { + return _getActiveElement(activeElement.shadowRoot); + } + return activeElement; + }; + var _tryFocus = function tryFocus(node) { + if (node === false) { + return; + } + if (node === _getActiveElement(document)) { + return; + } + if (!node || !node.focus) { + _tryFocus(getInitialFocusNode()); + return; + } + node.focus({ + preventScroll: !!config.preventScroll + }); + state.mostRecentlyFocusedNode = node; + if (isSelectableInput(node)) { + node.select(); + } + }; + var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) { + var node = getNodeForOption("setReturnFocus", previousActiveElement); + return node ? node : node === false ? false : previousActiveElement; + }; + var findNextNavNode = function findNextNavNode2(_ref2) { + var target = _ref2.target, event = _ref2.event, _ref2$isBackward = _ref2.isBackward, isBackward = _ref2$isBackward === void 0 ? false : _ref2$isBackward; + target = target || getActualTarget(event); + updateTabbableNodes(); + var destinationNode = null; + if (state.tabbableGroups.length > 0) { + var containerIndex = findContainerIndex(target, event); + var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0; + if (containerIndex < 0) { + if (isBackward) { + destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode; + } else { + destinationNode = state.tabbableGroups[0].firstTabbableNode; + } + } else if (isBackward) { + var startOfGroupIndex = findIndex(state.tabbableGroups, function(_ref3) { + var firstTabbableNode = _ref3.firstTabbableNode; + return target === firstTabbableNode; + }); + if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) { + startOfGroupIndex = containerIndex; + } + if (startOfGroupIndex >= 0) { + var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1; + var destinationGroup = state.tabbableGroups[destinationGroupIndex]; + destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode; + } else if (!isTabEvent(event)) { + destinationNode = containerGroup.nextTabbableNode(target, false); + } + } else { + var lastOfGroupIndex = findIndex(state.tabbableGroups, function(_ref4) { + var lastTabbableNode = _ref4.lastTabbableNode; + return target === lastTabbableNode; + }); + if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) { + lastOfGroupIndex = containerIndex; + } + if (lastOfGroupIndex >= 0) { + var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1; + var _destinationGroup = state.tabbableGroups[_destinationGroupIndex]; + destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode; + } else if (!isTabEvent(event)) { + destinationNode = containerGroup.nextTabbableNode(target); + } + } + } else { + destinationNode = getNodeForOption("fallbackFocus"); + } + return destinationNode; + }; + var checkPointerDown = function checkPointerDown2(e) { + var target = getActualTarget(e); + if (findContainerIndex(target, e) >= 0) { + return; + } + if (valueOrHandler(config.clickOutsideDeactivates, e)) { + trap.deactivate({ + // NOTE: by setting `returnFocus: false`, deactivate() will do nothing, + // which will result in the outside click setting focus to the node + // that was clicked (and if not focusable, to "nothing"); by setting + // `returnFocus: true`, we'll attempt to re-focus the node originally-focused + // on activation (or the configured `setReturnFocus` node), whether the + // outside click was on a focusable node or not + returnFocus: config.returnFocusOnDeactivate + }); + return; + } + if (valueOrHandler(config.allowOutsideClick, e)) { + return; + } + e.preventDefault(); + }; + var checkFocusIn = function checkFocusIn2(event) { + var target = getActualTarget(event); + var targetContained = findContainerIndex(target, event) >= 0; + if (targetContained || target instanceof Document) { + if (targetContained) { + state.mostRecentlyFocusedNode = target; + } + } else { + event.stopImmediatePropagation(); + var nextNode; + var navAcrossContainers = true; + if (state.mostRecentlyFocusedNode) { + if (getTabIndex(state.mostRecentlyFocusedNode) > 0) { + var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode); + var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes; + if (tabbableNodes.length > 0) { + var mruTabIdx = tabbableNodes.findIndex(function(node) { + return node === state.mostRecentlyFocusedNode; + }); + if (mruTabIdx >= 0) { + if (config.isKeyForward(state.recentNavEvent)) { + if (mruTabIdx + 1 < tabbableNodes.length) { + nextNode = tabbableNodes[mruTabIdx + 1]; + navAcrossContainers = false; + } + } else { + if (mruTabIdx - 1 >= 0) { + nextNode = tabbableNodes[mruTabIdx - 1]; + navAcrossContainers = false; + } + } + } + } + } else { + if (!state.containerGroups.some(function(g) { + return g.tabbableNodes.some(function(n) { + return getTabIndex(n) > 0; + }); + })) { + navAcrossContainers = false; + } + } + } else { + navAcrossContainers = false; + } + if (navAcrossContainers) { + nextNode = findNextNavNode({ + // move FROM the MRU node, not event-related node (which will be the node that is + // outside the trap causing the focus escape we're trying to fix) + target: state.mostRecentlyFocusedNode, + isBackward: config.isKeyBackward(state.recentNavEvent) + }); + } + if (nextNode) { + _tryFocus(nextNode); + } else { + _tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode()); + } + } + state.recentNavEvent = void 0; + }; + var checkKeyNav = function checkKeyNav2(event) { + var isBackward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + state.recentNavEvent = event; + var destinationNode = findNextNavNode({ + event, + isBackward + }); + if (destinationNode) { + if (isTabEvent(event)) { + event.preventDefault(); + } + _tryFocus(destinationNode); + } + }; + var checkTabKey = function checkTabKey2(event) { + if (config.isKeyForward(event) || config.isKeyBackward(event)) { + checkKeyNav(event, config.isKeyBackward(event)); + } + }; + var checkEscapeKey = function checkEscapeKey2(event) { + if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) { + event.preventDefault(); + trap.deactivate(); + } + }; + var checkClick = function checkClick2(e) { + var target = getActualTarget(e); + if (findContainerIndex(target, e) >= 0) { + return; + } + if (valueOrHandler(config.clickOutsideDeactivates, e)) { + return; + } + if (valueOrHandler(config.allowOutsideClick, e)) { + return; + } + e.preventDefault(); + e.stopImmediatePropagation(); + }; + var addListeners = function addListeners2() { + if (!state.active) { + return; + } + activeFocusTraps.activateTrap(trapStack, trap); + state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function() { + _tryFocus(getInitialFocusNode()); + }) : _tryFocus(getInitialFocusNode()); + doc.addEventListener("focusin", checkFocusIn, true); + doc.addEventListener("mousedown", checkPointerDown, { + capture: true, + passive: false + }); + doc.addEventListener("touchstart", checkPointerDown, { + capture: true, + passive: false + }); + doc.addEventListener("click", checkClick, { + capture: true, + passive: false + }); + doc.addEventListener("keydown", checkTabKey, { + capture: true, + passive: false + }); + doc.addEventListener("keydown", checkEscapeKey); + return trap; + }; + var removeListeners = function removeListeners2() { + if (!state.active) { + return; + } + doc.removeEventListener("focusin", checkFocusIn, true); + doc.removeEventListener("mousedown", checkPointerDown, true); + doc.removeEventListener("touchstart", checkPointerDown, true); + doc.removeEventListener("click", checkClick, true); + doc.removeEventListener("keydown", checkTabKey, true); + doc.removeEventListener("keydown", checkEscapeKey); + return trap; + }; + var checkDomRemoval = function checkDomRemoval2(mutations) { + var isFocusedNodeRemoved = mutations.some(function(mutation) { + var removedNodes = Array.from(mutation.removedNodes); + return removedNodes.some(function(node) { + return node === state.mostRecentlyFocusedNode; + }); + }); + if (isFocusedNodeRemoved) { + _tryFocus(getInitialFocusNode()); + } + }; + var mutationObserver = typeof window !== "undefined" && "MutationObserver" in window ? new MutationObserver(checkDomRemoval) : void 0; + var updateObservedNodes = function updateObservedNodes2() { + if (!mutationObserver) { + return; + } + mutationObserver.disconnect(); + if (state.active && !state.paused) { + state.containers.map(function(container) { + mutationObserver.observe(container, { + subtree: true, + childList: true + }); + }); + } + }; + trap = { + get active() { + return state.active; + }, + get paused() { + return state.paused; + }, + activate: function activate(activateOptions) { + if (state.active) { + return this; + } + var onActivate = getOption(activateOptions, "onActivate"); + var onPostActivate = getOption(activateOptions, "onPostActivate"); + var checkCanFocusTrap = getOption(activateOptions, "checkCanFocusTrap"); + if (!checkCanFocusTrap) { + updateTabbableNodes(); + } + state.active = true; + state.paused = false; + state.nodeFocusedBeforeActivation = doc.activeElement; + onActivate === null || onActivate === void 0 || onActivate(); + var finishActivation = function finishActivation2() { + if (checkCanFocusTrap) { + updateTabbableNodes(); + } + addListeners(); + updateObservedNodes(); + onPostActivate === null || onPostActivate === void 0 || onPostActivate(); + }; + if (checkCanFocusTrap) { + checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation); + return this; + } + finishActivation(); + return this; + }, + deactivate: function deactivate(deactivateOptions) { + if (!state.active) { + return this; + } + var options = _objectSpread2({ + onDeactivate: config.onDeactivate, + onPostDeactivate: config.onPostDeactivate, + checkCanReturnFocus: config.checkCanReturnFocus + }, deactivateOptions); + clearTimeout(state.delayInitialFocusTimer); + state.delayInitialFocusTimer = void 0; + removeListeners(); + state.active = false; + state.paused = false; + updateObservedNodes(); + activeFocusTraps.deactivateTrap(trapStack, trap); + var onDeactivate = getOption(options, "onDeactivate"); + var onPostDeactivate = getOption(options, "onPostDeactivate"); + var checkCanReturnFocus = getOption(options, "checkCanReturnFocus"); + var returnFocus = getOption(options, "returnFocus", "returnFocusOnDeactivate"); + onDeactivate === null || onDeactivate === void 0 || onDeactivate(); + var finishDeactivation = function finishDeactivation2() { + delay(function() { + if (returnFocus) { + _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)); + } + onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate(); + }); + }; + if (returnFocus && checkCanReturnFocus) { + checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation); + return this; + } + finishDeactivation(); + return this; + }, + pause: function pause(pauseOptions) { + if (state.paused || !state.active) { + return this; + } + var onPause = getOption(pauseOptions, "onPause"); + var onPostPause = getOption(pauseOptions, "onPostPause"); + state.paused = true; + onPause === null || onPause === void 0 || onPause(); + removeListeners(); + updateObservedNodes(); + onPostPause === null || onPostPause === void 0 || onPostPause(); + return this; + }, + unpause: function unpause(unpauseOptions) { + if (!state.paused || !state.active) { + return this; + } + var onUnpause = getOption(unpauseOptions, "onUnpause"); + var onPostUnpause = getOption(unpauseOptions, "onPostUnpause"); + state.paused = false; + onUnpause === null || onUnpause === void 0 || onUnpause(); + updateTabbableNodes(); + addListeners(); + updateObservedNodes(); + onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause(); + return this; + }, + updateContainerElements: function updateContainerElements(containerElements) { + var elementsAsArray = [].concat(containerElements).filter(Boolean); + state.containers = elementsAsArray.map(function(element) { + return typeof element === "string" ? doc.querySelector(element) : element; + }); + if (state.active) { + updateTabbableNodes(); + } + updateObservedNodes(); + return this; + } + }; + trap.updateContainerElements(elements); + return trap; +}; +function useFocusTrap(target, options = {}) { + let trap; + const { immediate, ...focusTrapOptions } = options; + const hasFocus = ref(false); + const isPaused = ref(false); + const activate = (opts) => trap && trap.activate(opts); + const deactivate = (opts) => trap && trap.deactivate(opts); + const pause = () => { + if (trap) { + trap.pause(); + isPaused.value = true; + } + }; + const unpause = () => { + if (trap) { + trap.unpause(); + isPaused.value = false; + } + }; + const targets = computed(() => { + const _targets = toValue(target); + return (Array.isArray(_targets) ? _targets : [_targets]).map((el) => { + const _el = toValue(el); + return typeof _el === "string" ? _el : unrefElement(_el); + }).filter(notNullish); + }); + watch( + targets, + (els) => { + if (!els.length) + return; + trap = createFocusTrap(els, { + ...focusTrapOptions, + onActivate() { + hasFocus.value = true; + if (options.onActivate) + options.onActivate(); + }, + onDeactivate() { + hasFocus.value = false; + if (options.onDeactivate) + options.onDeactivate(); + } + }); + if (immediate) + activate(); + }, + { flush: "post" } + ); + tryOnScopeDispose(() => deactivate()); + return { + hasFocus, + isPaused, + activate, + deactivate, + pause, + unpause + }; +} +class DOMIterator { + /** + * @param {HTMLElement|HTMLElement[]|NodeList|string} ctx - The context DOM + * element, an array of DOM elements, a NodeList or a selector + * @param {boolean} [iframes=true] - A boolean indicating if iframes should + * be handled + * @param {string[]} [exclude=[]] - An array containing exclusion selectors + * for iframes + * @param {number} [iframesTimeout=5000] - A number indicating the ms to + * wait before an iframe should be skipped, in case the load event isn't + * fired. This also applies if the user is offline and the resource of the + * iframe is online (either by the browsers "offline" mode or because + * there's no internet connection) + */ + constructor(ctx, iframes = true, exclude = [], iframesTimeout = 5e3) { + this.ctx = ctx; + this.iframes = iframes; + this.exclude = exclude; + this.iframesTimeout = iframesTimeout; + } + /** + * Checks if the specified DOM element matches the selector + * @param {HTMLElement} element - The DOM element + * @param {string|string[]} selector - The selector or an array with + * selectors + * @return {boolean} + * @access public + */ + static matches(element, selector) { + const selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; + if (fn) { + let match = false; + selectors.every((sel) => { + if (fn.call(element, sel)) { + match = true; + return false; + } + return true; + }); + return match; + } else { + return false; + } + } + /** + * Returns all contexts filtered by duplicates (even nested) + * @return {HTMLElement[]} - An array containing DOM contexts + * @access protected + */ + getContexts() { + let ctx, filteredCtx = []; + if (typeof this.ctx === "undefined" || !this.ctx) { + ctx = []; + } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { + ctx = Array.prototype.slice.call(this.ctx); + } else if (Array.isArray(this.ctx)) { + ctx = this.ctx; + } else if (typeof this.ctx === "string") { + ctx = Array.prototype.slice.call( + document.querySelectorAll(this.ctx) + ); + } else { + ctx = [this.ctx]; + } + ctx.forEach((ctx2) => { + const isDescendant = filteredCtx.filter((contexts) => { + return contexts.contains(ctx2); + }).length > 0; + if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { + filteredCtx.push(ctx2); + } + }); + return filteredCtx; + } + /** + * @callback DOMIterator~getIframeContentsSuccessCallback + * @param {HTMLDocument} contents - The contentDocument of the iframe + */ + /** + * Calls the success callback function with the iframe document. If it can't + * be accessed it calls the error callback function + * @param {HTMLElement} ifr - The iframe DOM element + * @param {DOMIterator~getIframeContentsSuccessCallback} successFn + * @param {function} [errorFn] + * @access protected + */ + getIframeContents(ifr, successFn, errorFn = () => { + }) { + let doc; + try { + const ifrWin = ifr.contentWindow; + doc = ifrWin.document; + if (!ifrWin || !doc) { + throw new Error("iframe inaccessible"); + } + } catch (e) { + errorFn(); + } + if (doc) { + successFn(doc); + } + } + /** + * Checks if an iframe is empty (if about:blank is the shown page) + * @param {HTMLElement} ifr - The iframe DOM element + * @return {boolean} + * @access protected + */ + isIframeBlank(ifr) { + const bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; + return href === bl && src !== bl && src; + } + /** + * Observes the onload event of an iframe and calls the success callback or + * the error callback if the iframe is inaccessible. If the event isn't + * fired within the specified {@link DOMIterator#iframesTimeout}, then it'll + * call the error callback too + * @param {HTMLElement} ifr - The iframe DOM element + * @param {DOMIterator~getIframeContentsSuccessCallback} successFn + * @param {function} errorFn + * @access protected + */ + observeIframeLoad(ifr, successFn, errorFn) { + let called = false, tout = null; + const listener = () => { + if (called) { + return; + } + called = true; + clearTimeout(tout); + try { + if (!this.isIframeBlank(ifr)) { + ifr.removeEventListener("load", listener); + this.getIframeContents(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + }; + ifr.addEventListener("load", listener); + tout = setTimeout(listener, this.iframesTimeout); + } + /** + * Callback when the iframe is ready + * @callback DOMIterator~onIframeReadySuccessCallback + * @param {HTMLDocument} contents - The contentDocument of the iframe + */ + /** + * Callback if the iframe can't be accessed + * @callback DOMIterator~onIframeReadyErrorCallback + */ + /** + * Calls the callback if the specified iframe is ready for DOM access + * @param {HTMLElement} ifr - The iframe DOM element + * @param {DOMIterator~onIframeReadySuccessCallback} successFn - Success + * callback + * @param {DOMIterator~onIframeReadyErrorCallback} errorFn - Error callback + * @see {@link http://stackoverflow.com/a/36155560/3894981} for + * background information + * @access protected + */ + onIframeReady(ifr, successFn, errorFn) { + try { + if (ifr.contentWindow.document.readyState === "complete") { + if (this.isIframeBlank(ifr)) { + this.observeIframeLoad(ifr, successFn, errorFn); + } else { + this.getIframeContents(ifr, successFn, errorFn); + } + } else { + this.observeIframeLoad(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + } + /** + * Callback when all iframes are ready for DOM access + * @callback DOMIterator~waitForIframesDoneCallback + */ + /** + * Iterates over all iframes and calls the done callback when all of them + * are ready for DOM access (including nested ones) + * @param {HTMLElement} ctx - The context DOM element + * @param {DOMIterator~waitForIframesDoneCallback} done - Done callback + */ + waitForIframes(ctx, done) { + let eachCalled = 0; + this.forEachIframe(ctx, () => true, (ifr) => { + eachCalled++; + this.waitForIframes(ifr.querySelector("html"), () => { + if (!--eachCalled) { + done(); + } + }); + }, (handled) => { + if (!handled) { + done(); + } + }); + } + /** + * Callback allowing to filter an iframe. Must return true when the element + * should remain, otherwise false + * @callback DOMIterator~forEachIframeFilterCallback + * @param {HTMLElement} iframe - The iframe DOM element + */ + /** + * Callback for each iframe content + * @callback DOMIterator~forEachIframeEachCallback + * @param {HTMLElement} content - The iframe document + */ + /** + * Callback if all iframes inside the context were handled + * @callback DOMIterator~forEachIframeEndCallback + * @param {number} handled - The number of handled iframes (those who + * wheren't filtered) + */ + /** + * Iterates over all iframes inside the specified context and calls the + * callbacks when they're ready. Filters iframes based on the instance + * exclusion selectors + * @param {HTMLElement} ctx - The context DOM element + * @param {DOMIterator~forEachIframeFilterCallback} filter - Filter callback + * @param {DOMIterator~forEachIframeEachCallback} each - Each callback + * @param {DOMIterator~forEachIframeEndCallback} [end] - End callback + * @access protected + */ + forEachIframe(ctx, filter, each, end = () => { + }) { + let ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; + ifr = Array.prototype.slice.call(ifr); + const checkEnd = () => { + if (--open <= 0) { + end(handled); + } + }; + if (!open) { + checkEnd(); + } + ifr.forEach((ifr2) => { + if (DOMIterator.matches(ifr2, this.exclude)) { + checkEnd(); + } else { + this.onIframeReady(ifr2, (con) => { + if (filter(ifr2)) { + handled++; + each(con); + } + checkEnd(); + }, checkEnd); + } + }); + } + /** + * Creates a NodeIterator on the specified context + * @see {@link https://developer.mozilla.org/en/docs/Web/API/NodeIterator} + * @param {HTMLElement} ctx - The context DOM element + * @param {DOMIterator~whatToShow} whatToShow + * @param {DOMIterator~filterCb} filter + * @return {NodeIterator} + * @access protected + */ + createIterator(ctx, whatToShow, filter) { + return document.createNodeIterator(ctx, whatToShow, filter, false); + } + /** + * Creates an instance of DOMIterator in an iframe + * @param {HTMLDocument} contents - Iframe document + * @return {DOMIterator} + * @access protected + */ + createInstanceOnIframe(contents) { + return new DOMIterator(contents.querySelector("html"), this.iframes); + } + /** + * Checks if an iframe occurs between two nodes, more specifically if an + * iframe occurs before the specified node and after the specified prevNode + * @param {HTMLElement} node - The node that should occur after the iframe + * @param {HTMLElement} prevNode - The node that should occur before the + * iframe + * @param {HTMLElement} ifr - The iframe to check against + * @return {boolean} + * @access protected + */ + compareNodeIframe(node, prevNode, ifr) { + const compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; + if (compCurr & prev) { + if (prevNode !== null) { + const compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; + if (compPrev & after) { + return true; + } + } else { + return true; + } + } + return false; + } + /** + * @typedef {DOMIterator~getIteratorNodeReturn} + * @type {object.} + * @property {HTMLElement} prevNode - The previous node or null if there is + * no + * @property {HTMLElement} node - The current node + */ + /** + * Returns the previous and current node of the specified iterator + * @param {NodeIterator} itr - The iterator + * @return {DOMIterator~getIteratorNodeReturn} + * @access protected + */ + getIteratorNode(itr) { + const prevNode = itr.previousNode(); + let node; + if (prevNode === null) { + node = itr.nextNode(); + } else { + node = itr.nextNode() && itr.nextNode(); + } + return { + prevNode, + node + }; + } + /** + * An array containing objects. The object key "val" contains an iframe + * DOM element. The object key "handled" contains a boolean indicating if + * the iframe was handled already. + * It wouldn't be enough to save all open or all already handled iframes. + * The information of open iframes is necessary because they may occur after + * all other text nodes (and compareNodeIframe would never be true). The + * information of already handled iframes is necessary as otherwise they may + * be handled multiple times + * @typedef DOMIterator~checkIframeFilterIfr + * @type {object[]} + */ + /** + * Checks if an iframe wasn't handled already and if so, calls + * {@link DOMIterator#compareNodeIframe} to check if it should be handled. + * Information wheter an iframe was or wasn't handled is given within the + * ifr dictionary + * @param {HTMLElement} node - The node that should occur after the iframe + * @param {HTMLElement} prevNode - The node that should occur before the + * iframe + * @param {HTMLElement} currIfr - The iframe to check + * @param {DOMIterator~checkIframeFilterIfr} ifr - The iframe dictionary. + * Will be manipulated (by reference) + * @return {boolean} Returns true when it should be handled, otherwise false + * @access protected + */ + checkIframeFilter(node, prevNode, currIfr, ifr) { + let key = false, handled = false; + ifr.forEach((ifrDict, i) => { + if (ifrDict.val === currIfr) { + key = i; + handled = ifrDict.handled; + } + }); + if (this.compareNodeIframe(node, prevNode, currIfr)) { + if (key === false && !handled) { + ifr.push({ + val: currIfr, + handled: true + }); + } else if (key !== false && !handled) { + ifr[key].handled = true; + } + return true; + } + if (key === false) { + ifr.push({ + val: currIfr, + handled: false + }); + } + return false; + } + /** + * Creates an iterator on all open iframes in the specified array and calls + * the end callback when finished + * @param {DOMIterator~checkIframeFilterIfr} ifr + * @param {DOMIterator~whatToShow} whatToShow + * @param {DOMIterator~forEachNodeCallback} eCb - Each callback + * @param {DOMIterator~filterCb} fCb + * @access protected + */ + handleOpenIframes(ifr, whatToShow, eCb, fCb) { + ifr.forEach((ifrDict) => { + if (!ifrDict.handled) { + this.getIframeContents(ifrDict.val, (con) => { + this.createInstanceOnIframe(con).forEachNode( + whatToShow, + eCb, + fCb + ); + }); + } + }); + } + /** + * Iterates through all nodes in the specified context and handles iframe + * nodes at the correct position + * @param {DOMIterator~whatToShow} whatToShow + * @param {HTMLElement} ctx - The context + * @param {DOMIterator~forEachNodeCallback} eachCb - Each callback + * @param {DOMIterator~filterCb} filterCb - Filter callback + * @param {DOMIterator~forEachNodeEndCallback} doneCb - End callback + * @access protected + */ + iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { + const itr = this.createIterator(ctx, whatToShow, filterCb); + let ifr = [], elements = [], node, prevNode, retrieveNodes = () => { + ({ + prevNode, + node + } = this.getIteratorNode(itr)); + return node; + }; + while (retrieveNodes()) { + if (this.iframes) { + this.forEachIframe(ctx, (currIfr) => { + return this.checkIframeFilter(node, prevNode, currIfr, ifr); + }, (con) => { + this.createInstanceOnIframe(con).forEachNode( + whatToShow, + (ifrNode) => elements.push(ifrNode), + filterCb + ); + }); + } + elements.push(node); + } + elements.forEach((node2) => { + eachCb(node2); + }); + if (this.iframes) { + this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); + } + doneCb(); + } + /** + * Callback for each node + * @callback DOMIterator~forEachNodeCallback + * @param {HTMLElement} node - The DOM text node element + */ + /** + * Callback if all contexts were handled + * @callback DOMIterator~forEachNodeEndCallback + */ + /** + * Iterates over all contexts and initializes + * {@link DOMIterator#iterateThroughNodes iterateThroughNodes} on them + * @param {DOMIterator~whatToShow} whatToShow + * @param {DOMIterator~forEachNodeCallback} each - Each callback + * @param {DOMIterator~filterCb} filter - Filter callback + * @param {DOMIterator~forEachNodeEndCallback} done - End callback + * @access public + */ + forEachNode(whatToShow, each, filter, done = () => { + }) { + const contexts = this.getContexts(); + let open = contexts.length; + if (!open) { + done(); + } + contexts.forEach((ctx) => { + const ready = () => { + this.iterateThroughNodes(whatToShow, ctx, each, filter, () => { + if (--open <= 0) { + done(); + } + }); + }; + if (this.iframes) { + this.waitForIframes(ctx, ready); + } else { + ready(); + } + }); + } + /** + * Callback to filter nodes. Can return e.g. NodeFilter.FILTER_ACCEPT or + * NodeFilter.FILTER_REJECT + * @see {@link http://tinyurl.com/zdczmm2} + * @callback DOMIterator~filterCb + * @param {HTMLElement} node - The node to filter + */ + /** + * @typedef DOMIterator~whatToShow + * @see {@link http://tinyurl.com/zfqqkx2} + * @type {number} + */ +} +let Mark$1 = class Mark { + // eslint-disable-line no-unused-vars + /** + * @param {HTMLElement|HTMLElement[]|NodeList|string} ctx - The context DOM + * element, an array of DOM elements, a NodeList or a selector + */ + constructor(ctx) { + this.ctx = ctx; + this.ie = false; + const ua = window.navigator.userAgent; + if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { + this.ie = true; + } + } + /** + * Options defined by the user. They will be initialized from one of the + * public methods. See {@link Mark#mark}, {@link Mark#markRegExp}, + * {@link Mark#markRanges} and {@link Mark#unmark} for option properties. + * @type {object} + * @param {object} [val] - An object that will be merged with defaults + * @access protected + */ + set opt(val) { + this._opt = Object.assign({}, { + "element": "", + "className": "", + "exclude": [], + "iframes": false, + "iframesTimeout": 5e3, + "separateWordSearch": true, + "diacritics": true, + "synonyms": {}, + "accuracy": "partially", + "acrossElements": false, + "caseSensitive": false, + "ignoreJoiners": false, + "ignoreGroups": 0, + "ignorePunctuation": [], + "wildcards": "disabled", + "each": () => { + }, + "noMatch": () => { + }, + "filter": () => true, + "done": () => { + }, + "debug": false, + "log": window.console + }, val); + } + get opt() { + return this._opt; + } + /** + * An instance of DOMIterator + * @type {DOMIterator} + * @access protected + */ + get iterator() { + return new DOMIterator( + this.ctx, + this.opt.iframes, + this.opt.exclude, + this.opt.iframesTimeout + ); + } + /** + * Logs a message if log is enabled + * @param {string} msg - The message to log + * @param {string} [level="debug"] - The log level, e.g. warn + * error, debug + * @access protected + */ + log(msg, level = "debug") { + const log = this.opt.log; + if (!this.opt.debug) { + return; + } + if (typeof log === "object" && typeof log[level] === "function") { + log[level](`mark.js: ${msg}`); + } + } + /** + * Escapes a string for usage within a regular expression + * @param {string} str - The string to escape + * @return {string} + * @access protected + */ + escapeStr(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + /** + * Creates a regular expression string to match the specified search + * term including synonyms, diacritics and accuracy if defined + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + createRegExp(str) { + if (this.opt.wildcards !== "disabled") { + str = this.setupWildcardsRegExp(str); + } + str = this.escapeStr(str); + if (Object.keys(this.opt.synonyms).length) { + str = this.createSynonymsRegExp(str); + } + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + if (this.opt.diacritics) { + str = this.createDiacriticsRegExp(str); + } + str = this.createMergedBlanksRegExp(str); + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.createJoinersRegExp(str); + } + if (this.opt.wildcards !== "disabled") { + str = this.createWildcardsRegExp(str); + } + str = this.createAccuracyRegExp(str); + return str; + } + /** + * Creates a regular expression string to match the defined synonyms + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + createSynonymsRegExp(str) { + const syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; + for (let index in syn) { + if (syn.hasOwnProperty(index)) { + const value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); + if (k1 !== "" && k2 !== "") { + str = str.replace( + new RegExp( + `(${this.escapeStr(k1)}|${this.escapeStr(k2)})`, + `gm${sens}` + ), + joinerPlaceholder + `(${this.processSynomyms(k1)}|${this.processSynomyms(k2)})` + joinerPlaceholder + ); + } + } + } + return str; + } + /** + * Setup synonyms to work with ignoreJoiners and or ignorePunctuation + * @param {string} str - synonym key or value to process + * @return {string} - processed synonym string + */ + processSynomyms(str) { + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + return str; + } + /** + * Sets up the regular expression string to allow later insertion of + * wildcard regular expression matches + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + setupWildcardsRegExp(str) { + str = str.replace(/(?:\\)*\?/g, (val) => { + return val.charAt(0) === "\\" ? "?" : ""; + }); + return str.replace(/(?:\\)*\*/g, (val) => { + return val.charAt(0) === "\\" ? "*" : ""; + }); + } + /** + * Sets up the regular expression string to allow later insertion of + * wildcard regular expression matches + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + createWildcardsRegExp(str) { + let spaces = this.opt.wildcards === "withSpaces"; + return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); + } + /** + * Sets up the regular expression string to allow later insertion of + * designated characters (soft hyphens & zero width characters) + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + setupIgnoreJoinersRegExp(str) { + return str.replace(/[^(|)\\]/g, (val, indx, original) => { + let nextChar = original.charAt(indx + 1); + if (/[(|)\\]/.test(nextChar) || nextChar === "") { + return val; + } else { + return val + "\0"; + } + }); + } + /** + * Creates a regular expression string to allow ignoring of designated + * characters (soft hyphens, zero width characters & punctuation) based on + * the specified option values of ignorePunctuation and + * ignoreJoiners + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + createJoinersRegExp(str) { + let joiner = []; + const ignorePunctuation = this.opt.ignorePunctuation; + if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { + joiner.push(this.escapeStr(ignorePunctuation.join(""))); + } + if (this.opt.ignoreJoiners) { + joiner.push("\\u00ad\\u200b\\u200c\\u200d"); + } + return joiner.length ? str.split(/\u0000+/).join(`[${joiner.join("")}]*`) : str; + } + /** + * Creates a regular expression string to match diacritics + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + createDiacriticsRegExp(str) { + const sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? [ + "aàáảãạăằắẳẵặâầấẩẫậäåāą", + "AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ", + "cçćč", + "CÇĆČ", + "dđď", + "DĐĎ", + "eèéẻẽẹêềếểễệëěēę", + "EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ", + "iìíỉĩịîïī", + "IÌÍỈĨỊÎÏĪ", + "lł", + "LŁ", + "nñňń", + "NÑŇŃ", + "oòóỏõọôồốổỗộơởỡớờợöøō", + "OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ", + "rř", + "RŘ", + "sšśșş", + "SŠŚȘŞ", + "tťțţ", + "TŤȚŢ", + "uùúủũụưừứửữựûüůū", + "UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ", + "yýỳỷỹỵÿ", + "YÝỲỶỸỴŸ", + "zžżź", + "ZŽŻŹ" + ] : [ + "aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ", + "cçćčCÇĆČ", + "dđďDĐĎ", + "eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ", + "iìíỉĩịîïīIÌÍỈĨỊÎÏĪ", + "lłLŁ", + "nñňńNÑŇŃ", + "oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ", + "rřRŘ", + "sšśșşSŠŚȘŞ", + "tťțţTŤȚŢ", + "uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ", + "yýỳỷỹỵÿYÝỲỶỸỴŸ", + "zžżźZŽŻŹ" + ]; + let handled = []; + str.split("").forEach((ch) => { + dct.every((dct2) => { + if (dct2.indexOf(ch) !== -1) { + if (handled.indexOf(dct2) > -1) { + return false; + } + str = str.replace( + new RegExp(`[${dct2}]`, `gm${sens}`), + `[${dct2}]` + ); + handled.push(dct2); + } + return true; + }); + }); + return str; + } + /** + * Creates a regular expression string that merges whitespace characters + * including subsequent ones into a single pattern, one or multiple + * whitespaces + * @param {string} str - The search term to be used + * @return {string} + * @access protected + */ + createMergedBlanksRegExp(str) { + return str.replace(/[\s]+/gmi, "[\\s]+"); + } + /** + * Creates a regular expression string to match the specified string with + * the defined accuracy. As in the regular expression of "exactly" can be + * a group containing a blank at the beginning, all regular expressions will + * be created with two groups. The first group can be ignored (may contain + * the said blank), the second contains the actual match + * @param {string} str - The searm term to be used + * @return {str} + * @access protected + */ + createAccuracyRegExp(str) { + const chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿"; + let acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; + ls.forEach((limiter) => { + lsJoin += `|${this.escapeStr(limiter)}`; + }); + switch (val) { + case "partially": + default: + return `()(${str})`; + case "complementary": + lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); + return `()([^${lsJoin}]*${str}[^${lsJoin}]*)`; + case "exactly": + return `(^|\\s${lsJoin})(${str})(?=$|\\s${lsJoin})`; + } + } + /** + * @typedef Mark~separatedKeywords + * @type {object.} + * @property {array.} keywords - The list of keywords + * @property {number} length - The length + */ + /** + * Returns a list of keywords dependent on whether separate word search + * was defined. Also it filters empty keywords + * @param {array} sv - The array of keywords + * @return {Mark~separatedKeywords} + * @access protected + */ + getSeparatedKeywords(sv) { + let stack = []; + sv.forEach((kw) => { + if (!this.opt.separateWordSearch) { + if (kw.trim() && stack.indexOf(kw) === -1) { + stack.push(kw); + } + } else { + kw.split(" ").forEach((kwSplitted) => { + if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { + stack.push(kwSplitted); + } + }); + } + }); + return { + // sort because of https://git.io/v6USg + "keywords": stack.sort((a, b) => { + return b.length - a.length; + }), + "length": stack.length + }; + } + /** + * Check if a value is a number + * @param {number|string} value - the value to check; + * numeric strings allowed + * @return {boolean} + * @access protected + */ + isNumeric(value) { + return Number(parseFloat(value)) == value; + } + /** + * @typedef Mark~rangeObject + * @type {object} + * @property {number} start - The start position within the composite value + * @property {number} length - The length of the string to mark within the + * composite value. + */ + /** + * @typedef Mark~setOfRanges + * @type {object[]} + * @property {Mark~rangeObject} + */ + /** + * Returns a processed list of integer offset indexes that do not overlap + * each other, and remove any string values or additional elements + * @param {Mark~setOfRanges} array - unprocessed raw array + * @return {Mark~setOfRanges} - processed array with any invalid entries + * removed + * @throws Will throw an error if an array of objects is not passed + * @access protected + */ + checkRanges(array) { + if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { + this.log("markRanges() will only accept an array of objects"); + this.opt.noMatch(array); + return []; + } + const stack = []; + let last2 = 0; + array.sort((a, b) => { + return a.start - b.start; + }).forEach((item) => { + let { start, end, valid } = this.callNoMatchOnInvalidRanges(item, last2); + if (valid) { + item.start = start; + item.length = end - start; + stack.push(item); + last2 = end; + } + }); + return stack; + } + /** + * @typedef Mark~validObject + * @type {object} + * @property {number} start - The start position within the composite value + * @property {number} end - The calculated end position within the composite + * value. + * @property {boolean} valid - boolean value indicating that the start and + * calculated end range is valid + */ + /** + * Initial validation of ranges for markRanges. Preliminary checks are done + * to ensure the start and length values exist and are not zero or non- + * numeric + * @param {Mark~rangeObject} range - the current range object + * @param {number} last - last index of range + * @return {Mark~validObject} + * @access protected + */ + callNoMatchOnInvalidRanges(range, last2) { + let start, end, valid = false; + if (range && typeof range.start !== "undefined") { + start = parseInt(range.start, 10); + end = start + parseInt(range.length, 10); + if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last2 > 0 && end - start > 0) { + valid = true; + } else { + this.log( + `Ignoring invalid or overlapping range: ${JSON.stringify(range)}` + ); + this.opt.noMatch(range); + } + } else { + this.log(`Ignoring invalid range: ${JSON.stringify(range)}`); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + /** + * Check valid range for markRanges. Check ranges with access to the context + * string. Range values are double checked, lengths that extend the mark + * beyond the string length are limitied and ranges containing only + * whitespace are ignored + * @param {Mark~rangeObject} range - the current range object + * @param {number} originalLength - original length of the context string + * @param {string} string - current content string + * @return {Mark~validObject} + * @access protected + */ + checkWhitespaceRanges(range, originalLength, string) { + let end, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; + start = start > max ? max : start; + end = start + parseInt(range.length, 10); + if (end > max) { + end = max; + this.log(`End range automatically set to the max value of ${max}`); + } + if (start < 0 || end - start < 0 || start > max || end > max) { + valid = false; + this.log(`Invalid range: ${JSON.stringify(range)}`); + this.opt.noMatch(range); + } else if (string.substring(start, end).replace(/\s+/g, "") === "") { + valid = false; + this.log("Skipping whitespace only range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + /** + * @typedef Mark~getTextNodesDict + * @type {object.} + * @property {string} value - The composite value of all text nodes + * @property {object[]} nodes - An array of objects + * @property {number} nodes.start - The start position within the composite + * value + * @property {number} nodes.end - The end position within the composite + * value + * @property {HTMLElement} nodes.node - The DOM text node element + */ + /** + * Callback + * @callback Mark~getTextNodesCallback + * @param {Mark~getTextNodesDict} + */ + /** + * Calls the callback with an object containing all text nodes (including + * iframe text nodes) with start and end positions and the composite value + * of them (string) + * @param {Mark~getTextNodesCallback} cb - Callback + * @access protected + */ + getTextNodes(cb) { + let val = "", nodes = []; + this.iterator.forEachNode(NodeFilter.SHOW_TEXT, (node) => { + nodes.push({ + start: val.length, + end: (val += node.textContent).length, + node + }); + }, (node) => { + if (this.matchesExclude(node.parentNode)) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, () => { + cb({ + value: val, + nodes + }); + }); + } + /** + * Checks if an element matches any of the specified exclude selectors. Also + * it checks for elements in which no marks should be performed (e.g. + * script and style tags) and optionally already marked elements + * @param {HTMLElement} el - The element to check + * @return {boolean} + * @access protected + */ + matchesExclude(el) { + return DOMIterator.matches(el, this.opt.exclude.concat([ + // ignores the elements itself, not their childrens (selector *) + "script", + "style", + "title", + "head", + "html" + ])); + } + /** + * Wraps the instance element and class around matches that fit the start + * and end positions within the node + * @param {HTMLElement} node - The DOM text node + * @param {number} start - The position where to start wrapping + * @param {number} end - The position where to end wrapping + * @return {HTMLElement} Returns the splitted text node that will appear + * after the wrapped text node + * @access protected + */ + wrapRangeInTextNode(node, start, end) { + const hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); + let repl = document.createElement(hEl); + repl.setAttribute("data-markjs", "true"); + if (this.opt.className) { + repl.setAttribute("class", this.opt.className); + } + repl.textContent = startNode.textContent; + startNode.parentNode.replaceChild(repl, startNode); + return ret; + } + /** + * @typedef Mark~wrapRangeInMappedTextNodeDict + * @type {object.} + * @property {string} value - The composite value of all text nodes + * @property {object[]} nodes - An array of objects + * @property {number} nodes.start - The start position within the composite + * value + * @property {number} nodes.end - The end position within the composite + * value + * @property {HTMLElement} nodes.node - The DOM text node element + */ + /** + * Each callback + * @callback Mark~wrapMatchesEachCallback + * @param {HTMLElement} node - The wrapped DOM element + * @param {number} lastIndex - The last matching position within the + * composite value of text nodes + */ + /** + * Filter callback + * @callback Mark~wrapMatchesFilterCallback + * @param {HTMLElement} node - The matching text node DOM element + */ + /** + * Determines matches by start and end positions using the text node + * dictionary even across text nodes and calls + * {@link Mark#wrapRangeInTextNode} to wrap them + * @param {Mark~wrapRangeInMappedTextNodeDict} dict - The dictionary + * @param {number} start - The start position of the match + * @param {number} end - The end position of the match + * @param {Mark~wrapMatchesFilterCallback} filterCb - Filter callback + * @param {Mark~wrapMatchesEachCallback} eachCb - Each callback + * @access protected + */ + wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { + dict.nodes.every((n, i) => { + const sibl = dict.nodes[i + 1]; + if (typeof sibl === "undefined" || sibl.start > start) { + if (!filterCb(n.node)) { + return false; + } + const s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); + n.node = this.wrapRangeInTextNode(n.node, s, e); + dict.value = startStr + endStr; + dict.nodes.forEach((k, j) => { + if (j >= i) { + if (dict.nodes[j].start > 0 && j !== i) { + dict.nodes[j].start -= e; + } + dict.nodes[j].end -= e; + } + }); + end -= e; + eachCb(n.node.previousSibling, n.start); + if (end > n.end) { + start = n.end; + } else { + return false; + } + } + return true; + }); + } + /** + * Filter callback before each wrapping + * @callback Mark~wrapMatchesFilterCallback + * @param {string} match - The matching string + * @param {HTMLElement} node - The text node where the match occurs + */ + /** + * Callback for each wrapped element + * @callback Mark~wrapMatchesEachCallback + * @param {HTMLElement} element - The marked DOM element + */ + /** + * Callback on end + * @callback Mark~wrapMatchesEndCallback + */ + /** + * Wraps the instance element and class around matches within single HTML + * elements in all contexts + * @param {RegExp} regex - The regular expression to be searched for + * @param {number} ignoreGroups - A number indicating the amount of RegExp + * matching groups to ignore + * @param {Mark~wrapMatchesFilterCallback} filterCb + * @param {Mark~wrapMatchesEachCallback} eachCb + * @param {Mark~wrapMatchesEndCallback} endCb + * @access protected + */ + wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { + const matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes((dict) => { + dict.nodes.forEach((node) => { + node = node.node; + let match; + while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { + if (!filterCb(match[matchIdx], node)) { + continue; + } + let pos = match.index; + if (matchIdx !== 0) { + for (let i = 1; i < matchIdx; i++) { + pos += match[i].length; + } + } + node = this.wrapRangeInTextNode( + node, + pos, + pos + match[matchIdx].length + ); + eachCb(node.previousSibling); + regex.lastIndex = 0; + } + }); + endCb(); + }); + } + /** + * Callback for each wrapped element + * @callback Mark~wrapMatchesAcrossElementsEachCallback + * @param {HTMLElement} element - The marked DOM element + */ + /** + * Filter callback before each wrapping + * @callback Mark~wrapMatchesAcrossElementsFilterCallback + * @param {string} match - The matching string + * @param {HTMLElement} node - The text node where the match occurs + */ + /** + * Callback on end + * @callback Mark~wrapMatchesAcrossElementsEndCallback + */ + /** + * Wraps the instance element and class around matches across all HTML + * elements in all contexts + * @param {RegExp} regex - The regular expression to be searched for + * @param {number} ignoreGroups - A number indicating the amount of RegExp + * matching groups to ignore + * @param {Mark~wrapMatchesAcrossElementsFilterCallback} filterCb + * @param {Mark~wrapMatchesAcrossElementsEachCallback} eachCb + * @param {Mark~wrapMatchesAcrossElementsEndCallback} endCb + * @access protected + */ + wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { + const matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes((dict) => { + let match; + while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { + let start = match.index; + if (matchIdx !== 0) { + for (let i = 1; i < matchIdx; i++) { + start += match[i].length; + } + } + const end = start + match[matchIdx].length; + this.wrapRangeInMappedTextNode(dict, start, end, (node) => { + return filterCb(match[matchIdx], node); + }, (node, lastIndex) => { + regex.lastIndex = lastIndex; + eachCb(node); + }); + } + endCb(); + }); + } + /** + * Callback for each wrapped element + * @callback Mark~wrapRangeFromIndexEachCallback + * @param {HTMLElement} element - The marked DOM element + * @param {Mark~rangeObject} range - the current range object; provided + * start and length values will be numeric integers modified from the + * provided original ranges. + */ + /** + * Filter callback before each wrapping + * @callback Mark~wrapRangeFromIndexFilterCallback + * @param {HTMLElement} node - The text node which includes the range + * @param {Mark~rangeObject} range - the current range object + * @param {string} match - string extracted from the matching range + * @param {number} counter - A counter indicating the number of all marks + */ + /** + * Callback on end + * @callback Mark~wrapRangeFromIndexEndCallback + */ + /** + * Wraps the indicated ranges across all HTML elements in all contexts + * @param {Mark~setOfRanges} ranges + * @param {Mark~wrapRangeFromIndexFilterCallback} filterCb + * @param {Mark~wrapRangeFromIndexEachCallback} eachCb + * @param {Mark~wrapRangeFromIndexEndCallback} endCb + * @access protected + */ + wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { + this.getTextNodes((dict) => { + const originalLength = dict.value.length; + ranges.forEach((range, counter) => { + let { start, end, valid } = this.checkWhitespaceRanges( + range, + originalLength, + dict.value + ); + if (valid) { + this.wrapRangeInMappedTextNode(dict, start, end, (node) => { + return filterCb( + node, + range, + dict.value.substring(start, end), + counter + ); + }, (node) => { + eachCb(node, range); + }); + } + }); + endCb(); + }); + } + /** + * Unwraps the specified DOM node with its content (text nodes or HTML) + * without destroying possibly present events (using innerHTML) and + * normalizes the parent at the end (merge splitted text nodes) + * @param {HTMLElement} node - The DOM node to unwrap + * @access protected + */ + unwrapMatches(node) { + const parent = node.parentNode; + let docFrag = document.createDocumentFragment(); + while (node.firstChild) { + docFrag.appendChild(node.removeChild(node.firstChild)); + } + parent.replaceChild(docFrag, node); + if (!this.ie) { + parent.normalize(); + } else { + this.normalizeTextNode(parent); + } + } + /** + * Normalizes text nodes. It's a workaround for the native normalize method + * that has a bug in IE (see attached link). Should only be used in IE + * browsers as it's slower than the native method. + * @see {@link http://tinyurl.com/z5asa8c} + * @param {HTMLElement} node - The DOM node to normalize + * @access protected + */ + normalizeTextNode(node) { + if (!node) { + return; + } + if (node.nodeType === 3) { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node.nodeValue += node.nextSibling.nodeValue; + node.parentNode.removeChild(node.nextSibling); + } + } else { + this.normalizeTextNode(node.firstChild); + } + this.normalizeTextNode(node.nextSibling); + } + /** + * Callback when finished + * @callback Mark~commonDoneCallback + * @param {number} totalMatches - The number of marked elements + */ + /** + * @typedef Mark~commonOptions + * @type {object.} + * @property {string} [element="mark"] - HTML element tag name + * @property {string} [className] - An optional class name + * @property {string[]} [exclude] - An array with exclusion selectors. + * Elements matching those selectors will be ignored + * @property {boolean} [iframes=false] - Whether to search inside iframes + * @property {Mark~commonDoneCallback} [done] + * @property {boolean} [debug=false] - Wheter to log messages + * @property {object} [log=window.console] - Where to log messages (only if + * debug is true) + */ + /** + * Callback for each marked element + * @callback Mark~markRegExpEachCallback + * @param {HTMLElement} element - The marked DOM element + */ + /** + * Callback if there were no matches + * @callback Mark~markRegExpNoMatchCallback + * @param {RegExp} regexp - The regular expression + */ + /** + * Callback to filter matches + * @callback Mark~markRegExpFilterCallback + * @param {HTMLElement} textNode - The text node which includes the match + * @param {string} match - The matching string for the RegExp + * @param {number} counter - A counter indicating the number of all marks + */ + /** + * These options also include the common options from + * {@link Mark~commonOptions} + * @typedef Mark~markRegExpOptions + * @type {object.} + * @property {Mark~markRegExpEachCallback} [each] + * @property {Mark~markRegExpNoMatchCallback} [noMatch] + * @property {Mark~markRegExpFilterCallback} [filter] + */ + /** + * Marks a custom regular expression + * @param {RegExp} regexp - The regular expression + * @param {Mark~markRegExpOptions} [opt] - Optional options object + * @access public + */ + markRegExp(regexp, opt) { + this.opt = opt; + this.log(`Searching with expression "${regexp}"`); + let totalMatches = 0, fn = "wrapMatches"; + const eachCb = (element) => { + totalMatches++; + this.opt.each(element); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + this[fn](regexp, this.opt.ignoreGroups, (match, node) => { + return this.opt.filter(node, match, totalMatches); + }, eachCb, () => { + if (totalMatches === 0) { + this.opt.noMatch(regexp); + } + this.opt.done(totalMatches); + }); + } + /** + * Callback for each marked element + * @callback Mark~markEachCallback + * @param {HTMLElement} element - The marked DOM element + */ + /** + * Callback if there were no matches + * @callback Mark~markNoMatchCallback + * @param {RegExp} term - The search term that was not found + */ + /** + * Callback to filter matches + * @callback Mark~markFilterCallback + * @param {HTMLElement} textNode - The text node which includes the match + * @param {string} match - The matching term + * @param {number} totalCounter - A counter indicating the number of all + * marks + * @param {number} termCounter - A counter indicating the number of marks + * for the specific match + */ + /** + * @typedef Mark~markAccuracyObject + * @type {object.} + * @property {string} value - A accuracy string value + * @property {string[]} limiters - A custom array of limiters. For example + * ["-", ","] + */ + /** + * @typedef Mark~markAccuracySetting + * @type {string} + * @property {"partially"|"complementary"|"exactly"|Mark~markAccuracyObject} + * [accuracy="partially"] - Either one of the following string values: + *
    + *
  • partially: When searching for "lor" only "lor" inside + * "lorem" will be marked
  • + *
  • complementary: When searching for "lor" the whole word + * "lorem" will be marked
  • + *
  • exactly: When searching for "lor" only those exact words + * will be marked. In this example nothing inside "lorem". This value + * is equivalent to the previous option wordBoundary
  • + *
+ * Or an object containing two properties: + *
    + *
  • value: One of the above named string values
  • + *
  • limiters: A custom array of string limiters for accuracy + * "exactly" or "complementary"
  • + *
+ */ + /** + * @typedef Mark~markWildcardsSetting + * @type {string} + * @property {"disabled"|"enabled"|"withSpaces"} + * [wildcards="disabled"] - Set to any of the following string values: + *
    + *
  • disabled: Disable wildcard usage
  • + *
  • enabled: When searching for "lor?m", the "?" will match zero + * or one non-space character (e.g. "lorm", "loram", "lor3m", etc). When + * searching for "lor*m", the "*" will match zero or more non-space + * characters (e.g. "lorm", "loram", "lor123m", etc).
  • + *
  • withSpaces: When searching for "lor?m", the "?" will + * match zero or one space or non-space character (e.g. "lor m", "loram", + * etc). When searching for "lor*m", the "*" will match zero or more space + * or non-space characters (e.g. "lorm", "lore et dolor ipsum", "lor: m", + * etc).
  • + *
+ */ + /** + * @typedef Mark~markIgnorePunctuationSetting + * @type {string[]} + * @property {string} The strings in this setting will contain punctuation + * marks that will be ignored: + *
    + *
  • These punctuation marks can be between any characters, e.g. setting + * this option to ["'"] would match "Worlds", "World's" and + * "Wo'rlds"
  • + *
  • One or more apostrophes between the letters would still produce a + * match (e.g. "W'o''r'l'd's").
  • + *
  • A typical setting for this option could be as follows: + *
    ignorePunctuation: ":;.,-–—‒_(){}[]!'\"+=".split(""),
    This + * setting includes common punctuation as well as a minus, en-dash, + * em-dash and figure-dash + * ({@link https://en.wikipedia.org/wiki/Dash#Figure_dash ref}), as well + * as an underscore.
  • + *
+ */ + /** + * These options also include the common options from + * {@link Mark~commonOptions} + * @typedef Mark~markOptions + * @type {object.} + * @property {boolean} [separateWordSearch=true] - Whether to search for + * each word separated by a blank instead of the complete term + * @property {boolean} [diacritics=true] - If diacritic characters should be + * matched. ({@link https://en.wikipedia.org/wiki/Diacritic Diacritics}) + * @property {object} [synonyms] - An object with synonyms. The key will be + * a synonym for the value and the value for the key + * @property {Mark~markAccuracySetting} [accuracy] + * @property {Mark~markWildcardsSetting} [wildcards] + * @property {boolean} [acrossElements=false] - Whether to find matches + * across HTML elements. By default, only matches within single HTML + * elements will be found + * @property {boolean} [ignoreJoiners=false] - Whether to ignore word + * joiners inside of key words. These include soft-hyphens, zero-width + * space, zero-width non-joiners and zero-width joiners. + * @property {Mark~markIgnorePunctuationSetting} [ignorePunctuation] + * @property {Mark~markEachCallback} [each] + * @property {Mark~markNoMatchCallback} [noMatch] + * @property {Mark~markFilterCallback} [filter] + */ + /** + * Marks the specified search terms + * @param {string|string[]} [sv] - Search value, either a search string or + * an array containing multiple search strings + * @param {Mark~markOptions} [opt] - Optional options object + * @access public + */ + mark(sv, opt) { + this.opt = opt; + let totalMatches = 0, fn = "wrapMatches"; + const { + keywords: kwArr, + length: kwArrLen + } = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), sens = this.opt.caseSensitive ? "" : "i", handler = (kw) => { + let regex = new RegExp(this.createRegExp(kw), `gm${sens}`), matches2 = 0; + this.log(`Searching with expression "${regex}"`); + this[fn](regex, 1, (term, node) => { + return this.opt.filter(node, kw, totalMatches, matches2); + }, (element) => { + matches2++; + totalMatches++; + this.opt.each(element); + }, () => { + if (matches2 === 0) { + this.opt.noMatch(kw); + } + if (kwArr[kwArrLen - 1] === kw) { + this.opt.done(totalMatches); + } else { + handler(kwArr[kwArr.indexOf(kw) + 1]); + } + }); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + if (kwArrLen === 0) { + this.opt.done(totalMatches); + } else { + handler(kwArr[0]); + } + } + /** + * Callback for each marked element + * @callback Mark~markRangesEachCallback + * @param {HTMLElement} element - The marked DOM element + * @param {array} range - array of range start and end points + */ + /** + * Callback if a processed range is invalid, out-of-bounds, overlaps another + * range, or only matches whitespace + * @callback Mark~markRangesNoMatchCallback + * @param {Mark~rangeObject} range - a range object + */ + /** + * Callback to filter matches + * @callback Mark~markRangesFilterCallback + * @param {HTMLElement} node - The text node which includes the range + * @param {array} range - array of range start and end points + * @param {string} match - string extracted from the matching range + * @param {number} counter - A counter indicating the number of all marks + */ + /** + * These options also include the common options from + * {@link Mark~commonOptions} + * @typedef Mark~markRangesOptions + * @type {object.} + * @property {Mark~markRangesEachCallback} [each] + * @property {Mark~markRangesNoMatchCallback} [noMatch] + * @property {Mark~markRangesFilterCallback} [filter] + */ + /** + * Marks an array of objects containing a start with an end or length of the + * string to mark + * @param {Mark~setOfRanges} rawRanges - The original (preprocessed) + * array of objects + * @param {Mark~markRangesOptions} [opt] - Optional options object + * @access public + */ + markRanges(rawRanges, opt) { + this.opt = opt; + let totalMatches = 0, ranges = this.checkRanges(rawRanges); + if (ranges && ranges.length) { + this.log( + "Starting to mark with the following ranges: " + JSON.stringify(ranges) + ); + this.wrapRangeFromIndex( + ranges, + (node, range, match, counter) => { + return this.opt.filter(node, range, match, counter); + }, + (element, range) => { + totalMatches++; + this.opt.each(element, range); + }, + () => { + this.opt.done(totalMatches); + } + ); + } else { + this.opt.done(totalMatches); + } + } + /** + * Removes all marked elements inside the context with their HTML and + * normalizes the parent at the end + * @param {Mark~commonOptions} [opt] - Optional options object + * @access public + */ + unmark(opt) { + this.opt = opt; + let sel = this.opt.element ? this.opt.element : "*"; + sel += "[data-markjs]"; + if (this.opt.className) { + sel += `.${this.opt.className}`; + } + this.log(`Removal selector "${sel}"`); + this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, (node) => { + this.unwrapMatches(node); + }, (node) => { + const matchesSel = DOMIterator.matches(node, sel), matchesExclude = this.matchesExclude(node); + if (!matchesSel || matchesExclude) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, this.opt.done); + } +}; +function Mark2(ctx) { + const instance = new Mark$1(ctx); + this.mark = (sv, opt) => { + instance.mark(sv, opt); + return this; + }; + this.markRegExp = (sv, opt) => { + instance.markRegExp(sv, opt); + return this; + }; + this.markRanges = (sv, opt) => { + instance.markRanges(sv, opt); + return this; + }; + this.unmark = (opt) => { + instance.unmark(opt); + return this; + }; + return this; +} +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, [])).next()); + }); +} +typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}; +const ENTRIES = "ENTRIES"; +const KEYS = "KEYS"; +const VALUES = "VALUES"; +const LEAF = ""; +class TreeIterator { + constructor(set, type) { + const node = set._tree; + const keys = Array.from(node.keys()); + this.set = set; + this._type = type; + this._path = keys.length > 0 ? [{ node, keys }] : []; + } + next() { + const value = this.dive(); + this.backtrack(); + return value; + } + dive() { + if (this._path.length === 0) { + return { done: true, value: void 0 }; + } + const { node, keys } = last$1(this._path); + if (last$1(keys) === LEAF) { + return { done: false, value: this.result() }; + } + const child = node.get(last$1(keys)); + this._path.push({ node: child, keys: Array.from(child.keys()) }); + return this.dive(); + } + backtrack() { + if (this._path.length === 0) { + return; + } + const keys = last$1(this._path).keys; + keys.pop(); + if (keys.length > 0) { + return; + } + this._path.pop(); + this.backtrack(); + } + key() { + return this.set._prefix + this._path.map(({ keys }) => last$1(keys)).filter((key) => key !== LEAF).join(""); + } + value() { + return last$1(this._path).node.get(LEAF); + } + result() { + switch (this._type) { + case VALUES: + return this.value(); + case KEYS: + return this.key(); + default: + return [this.key(), this.value()]; + } + } + [Symbol.iterator]() { + return this; + } +} +const last$1 = (array) => { + return array[array.length - 1]; +}; +const fuzzySearch = (node, query, maxDistance) => { + const results = /* @__PURE__ */ new Map(); + if (query === void 0) + return results; + const n = query.length + 1; + const m = n + maxDistance; + const matrix = new Uint8Array(m * n).fill(maxDistance + 1); + for (let j = 0; j < n; ++j) + matrix[j] = j; + for (let i = 1; i < m; ++i) + matrix[i * n] = i; + recurse(node, query, maxDistance, results, matrix, 1, n, ""); + return results; +}; +const recurse = (node, query, maxDistance, results, matrix, m, n, prefix) => { + const offset = m * n; + key: for (const key of node.keys()) { + if (key === LEAF) { + const distance = matrix[offset - 1]; + if (distance <= maxDistance) { + results.set(prefix, [node.get(key), distance]); + } + } else { + let i = m; + for (let pos = 0; pos < key.length; ++pos, ++i) { + const char = key[pos]; + const thisRowOffset = n * i; + const prevRowOffset = thisRowOffset - n; + let minDistance = matrix[thisRowOffset]; + const jmin = Math.max(0, i - maxDistance - 1); + const jmax = Math.min(n - 1, i + maxDistance); + for (let j = jmin; j < jmax; ++j) { + const different = char !== query[j]; + const rpl = matrix[prevRowOffset + j] + +different; + const del = matrix[prevRowOffset + j + 1] + 1; + const ins = matrix[thisRowOffset + j] + 1; + const dist = matrix[thisRowOffset + j + 1] = Math.min(rpl, del, ins); + if (dist < minDistance) + minDistance = dist; + } + if (minDistance > maxDistance) { + continue key; + } + } + recurse(node.get(key), query, maxDistance, results, matrix, i, n, prefix + key); + } + } +}; +class SearchableMap { + /** + * The constructor is normally called without arguments, creating an empty + * map. In order to create a {@link SearchableMap} from an iterable or from an + * object, check {@link SearchableMap.from} and {@link + * SearchableMap.fromObject}. + * + * The constructor arguments are for internal use, when creating derived + * mutable views of a map at a prefix. + */ + constructor(tree = /* @__PURE__ */ new Map(), prefix = "") { + this._size = void 0; + this._tree = tree; + this._prefix = prefix; + } + /** + * Creates and returns a mutable view of this {@link SearchableMap}, + * containing only entries that share the given prefix. + * + * ### Usage: + * + * ```javascript + * let map = new SearchableMap() + * map.set("unicorn", 1) + * map.set("universe", 2) + * map.set("university", 3) + * map.set("unique", 4) + * map.set("hello", 5) + * + * let uni = map.atPrefix("uni") + * uni.get("unique") // => 4 + * uni.get("unicorn") // => 1 + * uni.get("hello") // => undefined + * + * let univer = map.atPrefix("univer") + * univer.get("unique") // => undefined + * univer.get("universe") // => 2 + * univer.get("university") // => 3 + * ``` + * + * @param prefix The prefix + * @return A {@link SearchableMap} representing a mutable view of the original + * Map at the given prefix + */ + atPrefix(prefix) { + if (!prefix.startsWith(this._prefix)) { + throw new Error("Mismatched prefix"); + } + const [node, path] = trackDown(this._tree, prefix.slice(this._prefix.length)); + if (node === void 0) { + const [parentNode, key] = last(path); + for (const k of parentNode.keys()) { + if (k !== LEAF && k.startsWith(key)) { + const node2 = /* @__PURE__ */ new Map(); + node2.set(k.slice(key.length), parentNode.get(k)); + return new SearchableMap(node2, prefix); + } + } + } + return new SearchableMap(node, prefix); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/clear + */ + clear() { + this._size = void 0; + this._tree.clear(); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/delete + * @param key Key to delete + */ + delete(key) { + this._size = void 0; + return remove(this._tree, key); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries + * @return An iterator iterating through `[key, value]` entries. + */ + entries() { + return new TreeIterator(this, ENTRIES); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach + * @param fn Iteration function + */ + forEach(fn) { + for (const [key, value] of this) { + fn(key, value, this); + } + } + /** + * Returns a Map of all the entries that have a key within the given edit + * distance from the search key. The keys of the returned Map are the matching + * keys, while the values are two-element arrays where the first element is + * the value associated to the key, and the second is the edit distance of the + * key to the search key. + * + * ### Usage: + * + * ```javascript + * let map = new SearchableMap() + * map.set('hello', 'world') + * map.set('hell', 'yeah') + * map.set('ciao', 'mondo') + * + * // Get all entries that match the key 'hallo' with a maximum edit distance of 2 + * map.fuzzyGet('hallo', 2) + * // => Map(2) { 'hello' => ['world', 1], 'hell' => ['yeah', 2] } + * + * // In the example, the "hello" key has value "world" and edit distance of 1 + * // (change "e" to "a"), the key "hell" has value "yeah" and edit distance of 2 + * // (change "e" to "a", delete "o") + * ``` + * + * @param key The search key + * @param maxEditDistance The maximum edit distance (Levenshtein) + * @return A Map of the matching keys to their value and edit distance + */ + fuzzyGet(key, maxEditDistance) { + return fuzzySearch(this._tree, key, maxEditDistance); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get + * @param key Key to get + * @return Value associated to the key, or `undefined` if the key is not + * found. + */ + get(key) { + const node = lookup(this._tree, key); + return node !== void 0 ? node.get(LEAF) : void 0; + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/has + * @param key Key + * @return True if the key is in the map, false otherwise + */ + has(key) { + const node = lookup(this._tree, key); + return node !== void 0 && node.has(LEAF); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/keys + * @return An `Iterable` iterating through keys + */ + keys() { + return new TreeIterator(this, KEYS); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/set + * @param key Key to set + * @param value Value to associate to the key + * @return The {@link SearchableMap} itself, to allow chaining + */ + set(key, value) { + if (typeof key !== "string") { + throw new Error("key must be a string"); + } + this._size = void 0; + const node = createPath(this._tree, key); + node.set(LEAF, value); + return this; + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/size + */ + get size() { + if (this._size) { + return this._size; + } + this._size = 0; + const iter = this.entries(); + while (!iter.next().done) + this._size += 1; + return this._size; + } + /** + * Updates the value at the given key using the provided function. The function + * is called with the current value at the key, and its return value is used as + * the new value to be set. + * + * ### Example: + * + * ```javascript + * // Increment the current value by one + * searchableMap.update('somekey', (currentValue) => currentValue == null ? 0 : currentValue + 1) + * ``` + * + * If the value at the given key is or will be an object, it might not require + * re-assignment. In that case it is better to use `fetch()`, because it is + * faster. + * + * @param key The key to update + * @param fn The function used to compute the new value from the current one + * @return The {@link SearchableMap} itself, to allow chaining + */ + update(key, fn) { + if (typeof key !== "string") { + throw new Error("key must be a string"); + } + this._size = void 0; + const node = createPath(this._tree, key); + node.set(LEAF, fn(node.get(LEAF))); + return this; + } + /** + * Fetches the value of the given key. If the value does not exist, calls the + * given function to create a new value, which is inserted at the given key + * and subsequently returned. + * + * ### Example: + * + * ```javascript + * const map = searchableMap.fetch('somekey', () => new Map()) + * map.set('foo', 'bar') + * ``` + * + * @param key The key to update + * @param defaultValue A function that creates a new value if the key does not exist + * @return The existing or new value at the given key + */ + fetch(key, initial) { + if (typeof key !== "string") { + throw new Error("key must be a string"); + } + this._size = void 0; + const node = createPath(this._tree, key); + let value = node.get(LEAF); + if (value === void 0) { + node.set(LEAF, value = initial()); + } + return value; + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/values + * @return An `Iterable` iterating through values. + */ + values() { + return new TreeIterator(this, VALUES); + } + /** + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/@@iterator + */ + [Symbol.iterator]() { + return this.entries(); + } + /** + * Creates a {@link SearchableMap} from an `Iterable` of entries + * + * @param entries Entries to be inserted in the {@link SearchableMap} + * @return A new {@link SearchableMap} with the given entries + */ + static from(entries) { + const tree = new SearchableMap(); + for (const [key, value] of entries) { + tree.set(key, value); + } + return tree; + } + /** + * Creates a {@link SearchableMap} from the iterable properties of a JavaScript object + * + * @param object Object of entries for the {@link SearchableMap} + * @return A new {@link SearchableMap} with the given entries + */ + static fromObject(object) { + return SearchableMap.from(Object.entries(object)); + } +} +const trackDown = (tree, key, path = []) => { + if (key.length === 0 || tree == null) { + return [tree, path]; + } + for (const k of tree.keys()) { + if (k !== LEAF && key.startsWith(k)) { + path.push([tree, k]); + return trackDown(tree.get(k), key.slice(k.length), path); + } + } + path.push([tree, key]); + return trackDown(void 0, "", path); +}; +const lookup = (tree, key) => { + if (key.length === 0 || tree == null) { + return tree; + } + for (const k of tree.keys()) { + if (k !== LEAF && key.startsWith(k)) { + return lookup(tree.get(k), key.slice(k.length)); + } + } +}; +const createPath = (node, key) => { + const keyLength = key.length; + outer: for (let pos = 0; node && pos < keyLength; ) { + for (const k of node.keys()) { + if (k !== LEAF && key[pos] === k[0]) { + const len = Math.min(keyLength - pos, k.length); + let offset = 1; + while (offset < len && key[pos + offset] === k[offset]) + ++offset; + const child2 = node.get(k); + if (offset === k.length) { + node = child2; + } else { + const intermediate = /* @__PURE__ */ new Map(); + intermediate.set(k.slice(offset), child2); + node.set(key.slice(pos, pos + offset), intermediate); + node.delete(k); + node = intermediate; + } + pos += offset; + continue outer; + } + } + const child = /* @__PURE__ */ new Map(); + node.set(key.slice(pos), child); + return child; + } + return node; +}; +const remove = (tree, key) => { + const [node, path] = trackDown(tree, key); + if (node === void 0) { + return; + } + node.delete(LEAF); + if (node.size === 0) { + cleanup(path); + } else if (node.size === 1) { + const [key2, value] = node.entries().next().value; + merge(path, key2, value); + } +}; +const cleanup = (path) => { + if (path.length === 0) { + return; + } + const [node, key] = last(path); + node.delete(key); + if (node.size === 0) { + cleanup(path.slice(0, -1)); + } else if (node.size === 1) { + const [key2, value] = node.entries().next().value; + if (key2 !== LEAF) { + merge(path.slice(0, -1), key2, value); + } + } +}; +const merge = (path, key, value) => { + if (path.length === 0) { + return; + } + const [node, nodeKey] = last(path); + node.set(nodeKey + key, value); + node.delete(nodeKey); +}; +const last = (array) => { + return array[array.length - 1]; +}; +const OR = "or"; +const AND = "and"; +const AND_NOT = "and_not"; +class MiniSearch { + /** + * @param options Configuration options + * + * ### Examples: + * + * ```javascript + * // Create a search engine that indexes the 'title' and 'text' fields of your + * // documents: + * const miniSearch = new MiniSearch({ fields: ['title', 'text'] }) + * ``` + * + * ### ID Field: + * + * ```javascript + * // Your documents are assumed to include a unique 'id' field, but if you want + * // to use a different field for document identification, you can set the + * // 'idField' option: + * const miniSearch = new MiniSearch({ idField: 'key', fields: ['title', 'text'] }) + * ``` + * + * ### Options and defaults: + * + * ```javascript + * // The full set of options (here with their default value) is: + * const miniSearch = new MiniSearch({ + * // idField: field that uniquely identifies a document + * idField: 'id', + * + * // extractField: function used to get the value of a field in a document. + * // By default, it assumes the document is a flat object with field names as + * // property keys and field values as string property values, but custom logic + * // can be implemented by setting this option to a custom extractor function. + * extractField: (document, fieldName) => document[fieldName], + * + * // tokenize: function used to split fields into individual terms. By + * // default, it is also used to tokenize search queries, unless a specific + * // `tokenize` search option is supplied. When tokenizing an indexed field, + * // the field name is passed as the second argument. + * tokenize: (string, _fieldName) => string.split(SPACE_OR_PUNCTUATION), + * + * // processTerm: function used to process each tokenized term before + * // indexing. It can be used for stemming and normalization. Return a falsy + * // value in order to discard a term. By default, it is also used to process + * // search queries, unless a specific `processTerm` option is supplied as a + * // search option. When processing a term from a indexed field, the field + * // name is passed as the second argument. + * processTerm: (term, _fieldName) => term.toLowerCase(), + * + * // searchOptions: default search options, see the `search` method for + * // details + * searchOptions: undefined, + * + * // fields: document fields to be indexed. Mandatory, but not set by default + * fields: undefined + * + * // storeFields: document fields to be stored and returned as part of the + * // search results. + * storeFields: [] + * }) + * ``` + */ + constructor(options) { + if ((options === null || options === void 0 ? void 0 : options.fields) == null) { + throw new Error('MiniSearch: option "fields" must be provided'); + } + const autoVacuum = options.autoVacuum == null || options.autoVacuum === true ? defaultAutoVacuumOptions : options.autoVacuum; + this._options = Object.assign(Object.assign(Object.assign({}, defaultOptions), options), { autoVacuum, searchOptions: Object.assign(Object.assign({}, defaultSearchOptions), options.searchOptions || {}), autoSuggestOptions: Object.assign(Object.assign({}, defaultAutoSuggestOptions), options.autoSuggestOptions || {}) }); + this._index = new SearchableMap(); + this._documentCount = 0; + this._documentIds = /* @__PURE__ */ new Map(); + this._idToShortId = /* @__PURE__ */ new Map(); + this._fieldIds = {}; + this._fieldLength = /* @__PURE__ */ new Map(); + this._avgFieldLength = []; + this._nextId = 0; + this._storedFields = /* @__PURE__ */ new Map(); + this._dirtCount = 0; + this._currentVacuum = null; + this._enqueuedVacuum = null; + this._enqueuedVacuumConditions = defaultVacuumConditions; + this.addFields(this._options.fields); + } + /** + * Adds a document to the index + * + * @param document The document to be indexed + */ + add(document2) { + const { extractField, tokenize, processTerm, fields, idField } = this._options; + const id = extractField(document2, idField); + if (id == null) { + throw new Error(`MiniSearch: document does not have ID field "${idField}"`); + } + if (this._idToShortId.has(id)) { + throw new Error(`MiniSearch: duplicate ID ${id}`); + } + const shortDocumentId = this.addDocumentId(id); + this.saveStoredFields(shortDocumentId, document2); + for (const field of fields) { + const fieldValue = extractField(document2, field); + if (fieldValue == null) + continue; + const tokens = tokenize(fieldValue.toString(), field); + const fieldId = this._fieldIds[field]; + const uniqueTerms = new Set(tokens).size; + this.addFieldLength(shortDocumentId, fieldId, this._documentCount - 1, uniqueTerms); + for (const term of tokens) { + const processedTerm = processTerm(term, field); + if (Array.isArray(processedTerm)) { + for (const t of processedTerm) { + this.addTerm(fieldId, shortDocumentId, t); + } + } else if (processedTerm) { + this.addTerm(fieldId, shortDocumentId, processedTerm); + } + } + } + } + /** + * Adds all the given documents to the index + * + * @param documents An array of documents to be indexed + */ + addAll(documents) { + for (const document2 of documents) + this.add(document2); + } + /** + * Adds all the given documents to the index asynchronously. + * + * Returns a promise that resolves (to `undefined`) when the indexing is done. + * This method is useful when index many documents, to avoid blocking the main + * thread. The indexing is performed asynchronously and in chunks. + * + * @param documents An array of documents to be indexed + * @param options Configuration options + * @return A promise resolving to `undefined` when the indexing is done + */ + addAllAsync(documents, options = {}) { + const { chunkSize = 10 } = options; + const acc = { chunk: [], promise: Promise.resolve() }; + const { chunk, promise } = documents.reduce(({ chunk: chunk2, promise: promise2 }, document2, i) => { + chunk2.push(document2); + if ((i + 1) % chunkSize === 0) { + return { + chunk: [], + promise: promise2.then(() => new Promise((resolve) => setTimeout(resolve, 0))).then(() => this.addAll(chunk2)) + }; + } else { + return { chunk: chunk2, promise: promise2 }; + } + }, acc); + return promise.then(() => this.addAll(chunk)); + } + /** + * Removes the given document from the index. + * + * The document to remove must NOT have changed between indexing and removal, + * otherwise the index will be corrupted. + * + * This method requires passing the full document to be removed (not just the + * ID), and immediately removes the document from the inverted index, allowing + * memory to be released. A convenient alternative is {@link + * MiniSearch#discard}, which needs only the document ID, and has the same + * visible effect, but delays cleaning up the index until the next vacuuming. + * + * @param document The document to be removed + */ + remove(document2) { + const { tokenize, processTerm, extractField, fields, idField } = this._options; + const id = extractField(document2, idField); + if (id == null) { + throw new Error(`MiniSearch: document does not have ID field "${idField}"`); + } + const shortId = this._idToShortId.get(id); + if (shortId == null) { + throw new Error(`MiniSearch: cannot remove document with ID ${id}: it is not in the index`); + } + for (const field of fields) { + const fieldValue = extractField(document2, field); + if (fieldValue == null) + continue; + const tokens = tokenize(fieldValue.toString(), field); + const fieldId = this._fieldIds[field]; + const uniqueTerms = new Set(tokens).size; + this.removeFieldLength(shortId, fieldId, this._documentCount, uniqueTerms); + for (const term of tokens) { + const processedTerm = processTerm(term, field); + if (Array.isArray(processedTerm)) { + for (const t of processedTerm) { + this.removeTerm(fieldId, shortId, t); + } + } else if (processedTerm) { + this.removeTerm(fieldId, shortId, processedTerm); + } + } + } + this._storedFields.delete(shortId); + this._documentIds.delete(shortId); + this._idToShortId.delete(id); + this._fieldLength.delete(shortId); + this._documentCount -= 1; + } + /** + * Removes all the given documents from the index. If called with no arguments, + * it removes _all_ documents from the index. + * + * @param documents The documents to be removed. If this argument is omitted, + * all documents are removed. Note that, for removing all documents, it is + * more efficient to call this method with no arguments than to pass all + * documents. + */ + removeAll(documents) { + if (documents) { + for (const document2 of documents) + this.remove(document2); + } else if (arguments.length > 0) { + throw new Error("Expected documents to be present. Omit the argument to remove all documents."); + } else { + this._index = new SearchableMap(); + this._documentCount = 0; + this._documentIds = /* @__PURE__ */ new Map(); + this._idToShortId = /* @__PURE__ */ new Map(); + this._fieldLength = /* @__PURE__ */ new Map(); + this._avgFieldLength = []; + this._storedFields = /* @__PURE__ */ new Map(); + this._nextId = 0; + } + } + /** + * Discards the document with the given ID, so it won't appear in search results + * + * It has the same visible effect of {@link MiniSearch.remove} (both cause the + * document to stop appearing in searches), but a different effect on the + * internal data structures: + * + * - {@link MiniSearch#remove} requires passing the full document to be + * removed as argument, and removes it from the inverted index immediately. + * + * - {@link MiniSearch#discard} instead only needs the document ID, and + * works by marking the current version of the document as discarded, so it + * is immediately ignored by searches. This is faster and more convenient + * than {@link MiniSearch#remove}, but the index is not immediately + * modified. To take care of that, vacuuming is performed after a certain + * number of documents are discarded, cleaning up the index and allowing + * memory to be released. + * + * After discarding a document, it is possible to re-add a new version, and + * only the new version will appear in searches. In other words, discarding + * and re-adding a document works exactly like removing and re-adding it. The + * {@link MiniSearch.replace} method can also be used to replace a document + * with a new version. + * + * #### Details about vacuuming + * + * Repetite calls to this method would leave obsolete document references in + * the index, invisible to searches. Two mechanisms take care of cleaning up: + * clean up during search, and vacuuming. + * + * - Upon search, whenever a discarded ID is found (and ignored for the + * results), references to the discarded document are removed from the + * inverted index entries for the search terms. This ensures that subsequent + * searches for the same terms do not need to skip these obsolete references + * again. + * + * - In addition, vacuuming is performed automatically by default (see the + * `autoVacuum` field in {@link Options}) after a certain number of + * documents are discarded. Vacuuming traverses all terms in the index, + * cleaning up all references to discarded documents. Vacuuming can also be + * triggered manually by calling {@link MiniSearch#vacuum}. + * + * @param id The ID of the document to be discarded + */ + discard(id) { + const shortId = this._idToShortId.get(id); + if (shortId == null) { + throw new Error(`MiniSearch: cannot discard document with ID ${id}: it is not in the index`); + } + this._idToShortId.delete(id); + this._documentIds.delete(shortId); + this._storedFields.delete(shortId); + (this._fieldLength.get(shortId) || []).forEach((fieldLength, fieldId) => { + this.removeFieldLength(shortId, fieldId, this._documentCount, fieldLength); + }); + this._fieldLength.delete(shortId); + this._documentCount -= 1; + this._dirtCount += 1; + this.maybeAutoVacuum(); + } + maybeAutoVacuum() { + if (this._options.autoVacuum === false) { + return; + } + const { minDirtFactor, minDirtCount, batchSize, batchWait } = this._options.autoVacuum; + this.conditionalVacuum({ batchSize, batchWait }, { minDirtCount, minDirtFactor }); + } + /** + * Discards the documents with the given IDs, so they won't appear in search + * results + * + * It is equivalent to calling {@link MiniSearch#discard} for all the given + * IDs, but with the optimization of triggering at most one automatic + * vacuuming at the end. + * + * Note: to remove all documents from the index, it is faster and more + * convenient to call {@link MiniSearch.removeAll} with no argument, instead + * of passing all IDs to this method. + */ + discardAll(ids) { + const autoVacuum = this._options.autoVacuum; + try { + this._options.autoVacuum = false; + for (const id of ids) { + this.discard(id); + } + } finally { + this._options.autoVacuum = autoVacuum; + } + this.maybeAutoVacuum(); + } + /** + * It replaces an existing document with the given updated version + * + * It works by discarding the current version and adding the updated one, so + * it is functionally equivalent to calling {@link MiniSearch#discard} + * followed by {@link MiniSearch#add}. The ID of the updated document should + * be the same as the original one. + * + * Since it uses {@link MiniSearch#discard} internally, this method relies on + * vacuuming to clean up obsolete document references from the index, allowing + * memory to be released (see {@link MiniSearch#discard}). + * + * @param updatedDocument The updated document to replace the old version + * with + */ + replace(updatedDocument) { + const { idField, extractField } = this._options; + const id = extractField(updatedDocument, idField); + this.discard(id); + this.add(updatedDocument); + } + /** + * Triggers a manual vacuuming, cleaning up references to discarded documents + * from the inverted index + * + * Vacuuming is only useful for applications that use the {@link + * MiniSearch#discard} or {@link MiniSearch#replace} methods. + * + * By default, vacuuming is performed automatically when needed (controlled by + * the `autoVacuum` field in {@link Options}), so there is usually no need to + * call this method, unless one wants to make sure to perform vacuuming at a + * specific moment. + * + * Vacuuming traverses all terms in the inverted index in batches, and cleans + * up references to discarded documents from the posting list, allowing memory + * to be released. + * + * The method takes an optional object as argument with the following keys: + * + * - `batchSize`: the size of each batch (1000 by default) + * + * - `batchWait`: the number of milliseconds to wait between batches (10 by + * default) + * + * On large indexes, vacuuming could have a non-negligible cost: batching + * avoids blocking the thread for long, diluting this cost so that it is not + * negatively affecting the application. Nonetheless, this method should only + * be called when necessary, and relying on automatic vacuuming is usually + * better. + * + * It returns a promise that resolves (to undefined) when the clean up is + * completed. If vacuuming is already ongoing at the time this method is + * called, a new one is enqueued immediately after the ongoing one, and a + * corresponding promise is returned. However, no more than one vacuuming is + * enqueued on top of the ongoing one, even if this method is called more + * times (enqueuing multiple ones would be useless). + * + * @param options Configuration options for the batch size and delay. See + * {@link VacuumOptions}. + */ + vacuum(options = {}) { + return this.conditionalVacuum(options); + } + conditionalVacuum(options, conditions) { + if (this._currentVacuum) { + this._enqueuedVacuumConditions = this._enqueuedVacuumConditions && conditions; + if (this._enqueuedVacuum != null) { + return this._enqueuedVacuum; + } + this._enqueuedVacuum = this._currentVacuum.then(() => { + const conditions2 = this._enqueuedVacuumConditions; + this._enqueuedVacuumConditions = defaultVacuumConditions; + return this.performVacuuming(options, conditions2); + }); + return this._enqueuedVacuum; + } + if (this.vacuumConditionsMet(conditions) === false) { + return Promise.resolve(); + } + this._currentVacuum = this.performVacuuming(options); + return this._currentVacuum; + } + performVacuuming(options, conditions) { + return __awaiter(this, void 0, void 0, function* () { + const initialDirtCount = this._dirtCount; + if (this.vacuumConditionsMet(conditions)) { + const batchSize = options.batchSize || defaultVacuumOptions.batchSize; + const batchWait = options.batchWait || defaultVacuumOptions.batchWait; + let i = 1; + for (const [term, fieldsData] of this._index) { + for (const [fieldId, fieldIndex] of fieldsData) { + for (const [shortId] of fieldIndex) { + if (this._documentIds.has(shortId)) { + continue; + } + if (fieldIndex.size <= 1) { + fieldsData.delete(fieldId); + } else { + fieldIndex.delete(shortId); + } + } + } + if (this._index.get(term).size === 0) { + this._index.delete(term); + } + if (i % batchSize === 0) { + yield new Promise((resolve) => setTimeout(resolve, batchWait)); + } + i += 1; + } + this._dirtCount -= initialDirtCount; + } + yield null; + this._currentVacuum = this._enqueuedVacuum; + this._enqueuedVacuum = null; + }); + } + vacuumConditionsMet(conditions) { + if (conditions == null) { + return true; + } + let { minDirtCount, minDirtFactor } = conditions; + minDirtCount = minDirtCount || defaultAutoVacuumOptions.minDirtCount; + minDirtFactor = minDirtFactor || defaultAutoVacuumOptions.minDirtFactor; + return this.dirtCount >= minDirtCount && this.dirtFactor >= minDirtFactor; + } + /** + * Is `true` if a vacuuming operation is ongoing, `false` otherwise + */ + get isVacuuming() { + return this._currentVacuum != null; + } + /** + * The number of documents discarded since the most recent vacuuming + */ + get dirtCount() { + return this._dirtCount; + } + /** + * A number between 0 and 1 giving an indication about the proportion of + * documents that are discarded, and can therefore be cleaned up by vacuuming. + * A value close to 0 means that the index is relatively clean, while a higher + * value means that the index is relatively dirty, and vacuuming could release + * memory. + */ + get dirtFactor() { + return this._dirtCount / (1 + this._documentCount + this._dirtCount); + } + /** + * Returns `true` if a document with the given ID is present in the index and + * available for search, `false` otherwise + * + * @param id The document ID + */ + has(id) { + return this._idToShortId.has(id); + } + /** + * Returns the stored fields (as configured in the `storeFields` constructor + * option) for the given document ID. Returns `undefined` if the document is + * not present in the index. + * + * @param id The document ID + */ + getStoredFields(id) { + const shortId = this._idToShortId.get(id); + if (shortId == null) { + return void 0; + } + return this._storedFields.get(shortId); + } + /** + * Search for documents matching the given search query. + * + * The result is a list of scored document IDs matching the query, sorted by + * descending score, and each including data about which terms were matched and + * in which fields. + * + * ### Basic usage: + * + * ```javascript + * // Search for "zen art motorcycle" with default options: terms have to match + * // exactly, and individual terms are joined with OR + * miniSearch.search('zen art motorcycle') + * // => [ { id: 2, score: 2.77258, match: { ... } }, { id: 4, score: 1.38629, match: { ... } } ] + * ``` + * + * ### Restrict search to specific fields: + * + * ```javascript + * // Search only in the 'title' field + * miniSearch.search('zen', { fields: ['title'] }) + * ``` + * + * ### Field boosting: + * + * ```javascript + * // Boost a field + * miniSearch.search('zen', { boost: { title: 2 } }) + * ``` + * + * ### Prefix search: + * + * ```javascript + * // Search for "moto" with prefix search (it will match documents + * // containing terms that start with "moto" or "neuro") + * miniSearch.search('moto neuro', { prefix: true }) + * ``` + * + * ### Fuzzy search: + * + * ```javascript + * // Search for "ismael" with fuzzy search (it will match documents containing + * // terms similar to "ismael", with a maximum edit distance of 0.2 term.length + * // (rounded to nearest integer) + * miniSearch.search('ismael', { fuzzy: 0.2 }) + * ``` + * + * ### Combining strategies: + * + * ```javascript + * // Mix of exact match, prefix search, and fuzzy search + * miniSearch.search('ismael mob', { + * prefix: true, + * fuzzy: 0.2 + * }) + * ``` + * + * ### Advanced prefix and fuzzy search: + * + * ```javascript + * // Perform fuzzy and prefix search depending on the search term. Here + * // performing prefix and fuzzy search only on terms longer than 3 characters + * miniSearch.search('ismael mob', { + * prefix: term => term.length > 3 + * fuzzy: term => term.length > 3 ? 0.2 : null + * }) + * ``` + * + * ### Combine with AND: + * + * ```javascript + * // Combine search terms with AND (to match only documents that contain both + * // "motorcycle" and "art") + * miniSearch.search('motorcycle art', { combineWith: 'AND' }) + * ``` + * + * ### Combine with AND_NOT: + * + * There is also an AND_NOT combinator, that finds documents that match the + * first term, but do not match any of the other terms. This combinator is + * rarely useful with simple queries, and is meant to be used with advanced + * query combinations (see later for more details). + * + * ### Filtering results: + * + * ```javascript + * // Filter only results in the 'fiction' category (assuming that 'category' + * // is a stored field) + * miniSearch.search('motorcycle art', { + * filter: (result) => result.category === 'fiction' + * }) + * ``` + * + * ### Wildcard query + * + * Searching for an empty string (assuming the default tokenizer) returns no + * results. Sometimes though, one needs to match all documents, like in a + * "wildcard" search. This is possible by passing the special value + * {@link MiniSearch.wildcard} as the query: + * + * ```javascript + * // Return search results for all documents + * miniSearch.search(MiniSearch.wildcard) + * ``` + * + * Note that search options such as `filter` and `boostDocument` are still + * applied, influencing which results are returned, and their order: + * + * ```javascript + * // Return search results for all documents in the 'fiction' category + * miniSearch.search(MiniSearch.wildcard, { + * filter: (result) => result.category === 'fiction' + * }) + * ``` + * + * ### Advanced combination of queries: + * + * It is possible to combine different subqueries with OR, AND, and AND_NOT, + * and even with different search options, by passing a query expression + * tree object as the first argument, instead of a string. + * + * ```javascript + * // Search for documents that contain "zen" and ("motorcycle" or "archery") + * miniSearch.search({ + * combineWith: 'AND', + * queries: [ + * 'zen', + * { + * combineWith: 'OR', + * queries: ['motorcycle', 'archery'] + * } + * ] + * }) + * + * // Search for documents that contain ("apple" or "pear") but not "juice" and + * // not "tree" + * miniSearch.search({ + * combineWith: 'AND_NOT', + * queries: [ + * { + * combineWith: 'OR', + * queries: ['apple', 'pear'] + * }, + * 'juice', + * 'tree' + * ] + * }) + * ``` + * + * Each node in the expression tree can be either a string, or an object that + * supports all {@link SearchOptions} fields, plus a `queries` array field for + * subqueries. + * + * Note that, while this can become complicated to do by hand for complex or + * deeply nested queries, it provides a formalized expression tree API for + * external libraries that implement a parser for custom query languages. + * + * @param query Search query + * @param options Search options. Each option, if not given, defaults to the corresponding value of `searchOptions` given to the constructor, or to the library default. + */ + search(query, searchOptions = {}) { + const rawResults = this.executeQuery(query, searchOptions); + const results = []; + for (const [docId, { score, terms, match }] of rawResults) { + const quality = terms.length || 1; + const result = { + id: this._documentIds.get(docId), + score: score * quality, + terms: Object.keys(match), + queryTerms: terms, + match + }; + Object.assign(result, this._storedFields.get(docId)); + if (searchOptions.filter == null || searchOptions.filter(result)) { + results.push(result); + } + } + if (query === MiniSearch.wildcard && searchOptions.boostDocument == null && this._options.searchOptions.boostDocument == null) { + return results; + } + results.sort(byScore); + return results; + } + /** + * Provide suggestions for the given search query + * + * The result is a list of suggested modified search queries, derived from the + * given search query, each with a relevance score, sorted by descending score. + * + * By default, it uses the same options used for search, except that by + * default it performs prefix search on the last term of the query, and + * combine terms with `'AND'` (requiring all query terms to match). Custom + * options can be passed as a second argument. Defaults can be changed upon + * calling the {@link MiniSearch} constructor, by passing a + * `autoSuggestOptions` option. + * + * ### Basic usage: + * + * ```javascript + * // Get suggestions for 'neuro': + * miniSearch.autoSuggest('neuro') + * // => [ { suggestion: 'neuromancer', terms: [ 'neuromancer' ], score: 0.46240 } ] + * ``` + * + * ### Multiple words: + * + * ```javascript + * // Get suggestions for 'zen ar': + * miniSearch.autoSuggest('zen ar') + * // => [ + * // { suggestion: 'zen archery art', terms: [ 'zen', 'archery', 'art' ], score: 1.73332 }, + * // { suggestion: 'zen art', terms: [ 'zen', 'art' ], score: 1.21313 } + * // ] + * ``` + * + * ### Fuzzy suggestions: + * + * ```javascript + * // Correct spelling mistakes using fuzzy search: + * miniSearch.autoSuggest('neromancer', { fuzzy: 0.2 }) + * // => [ { suggestion: 'neuromancer', terms: [ 'neuromancer' ], score: 1.03998 } ] + * ``` + * + * ### Filtering: + * + * ```javascript + * // Get suggestions for 'zen ar', but only within the 'fiction' category + * // (assuming that 'category' is a stored field): + * miniSearch.autoSuggest('zen ar', { + * filter: (result) => result.category === 'fiction' + * }) + * // => [ + * // { suggestion: 'zen archery art', terms: [ 'zen', 'archery', 'art' ], score: 1.73332 }, + * // { suggestion: 'zen art', terms: [ 'zen', 'art' ], score: 1.21313 } + * // ] + * ``` + * + * @param queryString Query string to be expanded into suggestions + * @param options Search options. The supported options and default values + * are the same as for the {@link MiniSearch#search} method, except that by + * default prefix search is performed on the last term in the query, and terms + * are combined with `'AND'`. + * @return A sorted array of suggestions sorted by relevance score. + */ + autoSuggest(queryString, options = {}) { + options = Object.assign(Object.assign({}, this._options.autoSuggestOptions), options); + const suggestions = /* @__PURE__ */ new Map(); + for (const { score, terms } of this.search(queryString, options)) { + const phrase = terms.join(" "); + const suggestion = suggestions.get(phrase); + if (suggestion != null) { + suggestion.score += score; + suggestion.count += 1; + } else { + suggestions.set(phrase, { score, terms, count: 1 }); + } + } + const results = []; + for (const [suggestion, { score, terms, count }] of suggestions) { + results.push({ suggestion, terms, score: score / count }); + } + results.sort(byScore); + return results; + } + /** + * Total number of documents available to search + */ + get documentCount() { + return this._documentCount; + } + /** + * Number of terms in the index + */ + get termCount() { + return this._index.size; + } + /** + * Deserializes a JSON index (serialized with `JSON.stringify(miniSearch)`) + * and instantiates a MiniSearch instance. It should be given the same options + * originally used when serializing the index. + * + * ### Usage: + * + * ```javascript + * // If the index was serialized with: + * let miniSearch = new MiniSearch({ fields: ['title', 'text'] }) + * miniSearch.addAll(documents) + * + * const json = JSON.stringify(miniSearch) + * // It can later be deserialized like this: + * miniSearch = MiniSearch.loadJSON(json, { fields: ['title', 'text'] }) + * ``` + * + * @param json JSON-serialized index + * @param options configuration options, same as the constructor + * @return An instance of MiniSearch deserialized from the given JSON. + */ + static loadJSON(json, options) { + if (options == null) { + throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index"); + } + return this.loadJS(JSON.parse(json), options); + } + /** + * Async equivalent of {@link MiniSearch.loadJSON} + * + * This function is an alternative to {@link MiniSearch.loadJSON} that returns + * a promise, and loads the index in batches, leaving pauses between them to avoid + * blocking the main thread. It tends to be slower than the synchronous + * version, but does not block the main thread, so it can be a better choice + * when deserializing very large indexes. + * + * @param json JSON-serialized index + * @param options configuration options, same as the constructor + * @return A Promise that will resolve to an instance of MiniSearch deserialized from the given JSON. + */ + static loadJSONAsync(json, options) { + return __awaiter(this, void 0, void 0, function* () { + if (options == null) { + throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index"); + } + return this.loadJSAsync(JSON.parse(json), options); + }); + } + /** + * Returns the default value of an option. It will throw an error if no option + * with the given name exists. + * + * @param optionName Name of the option + * @return The default value of the given option + * + * ### Usage: + * + * ```javascript + * // Get default tokenizer + * MiniSearch.getDefault('tokenize') + * + * // Get default term processor + * MiniSearch.getDefault('processTerm') + * + * // Unknown options will throw an error + * MiniSearch.getDefault('notExisting') + * // => throws 'MiniSearch: unknown option "notExisting"' + * ``` + */ + static getDefault(optionName) { + if (defaultOptions.hasOwnProperty(optionName)) { + return getOwnProperty(defaultOptions, optionName); + } else { + throw new Error(`MiniSearch: unknown option "${optionName}"`); + } + } + /** + * @ignore + */ + static loadJS(js, options) { + const { index, documentIds, fieldLength, storedFields, serializationVersion } = js; + const miniSearch = this.instantiateMiniSearch(js, options); + miniSearch._documentIds = objectToNumericMap(documentIds); + miniSearch._fieldLength = objectToNumericMap(fieldLength); + miniSearch._storedFields = objectToNumericMap(storedFields); + for (const [shortId, id] of miniSearch._documentIds) { + miniSearch._idToShortId.set(id, shortId); + } + for (const [term, data] of index) { + const dataMap = /* @__PURE__ */ new Map(); + for (const fieldId of Object.keys(data)) { + let indexEntry = data[fieldId]; + if (serializationVersion === 1) { + indexEntry = indexEntry.ds; + } + dataMap.set(parseInt(fieldId, 10), objectToNumericMap(indexEntry)); + } + miniSearch._index.set(term, dataMap); + } + return miniSearch; + } + /** + * @ignore + */ + static loadJSAsync(js, options) { + return __awaiter(this, void 0, void 0, function* () { + const { index, documentIds, fieldLength, storedFields, serializationVersion } = js; + const miniSearch = this.instantiateMiniSearch(js, options); + miniSearch._documentIds = yield objectToNumericMapAsync(documentIds); + miniSearch._fieldLength = yield objectToNumericMapAsync(fieldLength); + miniSearch._storedFields = yield objectToNumericMapAsync(storedFields); + for (const [shortId, id] of miniSearch._documentIds) { + miniSearch._idToShortId.set(id, shortId); + } + let count = 0; + for (const [term, data] of index) { + const dataMap = /* @__PURE__ */ new Map(); + for (const fieldId of Object.keys(data)) { + let indexEntry = data[fieldId]; + if (serializationVersion === 1) { + indexEntry = indexEntry.ds; + } + dataMap.set(parseInt(fieldId, 10), yield objectToNumericMapAsync(indexEntry)); + } + if (++count % 1e3 === 0) + yield wait(0); + miniSearch._index.set(term, dataMap); + } + return miniSearch; + }); + } + /** + * @ignore + */ + static instantiateMiniSearch(js, options) { + const { documentCount, nextId, fieldIds, averageFieldLength, dirtCount, serializationVersion } = js; + if (serializationVersion !== 1 && serializationVersion !== 2) { + throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version"); + } + const miniSearch = new MiniSearch(options); + miniSearch._documentCount = documentCount; + miniSearch._nextId = nextId; + miniSearch._idToShortId = /* @__PURE__ */ new Map(); + miniSearch._fieldIds = fieldIds; + miniSearch._avgFieldLength = averageFieldLength; + miniSearch._dirtCount = dirtCount || 0; + miniSearch._index = new SearchableMap(); + return miniSearch; + } + /** + * @ignore + */ + executeQuery(query, searchOptions = {}) { + if (query === MiniSearch.wildcard) { + return this.executeWildcardQuery(searchOptions); + } + if (typeof query !== "string") { + const options2 = Object.assign(Object.assign(Object.assign({}, searchOptions), query), { queries: void 0 }); + const results2 = query.queries.map((subquery) => this.executeQuery(subquery, options2)); + return this.combineResults(results2, options2.combineWith); + } + const { tokenize, processTerm, searchOptions: globalSearchOptions } = this._options; + const options = Object.assign(Object.assign({ tokenize, processTerm }, globalSearchOptions), searchOptions); + const { tokenize: searchTokenize, processTerm: searchProcessTerm } = options; + const terms = searchTokenize(query).flatMap((term) => searchProcessTerm(term)).filter((term) => !!term); + const queries = terms.map(termToQuerySpec(options)); + const results = queries.map((query2) => this.executeQuerySpec(query2, options)); + return this.combineResults(results, options.combineWith); + } + /** + * @ignore + */ + executeQuerySpec(query, searchOptions) { + const options = Object.assign(Object.assign({}, this._options.searchOptions), searchOptions); + const boosts = (options.fields || this._options.fields).reduce((boosts2, field) => Object.assign(Object.assign({}, boosts2), { [field]: getOwnProperty(options.boost, field) || 1 }), {}); + const { boostDocument, weights, maxFuzzy, bm25: bm25params } = options; + const { fuzzy: fuzzyWeight, prefix: prefixWeight } = Object.assign(Object.assign({}, defaultSearchOptions.weights), weights); + const data = this._index.get(query.term); + const results = this.termResults(query.term, query.term, 1, query.termBoost, data, boosts, boostDocument, bm25params); + let prefixMatches; + let fuzzyMatches; + if (query.prefix) { + prefixMatches = this._index.atPrefix(query.term); + } + if (query.fuzzy) { + const fuzzy = query.fuzzy === true ? 0.2 : query.fuzzy; + const maxDistance = fuzzy < 1 ? Math.min(maxFuzzy, Math.round(query.term.length * fuzzy)) : fuzzy; + if (maxDistance) + fuzzyMatches = this._index.fuzzyGet(query.term, maxDistance); + } + if (prefixMatches) { + for (const [term, data2] of prefixMatches) { + const distance = term.length - query.term.length; + if (!distance) { + continue; + } + fuzzyMatches === null || fuzzyMatches === void 0 ? void 0 : fuzzyMatches.delete(term); + const weight = prefixWeight * term.length / (term.length + 0.3 * distance); + this.termResults(query.term, term, weight, query.termBoost, data2, boosts, boostDocument, bm25params, results); + } + } + if (fuzzyMatches) { + for (const term of fuzzyMatches.keys()) { + const [data2, distance] = fuzzyMatches.get(term); + if (!distance) { + continue; + } + const weight = fuzzyWeight * term.length / (term.length + distance); + this.termResults(query.term, term, weight, query.termBoost, data2, boosts, boostDocument, bm25params, results); + } + } + return results; + } + /** + * @ignore + */ + executeWildcardQuery(searchOptions) { + const results = /* @__PURE__ */ new Map(); + const options = Object.assign(Object.assign({}, this._options.searchOptions), searchOptions); + for (const [shortId, id] of this._documentIds) { + const score = options.boostDocument ? options.boostDocument(id, "", this._storedFields.get(shortId)) : 1; + results.set(shortId, { + score, + terms: [], + match: {} + }); + } + return results; + } + /** + * @ignore + */ + combineResults(results, combineWith = OR) { + if (results.length === 0) { + return /* @__PURE__ */ new Map(); + } + const operator = combineWith.toLowerCase(); + const combinator = combinators[operator]; + if (!combinator) { + throw new Error(`Invalid combination operator: ${combineWith}`); + } + return results.reduce(combinator) || /* @__PURE__ */ new Map(); + } + /** + * Allows serialization of the index to JSON, to possibly store it and later + * deserialize it with {@link MiniSearch.loadJSON}. + * + * Normally one does not directly call this method, but rather call the + * standard JavaScript `JSON.stringify()` passing the {@link MiniSearch} + * instance, and JavaScript will internally call this method. Upon + * deserialization, one must pass to {@link MiniSearch.loadJSON} the same + * options used to create the original instance that was serialized. + * + * ### Usage: + * + * ```javascript + * // Serialize the index: + * let miniSearch = new MiniSearch({ fields: ['title', 'text'] }) + * miniSearch.addAll(documents) + * const json = JSON.stringify(miniSearch) + * + * // Later, to deserialize it: + * miniSearch = MiniSearch.loadJSON(json, { fields: ['title', 'text'] }) + * ``` + * + * @return A plain-object serializable representation of the search index. + */ + toJSON() { + const index = []; + for (const [term, fieldIndex] of this._index) { + const data = {}; + for (const [fieldId, freqs] of fieldIndex) { + data[fieldId] = Object.fromEntries(freqs); + } + index.push([term, data]); + } + return { + documentCount: this._documentCount, + nextId: this._nextId, + documentIds: Object.fromEntries(this._documentIds), + fieldIds: this._fieldIds, + fieldLength: Object.fromEntries(this._fieldLength), + averageFieldLength: this._avgFieldLength, + storedFields: Object.fromEntries(this._storedFields), + dirtCount: this._dirtCount, + index, + serializationVersion: 2 + }; + } + /** + * @ignore + */ + termResults(sourceTerm, derivedTerm, termWeight, termBoost, fieldTermData, fieldBoosts, boostDocumentFn, bm25params, results = /* @__PURE__ */ new Map()) { + if (fieldTermData == null) + return results; + for (const field of Object.keys(fieldBoosts)) { + const fieldBoost = fieldBoosts[field]; + const fieldId = this._fieldIds[field]; + const fieldTermFreqs = fieldTermData.get(fieldId); + if (fieldTermFreqs == null) + continue; + let matchingFields = fieldTermFreqs.size; + const avgFieldLength = this._avgFieldLength[fieldId]; + for (const docId of fieldTermFreqs.keys()) { + if (!this._documentIds.has(docId)) { + this.removeTerm(fieldId, docId, derivedTerm); + matchingFields -= 1; + continue; + } + const docBoost = boostDocumentFn ? boostDocumentFn(this._documentIds.get(docId), derivedTerm, this._storedFields.get(docId)) : 1; + if (!docBoost) + continue; + const termFreq = fieldTermFreqs.get(docId); + const fieldLength = this._fieldLength.get(docId)[fieldId]; + const rawScore = calcBM25Score(termFreq, matchingFields, this._documentCount, fieldLength, avgFieldLength, bm25params); + const weightedScore = termWeight * termBoost * fieldBoost * docBoost * rawScore; + const result = results.get(docId); + if (result) { + result.score += weightedScore; + assignUniqueTerm(result.terms, sourceTerm); + const match = getOwnProperty(result.match, derivedTerm); + if (match) { + match.push(field); + } else { + result.match[derivedTerm] = [field]; + } + } else { + results.set(docId, { + score: weightedScore, + terms: [sourceTerm], + match: { [derivedTerm]: [field] } + }); + } + } + } + return results; + } + /** + * @ignore + */ + addTerm(fieldId, documentId, term) { + const indexData = this._index.fetch(term, createMap); + let fieldIndex = indexData.get(fieldId); + if (fieldIndex == null) { + fieldIndex = /* @__PURE__ */ new Map(); + fieldIndex.set(documentId, 1); + indexData.set(fieldId, fieldIndex); + } else { + const docs = fieldIndex.get(documentId); + fieldIndex.set(documentId, (docs || 0) + 1); + } + } + /** + * @ignore + */ + removeTerm(fieldId, documentId, term) { + if (!this._index.has(term)) { + this.warnDocumentChanged(documentId, fieldId, term); + return; + } + const indexData = this._index.fetch(term, createMap); + const fieldIndex = indexData.get(fieldId); + if (fieldIndex == null || fieldIndex.get(documentId) == null) { + this.warnDocumentChanged(documentId, fieldId, term); + } else if (fieldIndex.get(documentId) <= 1) { + if (fieldIndex.size <= 1) { + indexData.delete(fieldId); + } else { + fieldIndex.delete(documentId); + } + } else { + fieldIndex.set(documentId, fieldIndex.get(documentId) - 1); + } + if (this._index.get(term).size === 0) { + this._index.delete(term); + } + } + /** + * @ignore + */ + warnDocumentChanged(shortDocumentId, fieldId, term) { + for (const fieldName of Object.keys(this._fieldIds)) { + if (this._fieldIds[fieldName] === fieldId) { + this._options.logger("warn", `MiniSearch: document with ID ${this._documentIds.get(shortDocumentId)} has changed before removal: term "${term}" was not present in field "${fieldName}". Removing a document after it has changed can corrupt the index!`, "version_conflict"); + return; + } + } + } + /** + * @ignore + */ + addDocumentId(documentId) { + const shortDocumentId = this._nextId; + this._idToShortId.set(documentId, shortDocumentId); + this._documentIds.set(shortDocumentId, documentId); + this._documentCount += 1; + this._nextId += 1; + return shortDocumentId; + } + /** + * @ignore + */ + addFields(fields) { + for (let i = 0; i < fields.length; i++) { + this._fieldIds[fields[i]] = i; + } + } + /** + * @ignore + */ + addFieldLength(documentId, fieldId, count, length) { + let fieldLengths = this._fieldLength.get(documentId); + if (fieldLengths == null) + this._fieldLength.set(documentId, fieldLengths = []); + fieldLengths[fieldId] = length; + const averageFieldLength = this._avgFieldLength[fieldId] || 0; + const totalFieldLength = averageFieldLength * count + length; + this._avgFieldLength[fieldId] = totalFieldLength / (count + 1); + } + /** + * @ignore + */ + removeFieldLength(documentId, fieldId, count, length) { + if (count === 1) { + this._avgFieldLength[fieldId] = 0; + return; + } + const totalFieldLength = this._avgFieldLength[fieldId] * count - length; + this._avgFieldLength[fieldId] = totalFieldLength / (count - 1); + } + /** + * @ignore + */ + saveStoredFields(documentId, doc) { + const { storeFields, extractField } = this._options; + if (storeFields == null || storeFields.length === 0) { + return; + } + let documentFields = this._storedFields.get(documentId); + if (documentFields == null) + this._storedFields.set(documentId, documentFields = {}); + for (const fieldName of storeFields) { + const fieldValue = extractField(doc, fieldName); + if (fieldValue !== void 0) + documentFields[fieldName] = fieldValue; + } + } +} +MiniSearch.wildcard = Symbol("*"); +const getOwnProperty = (object, property) => Object.prototype.hasOwnProperty.call(object, property) ? object[property] : void 0; +const combinators = { + [OR]: (a, b) => { + for (const docId of b.keys()) { + const existing = a.get(docId); + if (existing == null) { + a.set(docId, b.get(docId)); + } else { + const { score, terms, match } = b.get(docId); + existing.score = existing.score + score; + existing.match = Object.assign(existing.match, match); + assignUniqueTerms(existing.terms, terms); + } + } + return a; + }, + [AND]: (a, b) => { + const combined = /* @__PURE__ */ new Map(); + for (const docId of b.keys()) { + const existing = a.get(docId); + if (existing == null) + continue; + const { score, terms, match } = b.get(docId); + assignUniqueTerms(existing.terms, terms); + combined.set(docId, { + score: existing.score + score, + terms: existing.terms, + match: Object.assign(existing.match, match) + }); + } + return combined; + }, + [AND_NOT]: (a, b) => { + for (const docId of b.keys()) + a.delete(docId); + return a; + } +}; +const defaultBM25params = { k: 1.2, b: 0.7, d: 0.5 }; +const calcBM25Score = (termFreq, matchingCount, totalCount, fieldLength, avgFieldLength, bm25params) => { + const { k, b, d } = bm25params; + const invDocFreq = Math.log(1 + (totalCount - matchingCount + 0.5) / (matchingCount + 0.5)); + return invDocFreq * (d + termFreq * (k + 1) / (termFreq + k * (1 - b + b * fieldLength / avgFieldLength))); +}; +const termToQuerySpec = (options) => (term, i, terms) => { + const fuzzy = typeof options.fuzzy === "function" ? options.fuzzy(term, i, terms) : options.fuzzy || false; + const prefix = typeof options.prefix === "function" ? options.prefix(term, i, terms) : options.prefix === true; + const termBoost = typeof options.boostTerm === "function" ? options.boostTerm(term, i, terms) : 1; + return { term, fuzzy, prefix, termBoost }; +}; +const defaultOptions = { + idField: "id", + extractField: (document2, fieldName) => document2[fieldName], + tokenize: (text) => text.split(SPACE_OR_PUNCTUATION), + processTerm: (term) => term.toLowerCase(), + fields: void 0, + searchOptions: void 0, + storeFields: [], + logger: (level, message) => { + if (typeof (console === null || console === void 0 ? void 0 : console[level]) === "function") + console[level](message); + }, + autoVacuum: true +}; +const defaultSearchOptions = { + combineWith: OR, + prefix: false, + fuzzy: false, + maxFuzzy: 6, + boost: {}, + weights: { fuzzy: 0.45, prefix: 0.375 }, + bm25: defaultBM25params +}; +const defaultAutoSuggestOptions = { + combineWith: AND, + prefix: (term, i, terms) => i === terms.length - 1 +}; +const defaultVacuumOptions = { batchSize: 1e3, batchWait: 10 }; +const defaultVacuumConditions = { minDirtFactor: 0.1, minDirtCount: 20 }; +const defaultAutoVacuumOptions = Object.assign(Object.assign({}, defaultVacuumOptions), defaultVacuumConditions); +const assignUniqueTerm = (target, term) => { + if (!target.includes(term)) + target.push(term); +}; +const assignUniqueTerms = (target, source) => { + for (const term of source) { + if (!target.includes(term)) + target.push(term); + } +}; +const byScore = ({ score: a }, { score: b }) => b - a; +const createMap = () => /* @__PURE__ */ new Map(); +const objectToNumericMap = (object) => { + const map = /* @__PURE__ */ new Map(); + for (const key of Object.keys(object)) { + map.set(parseInt(key, 10), object[key]); + } + return map; +}; +const objectToNumericMapAsync = (object) => __awaiter(void 0, void 0, void 0, function* () { + const map = /* @__PURE__ */ new Map(); + let count = 0; + for (const key of Object.keys(object)) { + map.set(parseInt(key, 10), object[key]); + if (++count % 1e3 === 0) { + yield wait(0); + } + } + return map; +}); +const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +const SPACE_OR_PUNCTUATION = /[\n\r\p{Z}\p{P}]+/u; +class LRUCache { + constructor(max = 10) { + __publicField(this, "max"); + __publicField(this, "cache"); + this.max = max; + this.cache = /* @__PURE__ */ new Map(); + } + get(key) { + let item = this.cache.get(key); + if (item !== void 0) { + this.cache.delete(key); + this.cache.set(key, item); + } + return item; + } + set(key, val) { + if (this.cache.has(key)) + this.cache.delete(key); + else if (this.cache.size === this.max) + this.cache.delete(this.first()); + this.cache.set(key, val); + } + first() { + return this.cache.keys().next().value; + } + clear() { + this.cache.clear(); + } +} +const _hoisted_1 = ["aria-owns"]; +const _hoisted_2 = { class: "shell" }; +const _hoisted_3 = ["title"]; +const _hoisted_4 = { class: "search-actions before" }; +const _hoisted_5 = ["title"]; +const _hoisted_6 = ["placeholder"]; +const _hoisted_7 = { class: "search-actions" }; +const _hoisted_8 = ["title"]; +const _hoisted_9 = ["disabled", "title"]; +const _hoisted_10 = ["id", "role", "aria-labelledby"]; +const _hoisted_11 = ["aria-selected"]; +const _hoisted_12 = ["href", "aria-label", "onMouseenter", "onFocusin"]; +const _hoisted_13 = { class: "titles" }; +const _hoisted_14 = ["innerHTML"]; +const _hoisted_15 = { class: "title main" }; +const _hoisted_16 = ["innerHTML"]; +const _hoisted_17 = { + key: 0, + class: "excerpt-wrapper" +}; +const _hoisted_18 = { + key: 0, + class: "excerpt", + inert: "" +}; +const _hoisted_19 = ["innerHTML"]; +const _hoisted_20 = { + key: 0, + class: "no-results" +}; +const _hoisted_21 = { class: "search-keyboard-shortcuts" }; +const _hoisted_22 = ["aria-label"]; +const _hoisted_23 = ["aria-label"]; +const _hoisted_24 = ["aria-label"]; +const _hoisted_25 = ["aria-label"]; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "VPLocalSearchBox", + emits: ["close"], + setup(__props, { emit: __emit }) { + var _a, _b; + const emit = __emit; + const el = shallowRef(); + const resultsEl = shallowRef(); + const searchIndexData = shallowRef(localSearchIndex); + const vitePressData = useData(); + const { activate } = useFocusTrap(el, { + immediate: true, + allowOutsideClick: true, + clickOutsideDeactivates: true, + escapeDeactivates: true + }); + const { localeIndex, theme } = vitePressData; + const searchIndex = computedAsync( + async () => { + var _a2, _b2, _c, _d, _e, _f, _g, _h, _i; + return markRaw( + MiniSearch.loadJSON( + (_c = await ((_b2 = (_a2 = searchIndexData.value)[localeIndex.value]) == null ? void 0 : _b2.call(_a2))) == null ? void 0 : _c.default, + { + fields: ["title", "titles", "text"], + storeFields: ["title", "titles"], + searchOptions: { + fuzzy: 0.2, + prefix: true, + boost: { title: 4, text: 2, titles: 1 }, + ...((_d = theme.value.search) == null ? void 0 : _d.provider) === "local" && ((_f = (_e = theme.value.search.options) == null ? void 0 : _e.miniSearch) == null ? void 0 : _f.searchOptions) + }, + ...((_g = theme.value.search) == null ? void 0 : _g.provider) === "local" && ((_i = (_h = theme.value.search.options) == null ? void 0 : _h.miniSearch) == null ? void 0 : _i.options) + } + ) + ); + } + ); + const disableQueryPersistence = computed(() => { + var _a2, _b2; + return ((_a2 = theme.value.search) == null ? void 0 : _a2.provider) === "local" && ((_b2 = theme.value.search.options) == null ? void 0 : _b2.disableQueryPersistence) === true; + }); + const filterText = disableQueryPersistence.value ? ref("") : useSessionStorage("vitepress:local-search-filter", ""); + const showDetailedList = useLocalStorage( + "vitepress:local-search-detailed-list", + ((_a = theme.value.search) == null ? void 0 : _a.provider) === "local" && ((_b = theme.value.search.options) == null ? void 0 : _b.detailedView) === true + ); + const disableDetailedView = computed(() => { + var _a2, _b2, _c; + return ((_a2 = theme.value.search) == null ? void 0 : _a2.provider) === "local" && (((_b2 = theme.value.search.options) == null ? void 0 : _b2.disableDetailedView) === true || ((_c = theme.value.search.options) == null ? void 0 : _c.detailedView) === false); + }); + const buttonText = computed(() => { + var _a2, _b2, _c, _d, _e, _f, _g; + const options = ((_a2 = theme.value.search) == null ? void 0 : _a2.options) ?? theme.value.algolia; + return ((_e = (_d = (_c = (_b2 = options == null ? void 0 : options.locales) == null ? void 0 : _b2[localeIndex.value]) == null ? void 0 : _c.translations) == null ? void 0 : _d.button) == null ? void 0 : _e.buttonText) || ((_g = (_f = options == null ? void 0 : options.translations) == null ? void 0 : _f.button) == null ? void 0 : _g.buttonText) || "Search"; + }); + watchEffect(() => { + if (disableDetailedView.value) { + showDetailedList.value = false; + } + }); + const results = shallowRef([]); + const enableNoResults = ref(false); + watch(filterText, () => { + enableNoResults.value = false; + }); + const mark = computedAsync(async () => { + if (!resultsEl.value) return; + return markRaw(new Mark2(resultsEl.value)); + }, null); + const cache = new LRUCache(16); + watchDebounced( + () => [searchIndex.value, filterText.value, showDetailedList.value], + async ([index, filterTextValue, showDetailedListValue], old, onCleanup) => { + var _a2, _b2, _c, _d; + if ((old == null ? void 0 : old[0]) !== index) { + cache.clear(); + } + let canceled = false; + onCleanup(() => { + canceled = true; + }); + if (!index) return; + results.value = index.search(filterTextValue).slice(0, 16); + enableNoResults.value = true; + const mods = showDetailedListValue ? await Promise.all(results.value.map((r) => fetchExcerpt(r.id))) : []; + if (canceled) return; + for (const { id, mod } of mods) { + const mapId = id.slice(0, id.indexOf("#")); + let map = cache.get(mapId); + if (map) continue; + map = /* @__PURE__ */ new Map(); + cache.set(mapId, map); + const comp = mod.default ?? mod; + if ((comp == null ? void 0 : comp.render) || (comp == null ? void 0 : comp.setup)) { + const app = createApp(comp); + app.config.warnHandler = () => { + }; + app.provide(dataSymbol, vitePressData); + Object.defineProperties(app.config.globalProperties, { + $frontmatter: { + get() { + return vitePressData.frontmatter.value; + } + }, + $params: { + get() { + return vitePressData.page.value.params; + } + } + }); + const div = document.createElement("div"); + app.mount(div); + const headings = div.querySelectorAll("h1, h2, h3, h4, h5, h6"); + headings.forEach((el2) => { + var _a3; + const href = (_a3 = el2.querySelector("a")) == null ? void 0 : _a3.getAttribute("href"); + const anchor = (href == null ? void 0 : href.startsWith("#")) && href.slice(1); + if (!anchor) return; + let html = ""; + while ((el2 = el2.nextElementSibling) && !/^h[1-6]$/i.test(el2.tagName)) + html += el2.outerHTML; + map.set(anchor, html); + }); + app.unmount(); + } + if (canceled) return; + } + const terms = /* @__PURE__ */ new Set(); + results.value = results.value.map((r) => { + const [id, anchor] = r.id.split("#"); + const map = cache.get(id); + const text = (map == null ? void 0 : map.get(anchor)) ?? ""; + for (const term in r.match) { + terms.add(term); + } + return { ...r, text }; + }); + await nextTick(); + if (canceled) return; + await new Promise((r) => { + var _a3; + (_a3 = mark.value) == null ? void 0 : _a3.unmark({ + done: () => { + var _a4; + (_a4 = mark.value) == null ? void 0 : _a4.markRegExp(formMarkRegex(terms), { done: r }); + } + }); + }); + const excerpts = ((_a2 = el.value) == null ? void 0 : _a2.querySelectorAll(".result .excerpt")) ?? []; + for (const excerpt of excerpts) { + (_b2 = excerpt.querySelector('mark[data-markjs="true"]')) == null ? void 0 : _b2.scrollIntoView({ block: "center" }); + } + (_d = (_c = resultsEl.value) == null ? void 0 : _c.firstElementChild) == null ? void 0 : _d.scrollIntoView({ block: "start" }); + }, + { debounce: 200, immediate: true } + ); + async function fetchExcerpt(id) { + const file = pathToFile(id.slice(0, id.indexOf("#"))); + try { + if (!file) throw new Error(`Cannot find file for id: ${id}`); + return { id, mod: await import( + /*@vite-ignore*/ + file + ) }; + } catch (e) { + console.error(e); + return { id, mod: {} }; + } + } + const searchInput = ref(); + const disableReset = computed(() => { + var _a2; + return ((_a2 = filterText.value) == null ? void 0 : _a2.length) <= 0; + }); + function focusSearchInput(select = true) { + var _a2, _b2; + (_a2 = searchInput.value) == null ? void 0 : _a2.focus(); + select && ((_b2 = searchInput.value) == null ? void 0 : _b2.select()); + } + onMounted(() => { + focusSearchInput(); + }); + function onSearchBarClick(event) { + if (event.pointerType === "mouse") { + focusSearchInput(); + } + } + const selectedIndex = ref(-1); + const disableMouseOver = ref(false); + watch(results, (r) => { + selectedIndex.value = r.length ? 0 : -1; + scrollToSelectedResult(); + }); + function scrollToSelectedResult() { + nextTick(() => { + const selectedEl = document.querySelector(".result.selected"); + selectedEl == null ? void 0 : selectedEl.scrollIntoView({ block: "nearest" }); + }); + } + onKeyStroke("ArrowUp", (event) => { + event.preventDefault(); + selectedIndex.value--; + if (selectedIndex.value < 0) { + selectedIndex.value = results.value.length - 1; + } + disableMouseOver.value = true; + scrollToSelectedResult(); + }); + onKeyStroke("ArrowDown", (event) => { + event.preventDefault(); + selectedIndex.value++; + if (selectedIndex.value >= results.value.length) { + selectedIndex.value = 0; + } + disableMouseOver.value = true; + scrollToSelectedResult(); + }); + const router = useRouter(); + onKeyStroke("Enter", (e) => { + if (e.isComposing) return; + if (e.target instanceof HTMLButtonElement && e.target.type !== "submit") + return; + const selectedPackage = results.value[selectedIndex.value]; + if (e.target instanceof HTMLInputElement && !selectedPackage) { + e.preventDefault(); + return; + } + if (selectedPackage) { + router.go(selectedPackage.id); + emit("close"); + } + }); + onKeyStroke("Escape", () => { + emit("close"); + }); + const defaultTranslations = { + modal: { + displayDetails: "Display detailed list", + resetButtonTitle: "Reset search", + backButtonTitle: "Close search", + noResultsText: "No results for", + footer: { + selectText: "to select", + selectKeyAriaLabel: "enter", + navigateText: "to navigate", + navigateUpKeyAriaLabel: "up arrow", + navigateDownKeyAriaLabel: "down arrow", + closeText: "to close", + closeKeyAriaLabel: "escape" + } + } + }; + const translate = createSearchTranslate(defaultTranslations); + onMounted(() => { + window.history.pushState(null, "", null); + }); + useEventListener("popstate", (event) => { + event.preventDefault(); + emit("close"); + }); + const isLocked = useScrollLock(inBrowser ? document.body : null); + onMounted(() => { + nextTick(() => { + isLocked.value = true; + nextTick().then(() => activate()); + }); + }); + onBeforeUnmount(() => { + isLocked.value = false; + }); + function resetSearch() { + filterText.value = ""; + nextTick().then(() => focusSearchInput(false)); + } + function formMarkRegex(terms) { + return new RegExp( + [...terms].sort((a, b) => b.length - a.length).map((term) => `(${escapeRegExp(term)})`).join("|"), + "gi" + ); + } + return (_ctx, _cache) => { + var _a2, _b2, _c, _d; + return openBlock(), createBlock(Teleport, { to: "body" }, [ + createBaseVNode("div", { + ref_key: "el", + ref: el, + role: "button", + "aria-owns": ((_a2 = results.value) == null ? void 0 : _a2.length) ? "localsearch-list" : void 0, + "aria-expanded": "true", + "aria-haspopup": "listbox", + "aria-labelledby": "localsearch-label", + class: "VPLocalSearchBox" + }, [ + createBaseVNode("div", { + class: "backdrop", + onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close")) + }), + createBaseVNode("div", _hoisted_2, [ + createBaseVNode("form", { + class: "search-bar", + onPointerup: _cache[4] || (_cache[4] = ($event) => onSearchBarClick($event)), + onSubmit: _cache[5] || (_cache[5] = withModifiers(() => { + }, ["prevent"])) + }, [ + createBaseVNode("label", { + title: buttonText.value, + id: "localsearch-label", + for: "localsearch-input" + }, _cache[8] || (_cache[8] = [ + createBaseVNode("span", { + "aria-hidden": "true", + class: "vpi-search search-icon local-search-icon" + }, null, -1) + ]), 8, _hoisted_3), + createBaseVNode("div", _hoisted_4, [ + createBaseVNode("button", { + class: "back-button", + title: unref(translate)("modal.backButtonTitle"), + onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("close")) + }, _cache[9] || (_cache[9] = [ + createBaseVNode("span", { class: "vpi-arrow-left local-search-icon" }, null, -1) + ]), 8, _hoisted_5) + ]), + withDirectives(createBaseVNode("input", { + ref_key: "searchInput", + ref: searchInput, + "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(filterText) ? filterText.value = $event : null), + placeholder: buttonText.value, + id: "localsearch-input", + "aria-labelledby": "localsearch-label", + class: "search-input" + }, null, 8, _hoisted_6), [ + [vModelText, unref(filterText)] + ]), + createBaseVNode("div", _hoisted_7, [ + !disableDetailedView.value ? (openBlock(), createElementBlock("button", { + key: 0, + class: normalizeClass(["toggle-layout-button", { "detailed-list": unref(showDetailedList) }]), + type: "button", + title: unref(translate)("modal.displayDetails"), + onClick: _cache[3] || (_cache[3] = ($event) => selectedIndex.value > -1 && (showDetailedList.value = !unref(showDetailedList))) + }, _cache[10] || (_cache[10] = [ + createBaseVNode("span", { class: "vpi-layout-list local-search-icon" }, null, -1) + ]), 10, _hoisted_8)) : createCommentVNode("", true), + createBaseVNode("button", { + class: "clear-button", + type: "reset", + disabled: disableReset.value, + title: unref(translate)("modal.resetButtonTitle"), + onClick: resetSearch + }, _cache[11] || (_cache[11] = [ + createBaseVNode("span", { class: "vpi-delete local-search-icon" }, null, -1) + ]), 8, _hoisted_9) + ]) + ], 32), + createBaseVNode("ul", { + ref_key: "resultsEl", + ref: resultsEl, + id: ((_b2 = results.value) == null ? void 0 : _b2.length) ? "localsearch-list" : void 0, + role: ((_c = results.value) == null ? void 0 : _c.length) ? "listbox" : void 0, + "aria-labelledby": ((_d = results.value) == null ? void 0 : _d.length) ? "localsearch-label" : void 0, + class: "results", + onMousemove: _cache[7] || (_cache[7] = ($event) => disableMouseOver.value = false) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(results.value, (p, index) => { + return openBlock(), createElementBlock("li", { + key: p.id, + role: "option", + "aria-selected": selectedIndex.value === index ? "true" : "false" + }, [ + createBaseVNode("a", { + href: p.id, + class: normalizeClass(["result", { + selected: selectedIndex.value === index + }]), + "aria-label": [...p.titles, p.title].join(" > "), + onMouseenter: ($event) => !disableMouseOver.value && (selectedIndex.value = index), + onFocusin: ($event) => selectedIndex.value = index, + onClick: _cache[6] || (_cache[6] = ($event) => _ctx.$emit("close")) + }, [ + createBaseVNode("div", null, [ + createBaseVNode("div", _hoisted_13, [ + _cache[13] || (_cache[13] = createBaseVNode("span", { class: "title-icon" }, "#", -1)), + (openBlock(true), createElementBlock(Fragment, null, renderList(p.titles, (t, index2) => { + return openBlock(), createElementBlock("span", { + key: index2, + class: "title" + }, [ + createBaseVNode("span", { + class: "text", + innerHTML: t + }, null, 8, _hoisted_14), + _cache[12] || (_cache[12] = createBaseVNode("span", { class: "vpi-chevron-right local-search-icon" }, null, -1)) + ]); + }), 128)), + createBaseVNode("span", _hoisted_15, [ + createBaseVNode("span", { + class: "text", + innerHTML: p.title + }, null, 8, _hoisted_16) + ]) + ]), + unref(showDetailedList) ? (openBlock(), createElementBlock("div", _hoisted_17, [ + p.text ? (openBlock(), createElementBlock("div", _hoisted_18, [ + createBaseVNode("div", { + class: "vp-doc", + innerHTML: p.text + }, null, 8, _hoisted_19) + ])) : createCommentVNode("", true), + _cache[14] || (_cache[14] = createBaseVNode("div", { class: "excerpt-gradient-bottom" }, null, -1)), + _cache[15] || (_cache[15] = createBaseVNode("div", { class: "excerpt-gradient-top" }, null, -1)) + ])) : createCommentVNode("", true) + ]) + ], 42, _hoisted_12) + ], 8, _hoisted_11); + }), 128)), + unref(filterText) && !results.value.length && enableNoResults.value ? (openBlock(), createElementBlock("li", _hoisted_20, [ + createTextVNode(toDisplayString(unref(translate)("modal.noResultsText")) + ' "', 1), + createBaseVNode("strong", null, toDisplayString(unref(filterText)), 1), + _cache[16] || (_cache[16] = createTextVNode('" ')) + ])) : createCommentVNode("", true) + ], 40, _hoisted_10), + createBaseVNode("div", _hoisted_21, [ + createBaseVNode("span", null, [ + createBaseVNode("kbd", { + "aria-label": unref(translate)("modal.footer.navigateUpKeyAriaLabel") + }, _cache[17] || (_cache[17] = [ + createBaseVNode("span", { class: "vpi-arrow-up navigate-icon" }, null, -1) + ]), 8, _hoisted_22), + createBaseVNode("kbd", { + "aria-label": unref(translate)("modal.footer.navigateDownKeyAriaLabel") + }, _cache[18] || (_cache[18] = [ + createBaseVNode("span", { class: "vpi-arrow-down navigate-icon" }, null, -1) + ]), 8, _hoisted_23), + createTextVNode(" " + toDisplayString(unref(translate)("modal.footer.navigateText")), 1) + ]), + createBaseVNode("span", null, [ + createBaseVNode("kbd", { + "aria-label": unref(translate)("modal.footer.selectKeyAriaLabel") + }, _cache[19] || (_cache[19] = [ + createBaseVNode("span", { class: "vpi-corner-down-left navigate-icon" }, null, -1) + ]), 8, _hoisted_24), + createTextVNode(" " + toDisplayString(unref(translate)("modal.footer.selectText")), 1) + ]), + createBaseVNode("span", null, [ + createBaseVNode("kbd", { + "aria-label": unref(translate)("modal.footer.closeKeyAriaLabel") + }, "esc", 8, _hoisted_25), + createTextVNode(" " + toDisplayString(unref(translate)("modal.footer.closeText")), 1) + ]) + ]) + ]) + ], 8, _hoisted_1) + ]); + }; + } +}); +const VPLocalSearchBox = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5b749456"]]); +export { + VPLocalSearchBox as default +}; diff --git a/previews/PR211/assets/chunks/framework.DWWQFVfn.js b/previews/PR211/assets/chunks/framework.DWWQFVfn.js new file mode 100644 index 000000000..fe86ad908 --- /dev/null +++ b/previews/PR211/assets/chunks/framework.DWWQFVfn.js @@ -0,0 +1,9926 @@ +/** +* @vue/shared v3.5.8 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function makeMap(str) { + const map = /* @__PURE__ */ Object.create(null); + for (const key of str.split(",")) map[key] = 1; + return (val) => val in map; +} +const EMPTY_OBJ = {}; +const EMPTY_ARR = []; +const NOOP = () => { +}; +const NO = () => false; +const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter +(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +const isModelListener = (key) => key.startsWith("onUpdate:"); +const extend = Object.assign; +const remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +const hasOwnProperty$1 = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty$1.call(val, key); +const isArray = Array.isArray; +const isMap = (val) => toTypeString(val) === "[object Map]"; +const isSet = (val) => toTypeString(val) === "[object Set]"; +const isFunction = (val) => typeof val === "function"; +const isString = (val) => typeof val === "string"; +const isSymbol = (val) => typeof val === "symbol"; +const isObject$1 = (val) => val !== null && typeof val === "object"; +const isPromise = (val) => { + return (isObject$1(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +const objectToString = Object.prototype.toString; +const toTypeString = (value) => objectToString.call(value); +const toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +const isPlainObject = (val) => toTypeString(val) === "[object Object]"; +const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +const isReservedProp = /* @__PURE__ */ makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +const camelizeRE = /-(\w)/g; +const camelize = cacheStringFunction( + (str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); + } +); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() +); +const capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +const toHandlerKey = cacheStringFunction( + (str) => { + const s = str ? `on${capitalize(str)}` : ``; + return s; + } +); +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns = (fns, ...arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](...arg); + } +}; +const def = (obj, key, value, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value + }); +}; +const looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +const toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +let _globalThis; +const getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject$1(value)) { + return value; + } +} +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:([^]+)/; +const styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function stringifyStyle(styles) { + let ret = ""; + if (!styles || isString(styles)) { + return ret; + } + for (const key in styles) { + const value = styles[key]; + if (isString(value) || typeof value === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + ret += `${normalizedKey}:${value};`; + } + } + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject$1(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); +const isBooleanAttr = /* @__PURE__ */ makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` +); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +const isKnownHtmlAttr = /* @__PURE__ */ makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` +); +const isKnownSvgAttr = /* @__PURE__ */ makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` +); +function isRenderableAttrValue(value) { + if (value == null) { + return false; + } + const type = typeof value; + return type === "string" || type === "number" || type === "boolean"; +} +const cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; +function getEscapedCssVarName(key, doubleEscape) { + return key.replace( + cssVarNameEscapeSymbolsRE, + (s) => `\\${s}` + ); +} +const isRef$1 = (val) => { + return !!(val && val["__v_isRef"] === true); +}; +const toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject$1(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef$1(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); +}; +const replacer = (_key, val) => { + if (isRef$1(val)) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject$1(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; +const stringifySymbol = (v, i = "") => { + var _a; + return ( + // Symbol.description in es2019+ so we need to cast here to pass + // the lib: es2016 check + isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v + ); +}; +/** +* @vue/reactivity v3.5.8 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +let activeEffectScope; +class EffectScope { + constructor(detached = false) { + this.detached = detached; + this._active = true; + this.effects = []; + this.cleanups = []; + this._isPaused = false; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + pause() { + if (this._active) { + this._isPaused = true; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].pause(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].pause(); + } + } + } + /** + * Resumes the effect scope, including all child scopes and effects. + */ + resume() { + if (this._active) { + if (this._isPaused) { + this._isPaused = false; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].resume(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].resume(); + } + } + } + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + activeEffectScope = this; + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this._active) { + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this._active = false; + } + } +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn, failSilently = false) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } +} +let activeSub; +const pausedQueueEffects = /* @__PURE__ */ new WeakSet(); +class ReactiveEffect { + constructor(fn) { + this.fn = fn; + this.deps = void 0; + this.depsTail = void 0; + this.flags = 1 | 4; + this.next = void 0; + this.cleanup = void 0; + this.scheduler = void 0; + if (activeEffectScope && activeEffectScope.active) { + activeEffectScope.effects.push(this); + } + } + pause() { + this.flags |= 64; + } + resume() { + if (this.flags & 64) { + this.flags &= ~64; + if (pausedQueueEffects.has(this)) { + pausedQueueEffects.delete(this); + this.trigger(); + } + } + } + /** + * @internal + */ + notify() { + if (this.flags & 2 && !(this.flags & 32)) { + return; + } + if (!(this.flags & 8)) { + batch(this); + } + } + run() { + if (!(this.flags & 1)) { + return this.fn(); + } + this.flags |= 2; + cleanupEffect(this); + prepareDeps(this); + const prevEffect = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = this; + shouldTrack = true; + try { + return this.fn(); + } finally { + cleanupDeps(this); + activeSub = prevEffect; + shouldTrack = prevShouldTrack; + this.flags &= ~2; + } + } + stop() { + if (this.flags & 1) { + for (let link2 = this.deps; link2; link2 = link2.nextDep) { + removeSub(link2); + } + this.deps = this.depsTail = void 0; + cleanupEffect(this); + this.onStop && this.onStop(); + this.flags &= ~1; + } + } + trigger() { + if (this.flags & 64) { + pausedQueueEffects.add(this); + } else if (this.scheduler) { + this.scheduler(); + } else { + this.runIfDirty(); + } + } + /** + * @internal + */ + runIfDirty() { + if (isDirty(this)) { + this.run(); + } + } + get dirty() { + return isDirty(this); + } +} +let batchDepth = 0; +let batchedSub; +function batch(sub) { + sub.flags |= 8; + sub.next = batchedSub; + batchedSub = sub; +} +function startBatch() { + batchDepth++; +} +function endBatch() { + if (--batchDepth > 0) { + return; + } + let error; + while (batchedSub) { + let e = batchedSub; + batchedSub = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= ~8; + if (e.flags & 1) { + try { + ; + e.trigger(); + } catch (err) { + if (!error) error = err; + } + } + e = next; + } + } + if (error) throw error; +} +function prepareDeps(sub) { + for (let link2 = sub.deps; link2; link2 = link2.nextDep) { + link2.version = -1; + link2.prevActiveLink = link2.dep.activeLink; + link2.dep.activeLink = link2; + } +} +function cleanupDeps(sub, fromComputed = false) { + let head; + let tail = sub.depsTail; + let link2 = tail; + while (link2) { + const prev = link2.prevDep; + if (link2.version === -1) { + if (link2 === tail) tail = prev; + removeSub(link2, fromComputed); + removeDep(link2); + } else { + head = link2; + } + link2.dep.activeLink = link2.prevActiveLink; + link2.prevActiveLink = void 0; + link2 = prev; + } + sub.deps = head; + sub.depsTail = tail; +} +function isDirty(sub) { + for (let link2 = sub.deps; link2; link2 = link2.nextDep) { + if (link2.dep.version !== link2.version || link2.dep.computed && (refreshComputed(link2.dep.computed) || link2.dep.version !== link2.version)) { + return true; + } + } + if (sub._dirty) { + return true; + } + return false; +} +function refreshComputed(computed2) { + if (computed2.flags & 4 && !(computed2.flags & 16)) { + return; + } + computed2.flags &= ~16; + if (computed2.globalVersion === globalVersion) { + return; + } + computed2.globalVersion = globalVersion; + const dep = computed2.dep; + computed2.flags |= 2; + if (dep.version > 0 && !computed2.isSSR && computed2.deps && !isDirty(computed2)) { + computed2.flags &= ~2; + return; + } + const prevSub = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = computed2; + shouldTrack = true; + try { + prepareDeps(computed2); + const value = computed2.fn(computed2._value); + if (dep.version === 0 || hasChanged(value, computed2._value)) { + computed2._value = value; + dep.version++; + } + } catch (err) { + dep.version++; + throw err; + } finally { + activeSub = prevSub; + shouldTrack = prevShouldTrack; + cleanupDeps(computed2, true); + computed2.flags &= ~2; + } +} +function removeSub(link2, fromComputed = false) { + const { dep, prevSub, nextSub } = link2; + if (prevSub) { + prevSub.nextSub = nextSub; + link2.prevSub = void 0; + } + if (nextSub) { + nextSub.prevSub = prevSub; + link2.nextSub = void 0; + } + if (dep.subs === link2) { + dep.subs = prevSub; + } + if (!dep.subs) { + if (dep.computed) { + dep.computed.flags &= ~4; + for (let l = dep.computed.deps; l; l = l.nextDep) { + removeSub(l, true); + } + } else if (dep.map && !fromComputed) { + dep.map.delete(dep.key); + if (!dep.map.size) targetMap.delete(dep.target); + } + } +} +function removeDep(link2) { + const { prevDep, nextDep } = link2; + if (prevDep) { + prevDep.nextDep = nextDep; + link2.prevDep = void 0; + } + if (nextDep) { + nextDep.prevDep = prevDep; + link2.nextDep = void 0; + } +} +let shouldTrack = true; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function cleanupEffect(e) { + const { cleanup } = e; + e.cleanup = void 0; + if (cleanup) { + const prevSub = activeSub; + activeSub = void 0; + try { + cleanup(); + } finally { + activeSub = prevSub; + } + } +} +let globalVersion = 0; +class Link { + constructor(sub, dep) { + this.sub = sub; + this.dep = dep; + this.version = dep.version; + this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; + } +} +class Dep { + constructor(computed2) { + this.computed = computed2; + this.version = 0; + this.activeLink = void 0; + this.subs = void 0; + this.target = void 0; + this.map = void 0; + this.key = void 0; + } + track(debugInfo) { + if (!activeSub || !shouldTrack || activeSub === this.computed) { + return; + } + let link2 = this.activeLink; + if (link2 === void 0 || link2.sub !== activeSub) { + link2 = this.activeLink = new Link(activeSub, this); + if (!activeSub.deps) { + activeSub.deps = activeSub.depsTail = link2; + } else { + link2.prevDep = activeSub.depsTail; + activeSub.depsTail.nextDep = link2; + activeSub.depsTail = link2; + } + if (activeSub.flags & 4) { + addSub(link2); + } + } else if (link2.version === -1) { + link2.version = this.version; + if (link2.nextDep) { + const next = link2.nextDep; + next.prevDep = link2.prevDep; + if (link2.prevDep) { + link2.prevDep.nextDep = next; + } + link2.prevDep = activeSub.depsTail; + link2.nextDep = void 0; + activeSub.depsTail.nextDep = link2; + activeSub.depsTail = link2; + if (activeSub.deps === link2) { + activeSub.deps = next; + } + } + } + return link2; + } + trigger(debugInfo) { + this.version++; + globalVersion++; + this.notify(debugInfo); + } + notify(debugInfo) { + startBatch(); + try { + if (false) ; + for (let link2 = this.subs; link2; link2 = link2.prevSub) { + if (link2.sub.notify()) { + ; + link2.sub.dep.notify(); + } + } + } finally { + endBatch(); + } + } +} +function addSub(link2) { + const computed2 = link2.dep.computed; + if (computed2 && !link2.dep.subs) { + computed2.flags |= 4 | 16; + for (let l = computed2.deps; l; l = l.nextDep) { + addSub(l); + } + } + const currentTail = link2.dep.subs; + if (currentTail !== link2) { + link2.prevSub = currentTail; + if (currentTail) currentTail.nextSub = link2; + } + link2.dep.subs = link2; +} +const targetMap = /* @__PURE__ */ new WeakMap(); +const ITERATE_KEY = Symbol( + "" +); +const MAP_KEY_ITERATE_KEY = Symbol( + "" +); +const ARRAY_ITERATE_KEY = Symbol( + "" +); +function track(target, type, key) { + if (shouldTrack && activeSub) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = new Dep()); + dep.target = target; + dep.map = depsMap; + dep.key = key; + } + { + dep.track(); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + globalVersion++; + return; + } + const run = (dep) => { + if (dep) { + { + dep.trigger(); + } + } + }; + startBatch(); + if (type === "clear") { + depsMap.forEach(run); + } else { + const targetIsArray = isArray(target); + const isArrayIndex = targetIsArray && isIntegerKey(key); + if (targetIsArray && key === "length") { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) { + run(dep); + } + }); + } else { + if (key !== void 0) { + run(depsMap.get(key)); + } + if (isArrayIndex) { + run(depsMap.get(ARRAY_ITERATE_KEY)); + } + switch (type) { + case "add": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isArrayIndex) { + run(depsMap.get("length")); + } + break; + case "delete": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + run(depsMap.get(ITERATE_KEY)); + } + break; + } + } + } + endBatch(); +} +function getDepFromReactive(object, key) { + var _a; + return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key); +} +function reactiveReadArray(array) { + const raw = toRaw(array); + if (raw === array) return raw; + track(raw, "iterate", ARRAY_ITERATE_KEY); + return isShallow(array) ? raw : raw.map(toReactive); +} +function shallowReadArray(arr) { + track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); + return arr; +} +const arrayInstrumentations = { + __proto__: null, + [Symbol.iterator]() { + return iterator(this, Symbol.iterator, toReactive); + }, + concat(...args) { + return reactiveReadArray(this).concat( + ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x) + ); + }, + entries() { + return iterator(this, "entries", (value) => { + value[1] = toReactive(value[1]); + return value; + }); + }, + every(fn, thisArg) { + return apply(this, "every", fn, thisArg, void 0, arguments); + }, + filter(fn, thisArg) { + return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments); + }, + find(fn, thisArg) { + return apply(this, "find", fn, thisArg, toReactive, arguments); + }, + findIndex(fn, thisArg) { + return apply(this, "findIndex", fn, thisArg, void 0, arguments); + }, + findLast(fn, thisArg) { + return apply(this, "findLast", fn, thisArg, toReactive, arguments); + }, + findLastIndex(fn, thisArg) { + return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); + }, + // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement + forEach(fn, thisArg) { + return apply(this, "forEach", fn, thisArg, void 0, arguments); + }, + includes(...args) { + return searchProxy(this, "includes", args); + }, + indexOf(...args) { + return searchProxy(this, "indexOf", args); + }, + join(separator) { + return reactiveReadArray(this).join(separator); + }, + // keys() iterator only reads `length`, no optimisation required + lastIndexOf(...args) { + return searchProxy(this, "lastIndexOf", args); + }, + map(fn, thisArg) { + return apply(this, "map", fn, thisArg, void 0, arguments); + }, + pop() { + return noTracking(this, "pop"); + }, + push(...args) { + return noTracking(this, "push", args); + }, + reduce(fn, ...args) { + return reduce(this, "reduce", fn, args); + }, + reduceRight(fn, ...args) { + return reduce(this, "reduceRight", fn, args); + }, + shift() { + return noTracking(this, "shift"); + }, + // slice could use ARRAY_ITERATE but also seems to beg for range tracking + some(fn, thisArg) { + return apply(this, "some", fn, thisArg, void 0, arguments); + }, + splice(...args) { + return noTracking(this, "splice", args); + }, + toReversed() { + return reactiveReadArray(this).toReversed(); + }, + toSorted(comparer) { + return reactiveReadArray(this).toSorted(comparer); + }, + toSpliced(...args) { + return reactiveReadArray(this).toSpliced(...args); + }, + unshift(...args) { + return noTracking(this, "unshift", args); + }, + values() { + return iterator(this, "values", toReactive); + } +}; +function iterator(self2, method, wrapValue) { + const arr = shallowReadArray(self2); + const iter = arr[method](); + if (arr !== self2 && !isShallow(self2)) { + iter._next = iter.next; + iter.next = () => { + const result = iter._next(); + if (result.value) { + result.value = wrapValue(result.value); + } + return result; + }; + } + return iter; +} +const arrayProto = Array.prototype; +function apply(self2, method, fn, thisArg, wrappedRetFn, args) { + const arr = shallowReadArray(self2); + const needsWrap = arr !== self2 && !isShallow(self2); + const methodFn = arr[method]; + if (methodFn !== arrayProto[method]) { + const result2 = methodFn.apply(self2, args); + return needsWrap ? toReactive(result2) : result2; + } + let wrappedFn = fn; + if (arr !== self2) { + if (needsWrap) { + wrappedFn = function(item, index) { + return fn.call(this, toReactive(item), index, self2); + }; + } else if (fn.length > 2) { + wrappedFn = function(item, index) { + return fn.call(this, item, index, self2); + }; + } + } + const result = methodFn.call(arr, wrappedFn, thisArg); + return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; +} +function reduce(self2, method, fn, args) { + const arr = shallowReadArray(self2); + let wrappedFn = fn; + if (arr !== self2) { + if (!isShallow(self2)) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, toReactive(item), index, self2); + }; + } else if (fn.length > 3) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, item, index, self2); + }; + } + } + return arr[method](wrappedFn, ...args); +} +function searchProxy(self2, method, args) { + const arr = toRaw(self2); + track(arr, "iterate", ARRAY_ITERATE_KEY); + const res = arr[method](...args); + if ((res === -1 || res === false) && isProxy(args[0])) { + args[0] = toRaw(args[0]); + return arr[method](...args); + } + return res; +} +function noTracking(self2, method, args = []) { + pauseTracking(); + startBatch(); + const res = toRaw(self2)[method].apply(self2, args); + endBatch(); + resetTracking(); + return res; +} +const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) +); +function hasOwnProperty(key) { + if (!isSymbol(key)) key = String(key); + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +class BaseReactiveHandler { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the receiver is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = isArray(target); + if (!isReadonly2) { + let fn; + if (targetIsArray && (fn = arrayInstrumentations[key])) { + return fn; + } + if (key === "hasOwnProperty") { + return hasOwnProperty; + } + } + const res = Reflect.get( + target, + key, + // if this is a proxy wrapping a ref, return methods using the raw ref + // as receiver so that we don't have to call `toRaw` on the ref in all + // its class methods + isRef(target) ? target : receiver + ); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject$1(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +} +class MutableReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArray(target) && isRef(oldValue) && !isRef(value)) { + if (isOldValueReadonly) { + return false; + } else { + oldValue.value = value; + return true; + } + } + } + const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + const result = Reflect.set( + target, + key, + value, + isRef(target) ? target : receiver + ); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = hasOwn(target, key); + target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + isArray(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } +} +class ReadonlyReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + return true; + } + deleteProperty(target, key) { + return true; + } +} +const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); +const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); +const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); +const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); +const toShallow = (value) => value; +const getProto = (v) => Reflect.getPrototypeOf(v); +function get(target, key, isReadonly2 = false, isShallow2 = false) { + target = target["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } +} +function has(key, isReadonly2 = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); +} +function size(target, isReadonly2 = false) { + target = target["__v_raw"]; + !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); +} +function add(value, _isShallow = false) { + if (!_isShallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; +} +function set(key, value, _isShallow = false) { + if (!_isShallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } + const oldValue = get2.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + return this; +} +function deleteEntry(key) { + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } + get2 ? get2.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0); + } + return result; +} +function clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0); + } + return result; +} +function createForEach(isReadonly2, isShallow2) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; +} +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get(this, key); + }, + get size() { + return size(this); + }, + has, + add, + set, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get(this, key, false, true); + }, + get size() { + return size(this); + }, + has, + add(value) { + return add.call(this, value, true); + }, + set(key, value) { + return set.call(this, key, value, true); + }, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod( + method, + true, + true + ); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; +} +const [ + mutableInstrumentations, + readonlyInstrumentations, + shallowInstrumentations, + shallowReadonlyInstrumentations +] = /* @__PURE__ */ createInstrumentations(); +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + hasOwn(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject$1(target)) { + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy( + target, + targetType === 2 ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return value ? !!value["__v_raw"] : false; +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) { + def(value, "__v_skip", true); + } + return value; +} +const toReactive = (value) => isObject$1(value) ? reactive(value) : value; +const toReadonly = (value) => isObject$1(value) ? readonly(value) : value; +function isRef(r) { + return r ? r["__v_isRef"] === true : false; +} +function ref(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, isShallow2) { + this.dep = new Dep(); + this["__v_isRef"] = true; + this["__v_isShallow"] = false; + this._rawValue = isShallow2 ? value : toRaw(value); + this._value = isShallow2 ? value : toReactive(value); + this["__v_isShallow"] = isShallow2; + } + get value() { + { + this.dep.track(); + } + return this._value; + } + set value(newValue) { + const oldValue = this._rawValue; + const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); + newValue = useDirectValue ? newValue : toRaw(newValue); + if (hasChanged(newValue, oldValue)) { + this._rawValue = newValue; + this._value = useDirectValue ? newValue : toReactive(newValue); + { + this.dep.trigger(); + } + } + } +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +const shallowUnwrapHandlers = { + get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +class CustomRefImpl { + constructor(factory) { + this["__v_isRef"] = true; + this._value = void 0; + const dep = this.dep = new Dep(); + const { get: get2, set: set2 } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); + this._get = get2; + this._set = set2; + } + get value() { + return this._value = this._get(); + } + set value(newVal) { + this._set(newVal); + } +} +function customRef(factory) { + return new CustomRefImpl(factory); +} +class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this["__v_isRef"] = true; + this._value = void 0; + } + get value() { + const val = this._object[this._key]; + return this._value = val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } +} +class GetterRefImpl { + constructor(_getter) { + this._getter = _getter; + this["__v_isRef"] = true; + this["__v_isReadonly"] = true; + this._value = void 0; + } + get value() { + return this._value = this._getter(); + } +} +function toRef$1(source, key, defaultValue) { + if (isRef(source)) { + return source; + } else if (isFunction(source)) { + return new GetterRefImpl(source); + } else if (isObject$1(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } +} +function propertyToRef(source, key, defaultValue) { + const val = source[key]; + return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); +} +class ComputedRefImpl { + constructor(fn, setter, isSSR) { + this.fn = fn; + this.setter = setter; + this._value = void 0; + this.dep = new Dep(this); + this.__v_isRef = true; + this.deps = void 0; + this.depsTail = void 0; + this.flags = 16; + this.globalVersion = globalVersion - 1; + this.effect = this; + this["__v_isReadonly"] = !setter; + this.isSSR = isSSR; + } + /** + * @internal + */ + notify() { + this.flags |= 16; + if (!(this.flags & 8) && // avoid infinite self recursion + activeSub !== this) { + batch(this); + return true; + } + } + get value() { + const link2 = this.dep.track(); + refreshComputed(this); + if (link2) { + link2.version = this.dep.version; + } + return this._value; + } + set value(newValue) { + if (this.setter) { + this.setter(newValue); + } + } +} +function computed$1(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + if (isFunction(getterOrOptions)) { + getter = getterOrOptions; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, isSSR); + return cRef; +} +const INITIAL_WATCHER_VALUE = {}; +const cleanupMap = /* @__PURE__ */ new WeakMap(); +let activeWatcher = void 0; +function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { + if (owner) { + let cleanups = cleanupMap.get(owner); + if (!cleanups) cleanupMap.set(owner, cleanups = []); + cleanups.push(cleanupFn); + } +} +function watch$1(source, cb, options = EMPTY_OBJ) { + const { immediate, deep, once, scheduler, augmentJob, call } = options; + const reactiveGetter = (source2) => { + if (deep) return source2; + if (isShallow(source2) || deep === false || deep === 0) + return traverse(source2, 1); + return traverse(source2); + }; + let effect2; + let getter; + let cleanup; + let boundCleanup; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); + getter = () => source.map((s) => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return reactiveGetter(s); + } else if (isFunction(s)) { + return call ? call(s, 2) : s(); + } else ; + }); + } else if (isFunction(source)) { + if (cb) { + getter = call ? () => call(source, 2) : source; + } else { + getter = () => { + if (cleanup) { + pauseTracking(); + try { + cleanup(); + } finally { + resetTracking(); + } + } + const currentEffect = activeWatcher; + activeWatcher = effect2; + try { + return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); + } finally { + activeWatcher = currentEffect; + } + }; + } + } else { + getter = NOOP; + } + if (cb && deep) { + const baseGetter = getter; + const depth = deep === true ? Infinity : deep; + getter = () => traverse(baseGetter(), depth); + } + const scope = getCurrentScope(); + const watchHandle = () => { + effect2.stop(); + if (scope) { + remove(scope.effects, effect2); + } + }; + if (once && cb) { + const _cb = cb; + cb = (...args) => { + _cb(...args); + watchHandle(); + }; + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = (immediateFirstRun) => { + if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) { + return; + } + if (cb) { + const newValue = effect2.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) { + if (cleanup) { + cleanup(); + } + const currentWatcher = activeWatcher; + activeWatcher = effect2; + try { + const args = [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + boundCleanup + ]; + call ? call(cb, 3, args) : ( + // @ts-expect-error + cb(...args) + ); + oldValue = newValue; + } finally { + activeWatcher = currentWatcher; + } + } + } else { + effect2.run(); + } + }; + if (augmentJob) { + augmentJob(job); + } + effect2 = new ReactiveEffect(getter); + effect2.scheduler = scheduler ? () => scheduler(job, false) : job; + boundCleanup = (fn) => onWatcherCleanup(fn, false, effect2); + cleanup = effect2.onStop = () => { + const cleanups = cleanupMap.get(effect2); + if (cleanups) { + if (call) { + call(cleanups, 4); + } else { + for (const cleanup2 of cleanups) cleanup2(); + } + cleanupMap.delete(effect2); + } + }; + if (cb) { + if (immediate) { + job(true); + } else { + oldValue = effect2.run(); + } + } else if (scheduler) { + scheduler(job.bind(null, true), true); + } else { + effect2.run(); + } + watchHandle.pause = effect2.pause.bind(effect2); + watchHandle.resume = effect2.resume.bind(effect2); + watchHandle.stop = watchHandle; + return watchHandle; +} +function traverse(value, depth = Infinity, seen2) { + if (depth <= 0 || !isObject$1(value) || value["__v_skip"]) { + return value; + } + seen2 = seen2 || /* @__PURE__ */ new Set(); + if (seen2.has(value)) { + return value; + } + seen2.add(value); + depth--; + if (isRef(value)) { + traverse(value.value, depth, seen2); + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], depth, seen2); + } + } else if (isSet(value) || isMap(value)) { + value.forEach((v) => { + traverse(v, depth, seen2); + }); + } else if (isPlainObject(value)) { + for (const key in value) { + traverse(value[key], depth, seen2); + } + for (const key of Object.getOwnPropertySymbols(value)) { + if (Object.prototype.propertyIsEnumerable.call(value, key)) { + traverse(value[key], depth, seen2); + } + } + } + return value; +} +/** +* @vue/runtime-core v3.5.8 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +const stack = []; +let isWarning = false; +function warn$1(msg, ...args) { + if (isWarning) return; + isWarning = true; + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling( + appWarnHandler, + instance, + 11, + [ + // eslint-disable-next-line no-restricted-syntax + msg + args.map((a) => { + var _a, _b; + return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); + }).join(""), + instance && instance.proxy, + trace.map( + ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` + ).join("\n"), + trace + ] + ); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && // avoid spamming console during tests + true) { + warnArgs.push(` +`, ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); + isWarning = false; +} +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i) => { + logs.push(...i === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open = ` at <${formatComponentName( + vnode.component, + vnode.type, + isRoot + )}`; + const close = `>` + postfix; + return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; +} +function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(` ...`); + } + return res; +} +function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : [`${key}=${value}`]; + } else if (isRef(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : [`${key}=Ref<`, value, `>`]; + } else if (isFunction(value)) { + return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + } else { + value = toRaw(value); + return raw ? value : [`${key}=`, value]; + } +} +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + if (isArray(fn)) { + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; + } +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + if (errorHandler) { + pauseTracking(); + callWithErrorHandling(errorHandler, null, 10, [ + err, + exposedInstance, + errorInfo + ]); + resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); +} +function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { + if (throwInProd) { + throw err; + } else { + console.error(err); + } +} +let isFlushing = false; +let isFlushPending = false; +const queue = []; +let flushIndex = 0; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +function nextTick(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +function findInsertionIndex(id) { + let start = isFlushing ? flushIndex + 1 : 0; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { + start = middle + 1; + } else { + end = middle; + } + } + return start; +} +function queueJob(job) { + if (!(job.flags & 1)) { + const jobId = getId(job); + const lastJob = queue[queue.length - 1]; + if (!lastJob || // fast path when the job id is larger than the tail + !(job.flags & 2) && jobId >= getId(lastJob)) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(jobId), 0, job); + } + job.flags |= 1; + queueFlush(); + } +} +function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function queuePostFlushCb(cb) { + if (!isArray(cb)) { + if (activePostFlushCbs && cb.id === -1) { + activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); + } else if (!(cb.flags & 1)) { + pendingPostFlushCbs.push(cb); + cb.flags |= 1; + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(instance, seen2, i = isFlushing ? flushIndex + 1 : 0) { + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.flags & 2) { + if (instance && cb.id !== instance.uid) { + continue; + } + queue.splice(i, 1); + i--; + if (cb.flags & 4) { + cb.flags &= ~1; + } + cb(); + if (!(cb.flags & 4)) { + cb.flags &= ~1; + } + } + } +} +function flushPostFlushCbs(seen2) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort( + (a, b) => getId(a) - getId(b) + ); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + const cb = activePostFlushCbs[postFlushIndex]; + if (cb.flags & 4) { + cb.flags &= ~1; + } + if (!(cb.flags & 8)) cb(); + cb.flags &= ~1; + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; +function flushJobs(seen2) { + isFlushPending = false; + isFlushing = true; + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && !(job.flags & 8)) { + if (false) ; + if (job.flags & 4) { + job.flags &= ~1; + } + callWithErrorHandling( + job, + job.i, + job.i ? 15 : 14 + ); + if (!(job.flags & 4)) { + job.flags &= ~1; + } + } + } + } finally { + for (; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job) { + job.flags &= ~1; + } + } + flushIndex = 0; + queue.length = 0; + flushPostFlushCbs(); + isFlushing = false; + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(); + } + } +} +let currentRenderingInstance = null; +let currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + return vnode; + } + const instance = getComponentPublicInstance(currentRenderingInstance); + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; + if (dir) { + if (isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + let hook = binding.dir[name]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + resetTracking(); + } + } +} +const TeleportEndKey = Symbol("_vte"); +const isTeleport = (type) => type.__isTeleport; +const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); +const isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); +const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; +const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; +const resolveTarget = (props, select) => { + const targetSelector = props && props.to; + if (isString(targetSelector)) { + if (!select) { + return null; + } else { + const target = select(targetSelector); + return target; + } + } else { + return targetSelector; + } +}; +const TeleportImpl = { + name: "Teleport", + __isTeleport: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { + const { + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + o: { insert, querySelector, createText, createComment } + } = internals; + const disabled = isTeleportDisabled(n2.props); + let { shapeFlag, children, dynamicChildren } = n2; + if (n1 == null) { + const placeholder = n2.el = createText(""); + const mainAnchor = n2.anchor = createText(""); + insert(placeholder, container, anchor); + insert(mainAnchor, container, anchor); + const mount = (container2, anchor2) => { + if (shapeFlag & 16) { + if (parentComponent && parentComponent.isCE) { + parentComponent.ce._teleportTarget = container2; + } + mountChildren( + children, + container2, + anchor2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const mountToTarget = () => { + const target = n2.target = resolveTarget(n2.props, querySelector); + const targetAnchor = prepareAnchor(target, n2, createText, insert); + if (target) { + if (namespace !== "svg" && isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace !== "mathml" && isTargetMathML(target)) { + namespace = "mathml"; + } + if (!disabled) { + mount(target, targetAnchor); + updateCssVars(n2); + } + } + }; + if (disabled) { + mount(container, mainAnchor); + updateCssVars(n2); + } + if (isTeleportDeferred(n2.props)) { + queuePostRenderEffect(mountToTarget, parentSuspense); + } else { + mountToTarget(); + } + } else { + n2.el = n1.el; + n2.targetStart = n1.targetStart; + const mainAnchor = n2.anchor = n1.anchor; + const target = n2.target = n1.target; + const targetAnchor = n2.targetAnchor = n1.targetAnchor; + const wasDisabled = isTeleportDisabled(n1.props); + const currentContainer = wasDisabled ? container : target; + const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; + if (namespace === "svg" || isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace === "mathml" || isTargetMathML(target)) { + namespace = "mathml"; + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + currentContainer, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + traverseStaticChildren(n1, n2, true); + } else if (!optimized) { + patchChildren( + n1, + n2, + currentContainer, + currentAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + false + ); + } + if (disabled) { + if (!wasDisabled) { + moveTeleport( + n2, + container, + mainAnchor, + internals, + 1 + ); + } else { + if (n2.props && n1.props && n2.props.to !== n1.props.to) { + n2.props.to = n1.props.to; + } + } + } else { + if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { + const nextTarget = n2.target = resolveTarget( + n2.props, + querySelector + ); + if (nextTarget) { + moveTeleport( + n2, + nextTarget, + null, + internals, + 0 + ); + } + } else if (wasDisabled) { + moveTeleport( + n2, + target, + targetAnchor, + internals, + 1 + ); + } + } + updateCssVars(n2); + } + }, + remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { + const { + shapeFlag, + children, + anchor, + targetStart, + targetAnchor, + target, + props + } = vnode; + if (target) { + hostRemove(targetStart); + hostRemove(targetAnchor); + } + doRemove && hostRemove(anchor); + if (shapeFlag & 16) { + const shouldRemove = doRemove || !isTeleportDisabled(props); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + unmount( + child, + parentComponent, + parentSuspense, + shouldRemove, + !!child.dynamicChildren + ); + } + } + }, + move: moveTeleport, + hydrate: hydrateTeleport +}; +function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { + if (moveType === 0) { + insert(vnode.targetAnchor, container, parentAnchor); + } + const { el, anchor, shapeFlag, children, props } = vnode; + const isReorder = moveType === 2; + if (isReorder) { + insert(el, container, parentAnchor); + } + if (!isReorder || isTeleportDisabled(props)) { + if (shapeFlag & 16) { + for (let i = 0; i < children.length; i++) { + move( + children[i], + container, + parentAnchor, + 2 + ); + } + } + } + if (isReorder) { + insert(anchor, container, parentAnchor); + } +} +function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { + o: { nextSibling, parentNode, querySelector, insert, createText } +}, hydrateChildren) { + const target = vnode.target = resolveTarget( + vnode.props, + querySelector + ); + if (target) { + const targetNode = target._lpa || target.firstChild; + if (vnode.shapeFlag & 16) { + if (isTeleportDisabled(vnode.props)) { + vnode.anchor = hydrateChildren( + nextSibling(node), + vnode, + parentNode(node), + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + vnode.targetStart = targetNode; + vnode.targetAnchor = targetNode && nextSibling(targetNode); + } else { + vnode.anchor = nextSibling(node); + let targetAnchor = targetNode; + while (targetAnchor) { + if (targetAnchor && targetAnchor.nodeType === 8) { + if (targetAnchor.data === "teleport start anchor") { + vnode.targetStart = targetAnchor; + } else if (targetAnchor.data === "teleport anchor") { + vnode.targetAnchor = targetAnchor; + target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); + break; + } + } + targetAnchor = nextSibling(targetAnchor); + } + if (!vnode.targetAnchor) { + prepareAnchor(target, vnode, createText, insert); + } + hydrateChildren( + targetNode && nextSibling(targetNode), + vnode, + target, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } + updateCssVars(vnode); + } + return vnode.anchor && nextSibling(vnode.anchor); +} +const Teleport = TeleportImpl; +function updateCssVars(vnode) { + const ctx = vnode.ctx; + if (ctx && ctx.ut) { + let node = vnode.targetStart; + while (node && node !== vnode.targetAnchor) { + if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); + node = node.nextSibling; + } + ctx.ut(); + } +} +function prepareAnchor(target, vnode, createText, insert) { + const targetStart = vnode.targetStart = createText(""); + const targetAnchor = vnode.targetAnchor = createText(""); + targetStart[TeleportEndKey] = targetAnchor; + if (target) { + insert(targetStart, target); + insert(targetAnchor, target); + } + return targetAnchor; +} +const leaveCbKey = Symbol("_leaveCb"); +const enterCbKey = Symbol("_enterCb"); +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +const TransitionHookValidator = [Function, Array]; +const BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +const recursiveGetSubtree = (instance) => { + const subTree = instance.subTree; + return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; +}; +const BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + const child = findNonCommentChild(children); + const rawProps = toRaw(props); + const { mode } = rawProps; + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getInnerChild$1(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + let enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance, + // #11061, ensure enterHooks is fresh after clone + (hooks) => enterHooks = hooks + ); + if (innerChild.type !== Comment) { + setTransitionHooks(innerChild, enterHooks); + } + const oldChild = instance.subTree; + const oldInnerChild = oldChild && getInnerChild$1(oldChild); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) { + const leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (!(instance.job.flags & 8)) { + instance.update(); + } + delete leavingHooks.afterLeave; + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + }; + enterHooks.delayedLeave = delayedLeave; + }; + } + } + return child; + }; + } +}; +function findNonCommentChild(children) { + let child = children[0]; + if (children.length > 1) { + for (const c of children) { + if (c.type !== Comment) { + child = c; + break; + } + } + } + return child; +} +const BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance, postClone) { + const { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook2 = (hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook2(hook, args); + if (isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) done(); + } else if (hook.length <= 1) { + done(); + } + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { + leavingVNode.el[leaveCbKey](); + } + callHook2(hook, [el]); + }, + enter(el) { + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + const done = el[enterCbKey] = (cancelled) => { + if (called) return; + called = true; + if (cancelled) { + callHook2(cancelHook, [el]); + } else { + callHook2(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el[enterCbKey] = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove2) { + const key2 = String(vnode.key); + if (el[enterCbKey]) { + el[enterCbKey]( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove2(); + } + callHook2(onBeforeLeave, [el]); + let called = false; + const done = el[leaveCbKey] = (cancelled) => { + if (called) return; + called = true; + remove2(); + if (cancelled) { + callHook2(onLeaveCancelled, [el]); + } else { + callHook2(onAfterLeave, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + const hooks2 = resolveTransitionHooks( + vnode2, + props, + state, + instance, + postClone + ); + if (postClone) postClone(hooks2); + return hooks2; + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getInnerChild$1(vnode) { + if (!isKeepAlive(vnode)) { + if (isTeleport(vnode.type) && vnode.children) { + return findNonCommentChild(vnode.children); + } + return vnode; + } + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) { + return children[0]; + } + if (shapeFlag & 32 && isFunction(children.default)) { + return children.default(); + } + } +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + vnode.transition = hooks; + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + } +} +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i = 0; i < ret.length; i++) { + ret[i].patchFlag = -2; + } + } + return ret; +} +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineComponent(options, extraOptions) { + return isFunction(options) ? ( + // #8236: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; +} +function markAsyncBoundary(instance) { + instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; +} +function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { + if (isArray(rawRef)) { + rawRef.forEach( + (r, i) => setRef( + r, + oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), + parentSuspense, + vnode, + isUnmount + ) + ); + return; + } + if (isAsyncWrapper(vnode) && !isUnmount) { + return; + } + const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; + const value = isUnmount ? null : refValue; + const { i: owner, r: ref3 } = rawRef; + const oldRef = oldRawRef && oldRawRef.r; + const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; + const setupState = owner.setupState; + const rawSetupState = toRaw(setupState); + const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => { + return hasOwn(rawSetupState, key); + }; + if (oldRef != null && oldRef !== ref3) { + if (isString(oldRef)) { + refs[oldRef] = null; + if (canSetSetupRef(oldRef)) { + setupState[oldRef] = null; + } + } else if (isRef(oldRef)) { + oldRef.value = null; + } + } + if (isFunction(ref3)) { + callWithErrorHandling(ref3, owner, 12, [value, refs]); + } else { + const _isString = isString(ref3); + const _isRef = isRef(ref3); + if (_isString || _isRef) { + const doSet = () => { + if (rawRef.f) { + const existing = _isString ? canSetSetupRef(ref3) ? setupState[ref3] : refs[ref3] : ref3.value; + if (isUnmount) { + isArray(existing) && remove(existing, refValue); + } else { + if (!isArray(existing)) { + if (_isString) { + refs[ref3] = [refValue]; + if (canSetSetupRef(ref3)) { + setupState[ref3] = refs[ref3]; + } + } else { + ref3.value = [refValue]; + if (rawRef.k) refs[rawRef.k] = ref3.value; + } + } else if (!existing.includes(refValue)) { + existing.push(refValue); + } + } + } else if (_isString) { + refs[ref3] = value; + if (canSetSetupRef(ref3)) { + setupState[ref3] = value; + } + } else if (_isRef) { + ref3.value = value; + if (rawRef.k) refs[rawRef.k] = value; + } else ; + }; + if (value) { + doSet.id = -1; + queuePostRenderEffect(doSet, parentSuspense); + } else { + doSet(); + } + } + } +} +let hasLoggedMismatchError = false; +const logMismatchError = () => { + if (hasLoggedMismatchError) { + return; + } + console.error("Hydration completed but contains mismatches."); + hasLoggedMismatchError = true; +}; +const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; +const isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); +const getContainerType = (container) => { + if (container.nodeType !== 1) return void 0; + if (isSVGContainer(container)) return "svg"; + if (isMathMLContainer(container)) return "mathml"; + return void 0; +}; +const isComment = (node) => node.nodeType === 8; +function createHydrationFunctions(rendererInternals) { + const { + mt: mountComponent, + p: patch, + o: { + patchProp: patchProp2, + createText, + nextSibling, + parentNode, + remove: remove2, + insert, + createComment + } + } = rendererInternals; + const hydrate = (vnode, container) => { + if (!container.hasChildNodes()) { + warn$1( + `Attempting to hydrate existing markup but container is empty. Performing full mount instead.` + ); + patch(null, vnode, container); + flushPostFlushCbs(); + container._vnode = vnode; + return; + } + hydrateNode(container.firstChild, vnode, null, null, null); + flushPostFlushCbs(); + container._vnode = vnode; + }; + const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { + optimized = optimized || !!vnode.dynamicChildren; + const isFragmentStart = isComment(node) && node.data === "["; + const onMismatch = () => handleMismatch( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + isFragmentStart + ); + const { type, ref: ref3, shapeFlag, patchFlag } = vnode; + let domType = node.nodeType; + vnode.el = node; + if (patchFlag === -2) { + optimized = false; + vnode.dynamicChildren = null; + } + let nextNode = null; + switch (type) { + case Text: + if (domType !== 3) { + if (vnode.children === "") { + insert(vnode.el = createText(""), parentNode(node), node); + nextNode = node; + } else { + nextNode = onMismatch(); + } + } else { + if (node.data !== vnode.children) { + warn$1( + `Hydration text mismatch in`, + node.parentNode, + ` + - rendered on server: ${JSON.stringify( + node.data + )} + - expected on client: ${JSON.stringify(vnode.children)}` + ); + logMismatchError(); + node.data = vnode.children; + } + nextNode = nextSibling(node); + } + break; + case Comment: + if (isTemplateNode(node)) { + nextNode = nextSibling(node); + replaceNode( + vnode.el = node.content.firstChild, + node, + parentComponent + ); + } else if (domType !== 8 || isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = nextSibling(node); + } + break; + case Static: + if (isFragmentStart) { + node = nextSibling(node); + domType = node.nodeType; + } + if (domType === 1 || domType === 3) { + nextNode = node; + const needToAdoptContent = !vnode.children.length; + for (let i = 0; i < vnode.staticCount; i++) { + if (needToAdoptContent) + vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; + if (i === vnode.staticCount - 1) { + vnode.anchor = nextNode; + } + nextNode = nextSibling(nextNode); + } + return isFragmentStart ? nextSibling(nextNode) : nextNode; + } else { + onMismatch(); + } + break; + case Fragment: + if (!isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = hydrateFragment( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + break; + default: + if (shapeFlag & 1) { + if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) { + nextNode = onMismatch(); + } else { + nextNode = hydrateElement( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } else if (shapeFlag & 6) { + vnode.slotScopeIds = slotScopeIds; + const container = parentNode(node); + if (isFragmentStart) { + nextNode = locateClosingAnchor(node); + } else if (isComment(node) && node.data === "teleport start") { + nextNode = locateClosingAnchor(node, node.data, "teleport end"); + } else { + nextNode = nextSibling(node); + } + mountComponent( + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + optimized + ); + if (isAsyncWrapper(vnode)) { + let subTree; + if (isFragmentStart) { + subTree = createVNode(Fragment); + subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; + } else { + subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); + } + subTree.el = node; + vnode.component.subTree = subTree; + } + } else if (shapeFlag & 64) { + if (domType !== 8) { + nextNode = onMismatch(); + } else { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized, + rendererInternals, + hydrateChildren + ); + } + } else if (shapeFlag & 128) { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + getContainerType(parentNode(node)), + slotScopeIds, + optimized, + rendererInternals, + hydrateNode + ); + } else { + warn$1("Invalid HostVNode type:", type, `(${typeof type})`); + } + } + if (ref3 != null) { + setRef(ref3, null, parentSuspense, vnode); + } + return nextNode; + }; + const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!vnode.dynamicChildren; + const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; + const forcePatch = type === "input" || type === "option"; + if (forcePatch || patchFlag !== -1) { + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + let needCallTransitionHooks = false; + if (isTemplateNode(el)) { + needCallTransitionHooks = needTransition(parentSuspense, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; + const content = el.content.firstChild; + if (needCallTransitionHooks) { + transition.beforeEnter(content); + } + replaceNode(content, el, parentComponent); + vnode.el = el = content; + } + if (shapeFlag & 16 && // skip if element has innerHTML / textContent + !(props && (props.innerHTML || props.textContent))) { + let next = hydrateChildren( + el.firstChild, + vnode, + el, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + let hasWarned2 = false; + while (next) { + if (!isMismatchAllowed( + el, + 1 + /* CHILDREN */ + )) { + if (!hasWarned2) { + warn$1( + `Hydration children mismatch on`, + el, + ` +Server rendered element contains more child nodes than client vdom.` + ); + hasWarned2 = true; + } + logMismatchError(); + } + const cur = next; + next = next.nextSibling; + remove2(cur); + } + } else if (shapeFlag & 8) { + let clientText = vnode.children; + if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) { + clientText = clientText.slice(1); + } + if (el.textContent !== clientText) { + if (!isMismatchAllowed( + el, + 0 + /* TEXT */ + )) { + warn$1( + `Hydration text content mismatch on`, + el, + ` + - rendered on server: ${el.textContent} + - expected on client: ${vnode.children}` + ); + logMismatchError(); + } + el.textContent = vnode.children; + } + } + if (props) { + { + const isCustomElement = el.tagName.includes("-"); + for (const key in props) { + if ( + // #11189 skip if this node has directives that have created hooks + // as it could have mutated the DOM in any possible way + !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent) + ) { + logMismatchError(); + } + if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers + key[0] === "." || isCustomElement) { + patchProp2(el, key, null, props[key], void 0, parentComponent); + } + } + } + } + let vnodeHooks; + if (vnodeHooks = props && props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHooks, parentComponent, vnode); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) { + queueEffectWithSuspense(() => { + vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + } + return el.nextSibling; + }; + const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!parentVNode.dynamicChildren; + const children = parentVNode.children; + const l = children.length; + let hasWarned2 = false; + for (let i = 0; i < l; i++) { + const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); + const isText = vnode.type === Text; + if (node) { + if (isText && !optimized) { + if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { + insert( + createText( + node.data.slice(vnode.children.length) + ), + container, + nextSibling(node) + ); + node.data = vnode.children; + } + } + node = hydrateNode( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } else if (isText && !vnode.children) { + insert(vnode.el = createText(""), container); + } else { + if (!isMismatchAllowed( + container, + 1 + /* CHILDREN */ + )) { + if (!hasWarned2) { + warn$1( + `Hydration children mismatch on`, + container, + ` +Server rendered element contains fewer child nodes than client vdom.` + ); + hasWarned2 = true; + } + logMismatchError(); + } + patch( + null, + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + } + } + return node; + }; + const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + const { slotScopeIds: fragmentSlotScopeIds } = vnode; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + const container = parentNode(node); + const next = hydrateChildren( + nextSibling(node), + vnode, + container, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + if (next && isComment(next) && next.data === "]") { + return nextSibling(vnode.anchor = next); + } else { + logMismatchError(); + insert(vnode.anchor = createComment(`]`), container, next); + return next; + } + }; + const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { + if (!isMismatchAllowed( + node.parentElement, + 1 + /* CHILDREN */ + )) { + warn$1( + `Hydration node mismatch: +- rendered on server:`, + node, + node.nodeType === 3 ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``, + ` +- expected on client:`, + vnode.type + ); + logMismatchError(); + } + vnode.el = null; + if (isFragment) { + const end = locateClosingAnchor(node); + while (true) { + const next2 = nextSibling(node); + if (next2 && next2 !== end) { + remove2(next2); + } else { + break; + } + } + } + const next = nextSibling(node); + const container = parentNode(node); + remove2(node); + patch( + null, + vnode, + container, + next, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + return next; + }; + const locateClosingAnchor = (node, open = "[", close = "]") => { + let match = 0; + while (node) { + node = nextSibling(node); + if (node && isComment(node)) { + if (node.data === open) match++; + if (node.data === close) { + if (match === 0) { + return nextSibling(node); + } else { + match--; + } + } + } + } + return node; + }; + const replaceNode = (newNode, oldNode, parentComponent) => { + const parentNode2 = oldNode.parentNode; + if (parentNode2) { + parentNode2.replaceChild(newNode, oldNode); + } + let parent = parentComponent; + while (parent) { + if (parent.vnode.el === oldNode) { + parent.vnode.el = parent.subTree.el = newNode; + } + parent = parent.parent; + } + }; + const isTemplateNode = (node) => { + return node.nodeType === 1 && node.tagName === "TEMPLATE"; + }; + return [hydrate, hydrateNode]; +} +function propHasMismatch(el, key, clientValue, vnode, instance) { + let mismatchType; + let mismatchKey; + let actual; + let expected; + if (key === "class") { + actual = el.getAttribute("class"); + expected = normalizeClass(clientValue); + if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) { + mismatchType = 2; + mismatchKey = `class`; + } + } else if (key === "style") { + actual = el.getAttribute("style") || ""; + expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue)); + const actualMap = toStyleMap(actual); + const expectedMap = toStyleMap(expected); + if (vnode.dirs) { + for (const { dir, value } of vnode.dirs) { + if (dir.name === "show" && !value) { + expectedMap.set("display", "none"); + } + } + } + if (instance) { + resolveCssVars(instance, vnode, expectedMap); + } + if (!isMapEqual(actualMap, expectedMap)) { + mismatchType = 3; + mismatchKey = "style"; + } + } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) { + if (isBooleanAttr(key)) { + actual = el.hasAttribute(key); + expected = includeBooleanAttr(clientValue); + } else if (clientValue == null) { + actual = el.hasAttribute(key); + expected = false; + } else { + if (el.hasAttribute(key)) { + actual = el.getAttribute(key); + } else if (key === "value" && el.tagName === "TEXTAREA") { + actual = el.value; + } else { + actual = false; + } + expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false; + } + if (actual !== expected) { + mismatchType = 4; + mismatchKey = key; + } + } + if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) { + const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`; + const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`; + const postSegment = ` + - rendered on server: ${format(actual)} + - expected on client: ${format(expected)} + Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. + You should fix the source of the mismatch.`; + { + warn$1(preSegment, el, postSegment); + } + return true; + } + return false; +} +function toClassSet(str) { + return new Set(str.trim().split(/\s+/)); +} +function isSetEqual(a, b) { + if (a.size !== b.size) { + return false; + } + for (const s of a) { + if (!b.has(s)) { + return false; + } + } + return true; +} +function toStyleMap(str) { + const styleMap = /* @__PURE__ */ new Map(); + for (const item of str.split(";")) { + let [key, value] = item.split(":"); + key = key.trim(); + value = value && value.trim(); + if (key && value) { + styleMap.set(key, value); + } + } + return styleMap; +} +function isMapEqual(a, b) { + if (a.size !== b.size) { + return false; + } + for (const [key, value] of a) { + if (value !== b.get(key)) { + return false; + } + } + return true; +} +function resolveCssVars(instance, vnode, expectedMap) { + const root = instance.subTree; + if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) { + const cssVars = instance.getCssVars(); + for (const key in cssVars) { + expectedMap.set( + `--${getEscapedCssVarName(key)}`, + String(cssVars[key]) + ); + } + } + if (vnode === root && instance.parent) { + resolveCssVars(instance.parent, instance.vnode, expectedMap); + } +} +const allowMismatchAttr = "data-allow-mismatch"; +const MismatchTypeString = { + [ + 0 + /* TEXT */ + ]: "text", + [ + 1 + /* CHILDREN */ + ]: "children", + [ + 2 + /* CLASS */ + ]: "class", + [ + 3 + /* STYLE */ + ]: "style", + [ + 4 + /* ATTRIBUTE */ + ]: "attribute" +}; +function isMismatchAllowed(el, allowedType) { + if (allowedType === 0 || allowedType === 1) { + while (el && !el.hasAttribute(allowMismatchAttr)) { + el = el.parentElement; + } + } + const allowedAttr = el && el.getAttribute(allowMismatchAttr); + if (allowedAttr == null) { + return false; + } else if (allowedAttr === "") { + return true; + } else { + const list = allowedAttr.split(","); + if (allowedType === 0 && list.includes("children")) { + return true; + } + return allowedAttr.split(",").includes(MismatchTypeString[allowedType]); + } +} +function forEachElement(node, cb) { + if (isComment(node) && node.data === "[") { + let depth = 1; + let next = node.nextSibling; + while (next) { + if (next.nodeType === 1) { + const result = cb(next); + if (result === false) { + break; + } + } else if (isComment(next)) { + if (next.data === "]") { + if (--depth === 0) break; + } else if (next.data === "[") { + depth++; + } + } + next = next.nextSibling; + } + } else { + cb(node); + } +} +const isAsyncWrapper = (i) => !!i.type.__asyncLoader; +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + hydrate: hydrateStrategy, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve2, reject) => { + const userRetry = () => resolve2(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + resolvedComp = comp; + return comp; + })); + }; + return /* @__PURE__ */ defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + __asyncHydrate(el, instance, hydrate) { + const doHydrate = hydrateStrategy ? () => { + const teardown = hydrateStrategy( + hydrate, + (cb) => forEachElement(el, cb) + ); + if (teardown) { + (instance.bum || (instance.bum = [])).push(teardown); + } + } : hydrate; + if (resolvedComp) { + doHydrate(); + } else { + load().then(() => !instance.isUnmounted && doHydrate()); + } + }, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + markAsyncBoundary(instance); + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = (err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + ); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = ref(false); + const error = ref(); + const delayed = ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.update(); + } + }).catch((err) => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createVNode(loadingComponent); + } + }; + } + }); +} +function createInnerComp(comp, parent) { + const { ref: ref22, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref22; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} +const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); +} +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } +} +const createHook = (lifecycle) => (hook, target = currentInstance) => { + if (!isInSSRComponentSetup || lifecycle === "sp") { + injectHook(lifecycle, (...args) => hook(...args), target); + } +}; +const onBeforeMount = createHook("bm"); +const onMounted = createHook("m"); +const onBeforeUpdate = createHook( + "bu" +); +const onUpdated = createHook("u"); +const onBeforeUnmount = createHook( + "bum" +); +const onUnmounted = createHook("um"); +const onServerPrefetch = createHook( + "sp" +); +const onRenderTriggered = createHook("rtg"); +const onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +const COMPONENTS = "components"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + { + const selfName = getComponentName( + Component, + false + ); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component; + } + return res; + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache; + const sourceIsArray = isArray(source); + if (sourceIsArray || isString(source)) { + const sourceIsReactiveArray = sourceIsArray && isReactive(source); + let needsWrap = false; + if (sourceIsReactiveArray) { + needsWrap = !isShallow(source); + source = shallowReadArray(source); + } + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem( + needsWrap ? toReactive(source[i]) : source[i], + i, + void 0, + cached + ); + } + } else if (typeof source === "number") { + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached); + } + } else if (isObject$1(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item, i) => renderItem(item, i, void 0, cached) + ); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached); + } + } + } else { + ret = []; + } + return ret; +} +function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { + if (name !== "default") props.name = name; + return openBlock(), createBlock( + Fragment, + null, + [createVNode("slot", props, fallback && fallback())], + 64 + ); + } + let slot = slots[name]; + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const rendered = createBlock( + Fragment, + { + key: (props.key || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key || `_${name}`) + // #7256 force differentiate fallback content from actual content + (!validSlotContent && fallback ? "_fb" : "") + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + for (const key in obj) { + ret[/[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; + } + return ret; +} +const getPublicInstance = (i) => { + if (!i) return null; + if (isStatefulComponent(i)) return getComponentPublicInstance(i); + return getPublicInstance(i.parent); +}; +const publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => i.props, + $attrs: (i) => i.attrs, + $slots: (i) => i.slots, + $refs: (i) => i.refs, + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $host: (i) => i.ce, + $emit: (i) => i.emit, + $options: (i) => resolveMergedOptions(i), + $forceUpdate: (i) => i.f || (i.f = () => { + queueJob(i.update); + }), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => instanceWatch.bind(i) + }) +); +const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") { + return true; + } + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + let normalizedProps; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1: + return setupState[key]; + case 2: + return data[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2; + return data[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) + ) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance.attrs, "get", ""); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else ; + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + data[key] = value; + return true; + } else if (hasOwn(instance.props, key)) { + return false; + } + if (key[0] === "$" && key.slice(1) in instance) { + return false; + } else { + { + ctx[key] = value; + } + } + return true; + }, + has({ + _: { data, setupState, accessCache, ctx, appContext, propsOptions } + }, key) { + let normalizedProps; + return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key); + }, + defineProperty(target, key, descriptor) { + if (descriptor.get != null) { + target._.accessCache[key] = 0; + } else if (hasOwn(descriptor, "value")) { + this.set(target, key, descriptor.value, null); + } + return Reflect.defineProperty(target, key, descriptor); + } +}; +function useSlots() { + return getContext().slots; +} +function getContext() { + const i = getCurrentInstance(); + return i.setupContext || (i.setupContext = createSetupContext(i)); +} +function normalizePropsOrEmits(props) { + return isArray(props) ? props.reduce( + (normalized, p2) => (normalized[p2] = null, normalized), + {} + ) : props; +} +let shouldCacheAccess = true; +function applyOptions(instance) { + const options = resolveMergedOptions(instance); + const publicThis = instance.proxy; + const ctx = instance.ctx; + shouldCacheAccess = false; + if (options.beforeCreate) { + callHook$1(options.beforeCreate, instance, "bc"); + } + const { + // state + data: dataOptions, + computed: computedOptions, + methods, + watch: watchOptions, + provide: provideOptions, + inject: injectOptions, + // lifecycle + created, + beforeMount, + mounted, + beforeUpdate, + updated, + activated, + deactivated, + beforeDestroy, + beforeUnmount, + destroyed, + unmounted, + render, + renderTracked, + renderTriggered, + errorCaptured, + serverPrefetch, + // public API + expose, + inheritAttrs, + // assets + components, + directives, + filters + } = options; + const checkDuplicateProperties = null; + if (injectOptions) { + resolveInjections(injectOptions, ctx, checkDuplicateProperties); + } + if (methods) { + for (const key in methods) { + const methodHandler = methods[key]; + if (isFunction(methodHandler)) { + { + ctx[key] = methodHandler.bind(publicThis); + } + } + } + } + if (dataOptions) { + const data = dataOptions.call(publicThis, publicThis); + if (!isObject$1(data)) ; + else { + instance.data = reactive(data); + } + } + shouldCacheAccess = true; + if (computedOptions) { + for (const key in computedOptions) { + const opt = computedOptions[key]; + const get2 = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP; + const set2 = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : NOOP; + const c = computed({ + get: get2, + set: set2 + }); + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => c.value, + set: (v) => c.value = v + }); + } + } + if (watchOptions) { + for (const key in watchOptions) { + createWatcher(watchOptions[key], ctx, publicThis, key); + } + } + if (provideOptions) { + const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions; + Reflect.ownKeys(provides).forEach((key) => { + provide(key, provides[key]); + }); + } + if (created) { + callHook$1(created, instance, "c"); + } + function registerLifecycleHook(register, hook) { + if (isArray(hook)) { + hook.forEach((_hook) => register(_hook.bind(publicThis))); + } else if (hook) { + register(hook.bind(publicThis)); + } + } + registerLifecycleHook(onBeforeMount, beforeMount); + registerLifecycleHook(onMounted, mounted); + registerLifecycleHook(onBeforeUpdate, beforeUpdate); + registerLifecycleHook(onUpdated, updated); + registerLifecycleHook(onActivated, activated); + registerLifecycleHook(onDeactivated, deactivated); + registerLifecycleHook(onErrorCaptured, errorCaptured); + registerLifecycleHook(onRenderTracked, renderTracked); + registerLifecycleHook(onRenderTriggered, renderTriggered); + registerLifecycleHook(onBeforeUnmount, beforeUnmount); + registerLifecycleHook(onUnmounted, unmounted); + registerLifecycleHook(onServerPrefetch, serverPrefetch); + if (isArray(expose)) { + if (expose.length) { + const exposed = instance.exposed || (instance.exposed = {}); + expose.forEach((key) => { + Object.defineProperty(exposed, key, { + get: () => publicThis[key], + set: (val) => publicThis[key] = val + }); + }); + } else if (!instance.exposed) { + instance.exposed = {}; + } + } + if (render && instance.render === NOOP) { + instance.render = render; + } + if (inheritAttrs != null) { + instance.inheritAttrs = inheritAttrs; + } + if (components) instance.components = components; + if (directives) instance.directives = directives; + if (serverPrefetch) { + markAsyncBoundary(instance); + } +} +function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) { + if (isArray(injectOptions)) { + injectOptions = normalizeInject(injectOptions); + } + for (const key in injectOptions) { + const opt = injectOptions[key]; + let injected; + if (isObject$1(opt)) { + if ("default" in opt) { + injected = inject( + opt.from || key, + opt.default, + true + ); + } else { + injected = inject(opt.from || key); + } + } else { + injected = inject(opt); + } + if (isRef(injected)) { + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => injected.value, + set: (v) => injected.value = v + }); + } else { + ctx[key] = injected; + } + } +} +function callHook$1(hook, instance, type) { + callWithAsyncErrorHandling( + isArray(hook) ? hook.map((h2) => h2.bind(instance.proxy)) : hook.bind(instance.proxy), + instance, + type + ); +} +function createWatcher(raw, ctx, publicThis, key) { + let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key]; + if (isString(raw)) { + const handler = ctx[raw]; + if (isFunction(handler)) { + { + watch(getter, handler); + } + } + } else if (isFunction(raw)) { + { + watch(getter, raw.bind(publicThis)); + } + } else if (isObject$1(raw)) { + if (isArray(raw)) { + raw.forEach((r) => createWatcher(r, ctx, publicThis, key)); + } else { + const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler]; + if (isFunction(handler)) { + watch(getter, handler, raw); + } + } + } else ; +} +function resolveMergedOptions(instance) { + const base = instance.type; + const { mixins, extends: extendsOptions } = base; + const { + mixins: globalMixins, + optionsCache: cache, + config: { optionMergeStrategies } + } = instance.appContext; + const cached = cache.get(base); + let resolved; + if (cached) { + resolved = cached; + } else if (!globalMixins.length && !mixins && !extendsOptions) { + { + resolved = base; + } + } else { + resolved = {}; + if (globalMixins.length) { + globalMixins.forEach( + (m) => mergeOptions(resolved, m, optionMergeStrategies, true) + ); + } + mergeOptions(resolved, base, optionMergeStrategies); + } + if (isObject$1(base)) { + cache.set(base, resolved); + } + return resolved; +} +function mergeOptions(to, from, strats, asMixin = false) { + const { mixins, extends: extendsOptions } = from; + if (extendsOptions) { + mergeOptions(to, extendsOptions, strats, true); + } + if (mixins) { + mixins.forEach( + (m) => mergeOptions(to, m, strats, true) + ); + } + for (const key in from) { + if (asMixin && key === "expose") ; + else { + const strat = internalOptionMergeStrats[key] || strats && strats[key]; + to[key] = strat ? strat(to[key], from[key]) : from[key]; + } + } + return to; +} +const internalOptionMergeStrats = { + data: mergeDataFn, + props: mergeEmitsOrPropsOptions, + emits: mergeEmitsOrPropsOptions, + // objects + methods: mergeObjectOptions, + computed: mergeObjectOptions, + // lifecycle + beforeCreate: mergeAsArray, + created: mergeAsArray, + beforeMount: mergeAsArray, + mounted: mergeAsArray, + beforeUpdate: mergeAsArray, + updated: mergeAsArray, + beforeDestroy: mergeAsArray, + beforeUnmount: mergeAsArray, + destroyed: mergeAsArray, + unmounted: mergeAsArray, + activated: mergeAsArray, + deactivated: mergeAsArray, + errorCaptured: mergeAsArray, + serverPrefetch: mergeAsArray, + // assets + components: mergeObjectOptions, + directives: mergeObjectOptions, + // watch + watch: mergeWatchOptions, + // provide / inject + provide: mergeDataFn, + inject: mergeInject +}; +function mergeDataFn(to, from) { + if (!from) { + return to; + } + if (!to) { + return from; + } + return function mergedDataFn() { + return extend( + isFunction(to) ? to.call(this, this) : to, + isFunction(from) ? from.call(this, this) : from + ); + }; +} +function mergeInject(to, from) { + return mergeObjectOptions(normalizeInject(to), normalizeInject(from)); +} +function normalizeInject(raw) { + if (isArray(raw)) { + const res = {}; + for (let i = 0; i < raw.length; i++) { + res[raw[i]] = raw[i]; + } + return res; + } + return raw; +} +function mergeAsArray(to, from) { + return to ? [...new Set([].concat(to, from))] : from; +} +function mergeObjectOptions(to, from) { + return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from; +} +function mergeEmitsOrPropsOptions(to, from) { + if (to) { + if (isArray(to) && isArray(from)) { + return [.../* @__PURE__ */ new Set([...to, ...from])]; + } + return extend( + /* @__PURE__ */ Object.create(null), + normalizePropsOrEmits(to), + normalizePropsOrEmits(from != null ? from : {}) + ); + } else { + return from; + } +} +function mergeWatchOptions(to, from) { + if (!to) return from; + if (!from) return to; + const merged = extend(/* @__PURE__ */ Object.create(null), to); + for (const key in from) { + merged[key] = mergeAsArray(to[key], from[key]); + } + return merged; +} +function createAppContext() { + return { + app: null, + config: { + isNativeTag: NO, + performance: false, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {} + }, + mixins: [], + components: {}, + directives: {}, + provides: /* @__PURE__ */ Object.create(null), + optionsCache: /* @__PURE__ */ new WeakMap(), + propsCache: /* @__PURE__ */ new WeakMap(), + emitsCache: /* @__PURE__ */ new WeakMap() + }; +} +let uid$1 = 0; +function createAppAPI(render, hydrate) { + return function createApp2(rootComponent, rootProps = null) { + if (!isFunction(rootComponent)) { + rootComponent = extend({}, rootComponent); + } + if (rootProps != null && !isObject$1(rootProps)) { + rootProps = null; + } + const context = createAppContext(); + const installedPlugins = /* @__PURE__ */ new WeakSet(); + const pluginCleanupFns = []; + let isMounted = false; + const app = context.app = { + _uid: uid$1++, + _component: rootComponent, + _props: rootProps, + _container: null, + _context: context, + _instance: null, + version, + get config() { + return context.config; + }, + set config(v) { + }, + use(plugin, ...options) { + if (installedPlugins.has(plugin)) ; + else if (plugin && isFunction(plugin.install)) { + installedPlugins.add(plugin); + plugin.install(app, ...options); + } else if (isFunction(plugin)) { + installedPlugins.add(plugin); + plugin(app, ...options); + } else ; + return app; + }, + mixin(mixin) { + { + if (!context.mixins.includes(mixin)) { + context.mixins.push(mixin); + } + } + return app; + }, + component(name, component) { + if (!component) { + return context.components[name]; + } + context.components[name] = component; + return app; + }, + directive(name, directive) { + if (!directive) { + return context.directives[name]; + } + context.directives[name] = directive; + return app; + }, + mount(rootContainer, isHydrate, namespace) { + if (!isMounted) { + const vnode = app._ceVNode || createVNode(rootComponent, rootProps); + vnode.appContext = context; + if (namespace === true) { + namespace = "svg"; + } else if (namespace === false) { + namespace = void 0; + } + if (isHydrate && hydrate) { + hydrate(vnode, rootContainer); + } else { + render(vnode, rootContainer, namespace); + } + isMounted = true; + app._container = rootContainer; + rootContainer.__vue_app__ = app; + return getComponentPublicInstance(vnode.component); + } + }, + onUnmount(cleanupFn) { + pluginCleanupFns.push(cleanupFn); + }, + unmount() { + if (isMounted) { + callWithAsyncErrorHandling( + pluginCleanupFns, + app._instance, + 16 + ); + render(null, app._container); + delete app._container.__vue_app__; + } + }, + provide(key, value) { + context.provides[key] = value; + return app; + }, + runWithContext(fn) { + const lastApp = currentApp; + currentApp = app; + try { + return fn(); + } finally { + currentApp = lastApp; + } + } + }; + return app; + }; +} +let currentApp = null; +function provide(key, value) { + if (!currentInstance) ; + else { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) { + provides = currentInstance.provides = Object.create(parentProvides); + } + provides[key] = value; + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = currentInstance || currentRenderingInstance; + if (instance || currentApp) { + const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; + } else ; + } +} +const internalObjectProto = {}; +const createInternalObject = () => Object.create(internalObjectProto); +const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto; +function initProps(instance, rawProps, isStateful, isSSR = false) { + const props = {}; + const attrs = createInternalObject(); + instance.propsDefaults = /* @__PURE__ */ Object.create(null); + setFullProps(instance, rawProps, props, attrs); + for (const key in instance.propsOptions[0]) { + if (!(key in props)) { + props[key] = void 0; + } + } + if (isStateful) { + instance.props = isSSR ? props : shallowReactive(props); + } else { + if (!instance.type.props) { + instance.props = attrs; + } else { + instance.props = props; + } + } + instance.attrs = attrs; +} +function updateProps(instance, rawProps, rawPrevProps, optimized) { + const { + props, + attrs, + vnode: { patchFlag } + } = instance; + const rawCurrentProps = toRaw(props); + const [options] = instance.propsOptions; + let hasAttrsChanged = false; + if ( + // always force full diff in dev + // - #1942 if hmr is enabled with sfc component + // - vite#872 non-sfc component used by sfc component + (optimized || patchFlag > 0) && !(patchFlag & 16) + ) { + if (patchFlag & 8) { + const propsToUpdate = instance.vnode.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + let key = propsToUpdate[i]; + if (isEmitListener(instance.emitsOptions, key)) { + continue; + } + const value = rawProps[key]; + if (options) { + if (hasOwn(attrs, key)) { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } else { + const camelizedKey = camelize(key); + props[camelizedKey] = resolvePropValue( + options, + rawCurrentProps, + camelizedKey, + value, + instance, + false + ); + } + } else { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + } else { + if (setFullProps(instance, rawProps, props, attrs)) { + hasAttrsChanged = true; + } + let kebabKey; + for (const key in rawCurrentProps) { + if (!rawProps || // for camelCase + !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case + // and converted to camelCase (#955) + ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) { + if (options) { + if (rawPrevProps && // for camelCase + (rawPrevProps[key] !== void 0 || // for kebab-case + rawPrevProps[kebabKey] !== void 0)) { + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + void 0, + instance, + true + ); + } + } else { + delete props[key]; + } + } + } + if (attrs !== rawCurrentProps) { + for (const key in attrs) { + if (!rawProps || !hasOwn(rawProps, key) && true) { + delete attrs[key]; + hasAttrsChanged = true; + } + } + } + } + if (hasAttrsChanged) { + trigger(instance.attrs, "set", ""); + } +} +function setFullProps(instance, rawProps, props, attrs) { + const [options, needCastKeys] = instance.propsOptions; + let hasAttrsChanged = false; + let rawCastValues; + if (rawProps) { + for (let key in rawProps) { + if (isReservedProp(key)) { + continue; + } + const value = rawProps[key]; + let camelKey; + if (options && hasOwn(options, camelKey = camelize(key))) { + if (!needCastKeys || !needCastKeys.includes(camelKey)) { + props[camelKey] = value; + } else { + (rawCastValues || (rawCastValues = {}))[camelKey] = value; + } + } else if (!isEmitListener(instance.emitsOptions, key)) { + if (!(key in attrs) || value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + if (needCastKeys) { + const rawCurrentProps = toRaw(props); + const castValues = rawCastValues || EMPTY_OBJ; + for (let i = 0; i < needCastKeys.length; i++) { + const key = needCastKeys[i]; + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + castValues[key], + instance, + !hasOwn(castValues, key) + ); + } + } + return hasAttrsChanged; +} +function resolvePropValue(options, props, key, value, instance, isAbsent) { + const opt = options[key]; + if (opt != null) { + const hasDefault = hasOwn(opt, "default"); + if (hasDefault && value === void 0) { + const defaultValue = opt.default; + if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) { + const { propsDefaults } = instance; + if (key in propsDefaults) { + value = propsDefaults[key]; + } else { + const reset = setCurrentInstance(instance); + value = propsDefaults[key] = defaultValue.call( + null, + props + ); + reset(); + } + } else { + value = defaultValue; + } + if (instance.ce) { + instance.ce._setProp(key, value); + } + } + if (opt[ + 0 + /* shouldCast */ + ]) { + if (isAbsent && !hasDefault) { + value = false; + } else if (opt[ + 1 + /* shouldCastTrue */ + ] && (value === "" || value === hyphenate(key))) { + value = true; + } + } + } + return value; +} +const mixinPropsCache = /* @__PURE__ */ new WeakMap(); +function normalizePropsOptions(comp, appContext, asMixin = false) { + const cache = asMixin ? mixinPropsCache : appContext.propsCache; + const cached = cache.get(comp); + if (cached) { + return cached; + } + const raw = comp.props; + const normalized = {}; + const needCastKeys = []; + let hasExtends = false; + if (!isFunction(comp)) { + const extendProps = (raw2) => { + hasExtends = true; + const [props, keys] = normalizePropsOptions(raw2, appContext, true); + extend(normalized, props); + if (keys) needCastKeys.push(...keys); + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendProps); + } + if (comp.extends) { + extendProps(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendProps); + } + } + if (!raw && !hasExtends) { + if (isObject$1(comp)) { + cache.set(comp, EMPTY_ARR); + } + return EMPTY_ARR; + } + if (isArray(raw)) { + for (let i = 0; i < raw.length; i++) { + const normalizedKey = camelize(raw[i]); + if (validatePropName(normalizedKey)) { + normalized[normalizedKey] = EMPTY_OBJ; + } + } + } else if (raw) { + for (const key in raw) { + const normalizedKey = camelize(key); + if (validatePropName(normalizedKey)) { + const opt = raw[key]; + const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt); + const propType = prop.type; + let shouldCast = false; + let shouldCastTrue = true; + if (isArray(propType)) { + for (let index = 0; index < propType.length; ++index) { + const type = propType[index]; + const typeName = isFunction(type) && type.name; + if (typeName === "Boolean") { + shouldCast = true; + break; + } else if (typeName === "String") { + shouldCastTrue = false; + } + } + } else { + shouldCast = isFunction(propType) && propType.name === "Boolean"; + } + prop[ + 0 + /* shouldCast */ + ] = shouldCast; + prop[ + 1 + /* shouldCastTrue */ + ] = shouldCastTrue; + if (shouldCast || hasOwn(prop, "default")) { + needCastKeys.push(normalizedKey); + } + } + } + } + const res = [normalized, needCastKeys]; + if (isObject$1(comp)) { + cache.set(comp, res); + } + return res; +} +function validatePropName(key) { + if (key[0] !== "$" && !isReservedProp(key)) { + return true; + } + return false; +} +const isInternalKey = (key) => key[0] === "_" || key === "$stable"; +const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)]; +const normalizeSlot = (key, rawSlot, ctx) => { + if (rawSlot._n) { + return rawSlot; + } + const normalized = withCtx((...args) => { + if (false) ; + return normalizeSlotValue(rawSlot(...args)); + }, ctx); + normalized._c = false; + return normalized; +}; +const normalizeObjectSlots = (rawSlots, slots, instance) => { + const ctx = rawSlots._ctx; + for (const key in rawSlots) { + if (isInternalKey(key)) continue; + const value = rawSlots[key]; + if (isFunction(value)) { + slots[key] = normalizeSlot(key, value, ctx); + } else if (value != null) { + const normalized = normalizeSlotValue(value); + slots[key] = () => normalized; + } + } +}; +const normalizeVNodeSlots = (instance, children) => { + const normalized = normalizeSlotValue(children); + instance.slots.default = () => normalized; +}; +const assignSlots = (slots, children, optimized) => { + for (const key in children) { + if (optimized || key !== "_") { + slots[key] = children[key]; + } + } +}; +const initSlots = (instance, children, optimized) => { + const slots = instance.slots = createInternalObject(); + if (instance.vnode.shapeFlag & 32) { + const type = children._; + if (type) { + assignSlots(slots, children, optimized); + if (optimized) { + def(slots, "_", type, true); + } + } else { + normalizeObjectSlots(children, slots); + } + } else if (children) { + normalizeVNodeSlots(instance, children); + } +}; +const updateSlots = (instance, children, optimized) => { + const { vnode, slots } = instance; + let needDeletionCheck = true; + let deletionComparisonTarget = EMPTY_OBJ; + if (vnode.shapeFlag & 32) { + const type = children._; + if (type) { + if (optimized && type === 1) { + needDeletionCheck = false; + } else { + assignSlots(slots, children, optimized); + } + } else { + needDeletionCheck = !children.$stable; + normalizeObjectSlots(children, slots); + } + deletionComparisonTarget = children; + } else if (children) { + normalizeVNodeSlots(instance, children); + deletionComparisonTarget = { default: 1 }; + } + if (needDeletionCheck) { + for (const key in slots) { + if (!isInternalKey(key) && deletionComparisonTarget[key] == null) { + delete slots[key]; + } + } + } +}; +const queuePostRenderEffect = queueEffectWithSuspense; +function createRenderer(options) { + return baseCreateRenderer(options); +} +function createHydrationRenderer(options) { + return baseCreateRenderer(options, createHydrationFunctions); +} +function baseCreateRenderer(options, createHydrationFns) { + const target = getGlobalThis(); + target.__VUE__ = true; + const { + insert: hostInsert, + remove: hostRemove, + patchProp: hostPatchProp, + createElement: hostCreateElement, + createText: hostCreateText, + createComment: hostCreateComment, + setText: hostSetText, + setElementText: hostSetElementText, + parentNode: hostParentNode, + nextSibling: hostNextSibling, + setScopeId: hostSetScopeId = NOOP, + insertStaticContent: hostInsertStaticContent + } = options; + const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => { + if (n1 === n2) { + return; + } + if (n1 && !isSameVNodeType(n1, n2)) { + anchor = getNextHostNode(n1); + unmount(n1, parentComponent, parentSuspense, true); + n1 = null; + } + if (n2.patchFlag === -2) { + optimized = false; + n2.dynamicChildren = null; + } + const { type, ref: ref3, shapeFlag } = n2; + switch (type) { + case Text: + processText(n1, n2, container, anchor); + break; + case Comment: + processCommentNode(n1, n2, container, anchor); + break; + case Static: + if (n1 == null) { + mountStaticNode(n2, container, anchor, namespace); + } + break; + case Fragment: + processFragment( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + break; + default: + if (shapeFlag & 1) { + processElement( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 6) { + processComponent( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 64) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else if (shapeFlag & 128) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else ; + } + if (ref3 != null && parentComponent) { + setRef(ref3, n1 && n1.ref, parentSuspense, n2 || n1, !n2); + } + }; + const processText = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateText(n2.children), + container, + anchor + ); + } else { + const el = n2.el = n1.el; + if (n2.children !== n1.children) { + hostSetText(el, n2.children); + } + } + }; + const processCommentNode = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateComment(n2.children || ""), + container, + anchor + ); + } else { + n2.el = n1.el; + } + }; + const mountStaticNode = (n2, container, anchor, namespace) => { + [n2.el, n2.anchor] = hostInsertStaticContent( + n2.children, + container, + anchor, + namespace, + n2.el, + n2.anchor + ); + }; + const moveStaticNode = ({ el, anchor }, container, nextSibling) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostInsert(el, container, nextSibling); + el = next; + } + hostInsert(anchor, container, nextSibling); + }; + const removeStaticNode = ({ el, anchor }) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostRemove(el); + el = next; + } + hostRemove(anchor); + }; + const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + if (n2.type === "svg") { + namespace = "svg"; + } else if (n2.type === "math") { + namespace = "mathml"; + } + if (n1 == null) { + mountElement( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + patchElement( + n1, + n2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + let el; + let vnodeHook; + const { props, shapeFlag, transition, dirs } = vnode; + el = vnode.el = hostCreateElement( + vnode.type, + namespace, + props && props.is, + props + ); + if (shapeFlag & 8) { + hostSetElementText(el, vnode.children); + } else if (shapeFlag & 16) { + mountChildren( + vnode.children, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(vnode, namespace), + slotScopeIds, + optimized + ); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent); + if (props) { + for (const key in props) { + if (key !== "value" && !isReservedProp(key)) { + hostPatchProp(el, key, null, props[key], namespace, parentComponent); + } + } + if ("value" in props) { + hostPatchProp(el, "value", null, props.value, namespace); + } + if (vnodeHook = props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHook, parentComponent, vnode); + } + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + const needCallTransitionHooks = needTransition(parentSuspense, transition); + if (needCallTransitionHooks) { + transition.beforeEnter(el); + } + hostInsert(el, container, anchor); + if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + }; + const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => { + if (scopeId) { + hostSetScopeId(el, scopeId); + } + if (slotScopeIds) { + for (let i = 0; i < slotScopeIds.length; i++) { + hostSetScopeId(el, slotScopeIds[i]); + } + } + if (parentComponent) { + let subTree = parentComponent.subTree; + if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) { + const parentVNode = parentComponent.vnode; + setScopeId( + el, + parentVNode, + parentVNode.scopeId, + parentVNode.slotScopeIds, + parentComponent.parent + ); + } + } + }; + const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => { + for (let i = start; i < children.length; i++) { + const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]); + patch( + null, + child, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const el = n2.el = n1.el; + let { patchFlag, dynamicChildren, dirs } = n2; + patchFlag |= n1.patchFlag & 16; + const oldProps = n1.props || EMPTY_OBJ; + const newProps = n2.props || EMPTY_OBJ; + let vnodeHook; + parentComponent && toggleRecurse(parentComponent, false); + if (vnodeHook = newProps.onVnodeBeforeUpdate) { + invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + } + if (dirs) { + invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate"); + } + parentComponent && toggleRecurse(parentComponent, true); + if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) { + hostSetElementText(el, ""); + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + el, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds + ); + } else if (!optimized) { + patchChildren( + n1, + n2, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds, + false + ); + } + if (patchFlag > 0) { + if (patchFlag & 16) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } else { + if (patchFlag & 2) { + if (oldProps.class !== newProps.class) { + hostPatchProp(el, "class", null, newProps.class, namespace); + } + } + if (patchFlag & 4) { + hostPatchProp(el, "style", oldProps.style, newProps.style, namespace); + } + if (patchFlag & 8) { + const propsToUpdate = n2.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + const key = propsToUpdate[i]; + const prev = oldProps[key]; + const next = newProps[key]; + if (next !== prev || key === "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + } + } + if (patchFlag & 1) { + if (n1.children !== n2.children) { + hostSetElementText(el, n2.children); + } + } + } else if (!optimized && dynamicChildren == null) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } + if ((vnodeHook = newProps.onVnodeUpdated) || dirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated"); + }, parentSuspense); + } + }; + const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => { + for (let i = 0; i < newChildren.length; i++) { + const oldVNode = oldChildren[i]; + const newVNode = newChildren[i]; + const container = ( + // oldVNode may be an errored async setup() component inside Suspense + // which will not have a mounted element + oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent + // of the Fragment itself so it can move its children. + (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement + // which also requires the correct parent container + !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything. + oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : ( + // In other cases, the parent container is not actually used so we + // just pass the block element here to avoid a DOM parentNode call. + fallbackContainer + ) + ); + patch( + oldVNode, + newVNode, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + true + ); + } + }; + const patchProps = (el, oldProps, newProps, parentComponent, namespace) => { + if (oldProps !== newProps) { + if (oldProps !== EMPTY_OBJ) { + for (const key in oldProps) { + if (!isReservedProp(key) && !(key in newProps)) { + hostPatchProp( + el, + key, + oldProps[key], + null, + namespace, + parentComponent + ); + } + } + } + for (const key in newProps) { + if (isReservedProp(key)) continue; + const next = newProps[key]; + const prev = oldProps[key]; + if (next !== prev && key !== "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + if ("value" in newProps) { + hostPatchProp(el, "value", oldProps.value, newProps.value, namespace); + } + } + }; + const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(""); + const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(""); + let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + if (n1 == null) { + hostInsert(fragmentStartAnchor, container, anchor); + hostInsert(fragmentEndAnchor, container, anchor); + mountChildren( + // #10007 + // such fragment like `<>` will be compiled into + // a fragment which doesn't have a children. + // In this case fallback to an empty array + n2.children || [], + container, + fragmentEndAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result + // of renderSlot() with no valid children + n1.dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + container, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + if ( + // #2080 if the stable fragment has a key, it's a