// Populate the sidebar
//
// This is a script, and not included directly in the page, to control the total size of the book.
// The TOC contains an entry for each page, so if each page includes a copy of the TOC,
// the total size of the page becomes O(n**2).
class MDBookSidebarScrollbox extends HTMLElement {
    constructor() {
        super();
    }
    connectedCallback() {
        this.innerHTML = '<ol class="chapter"><li class="chapter-item expanded affix "><a href="index.html">Introduction</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Getting Started</li><li class="chapter-item expanded "><a href="getting-started/index.html"><strong aria-hidden="true">1.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="getting-started/prerequisites.html"><strong aria-hidden="true">2.</strong> Prerequisites</a></li><li class="chapter-item expanded "><a href="getting-started/installation.html"><strong aria-hidden="true">3.</strong> Installation</a></li><li class="chapter-item expanded "><a href="getting-started/quick-start.html"><strong aria-hidden="true">4.</strong> Quick Start</a></li><li class="chapter-item expanded "><a href="getting-started/first-deployment.html"><strong aria-hidden="true">5.</strong> First Deployment</a></li><li class="chapter-item expanded "><a href="getting-started/verification.html"><strong aria-hidden="true">6.</strong> Verification</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Setup &amp; Configuration</li><li class="chapter-item expanded "><a href="setup/index.html"><strong aria-hidden="true">7.</strong> Setup Overview</a></li><li class="chapter-item expanded "><a href="setup/initial-setup.html"><strong aria-hidden="true">8.</strong> Initial Setup</a></li><li class="chapter-item expanded "><a href="setup/workspace-setup.html"><strong aria-hidden="true">9.</strong> Workspace Setup</a></li><li class="chapter-item expanded "><a href="setup/configuration.html"><strong aria-hidden="true">10.</strong> Configuration Management</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">User Guides</li><li class="chapter-item expanded "><a href="guides/index.html"><strong aria-hidden="true">11.</strong> Guides Overview</a></li><li class="chapter-item expanded "><a href="guides/from-scratch.html"><strong aria-hidden="true">12.</strong> From Scratch Guide</a></li><li class="chapter-item expanded "><a href="guides/workspace-management.html"><strong aria-hidden="true">13.</strong> Workspace Management</a></li><li class="chapter-item expanded "><a href="guides/multi-cloud-deployment.html"><strong aria-hidden="true">14.</strong> Multi-Cloud Deployment</a></li><li class="chapter-item expanded "><a href="guides/custom-extensions.html"><strong aria-hidden="true">15.</strong> Custom Extensions</a></li><li class="chapter-item expanded "><a href="guides/disaster-recovery.html"><strong aria-hidden="true">16.</strong> Disaster Recovery</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Infrastructure as Code</li><li class="chapter-item expanded "><a href="infrastructure/index.html"><strong aria-hidden="true">17.</strong> Infrastructure Overview</a></li><li class="chapter-item expanded "><a href="infrastructure/nickel-guide.html"><strong aria-hidden="true">18.</strong> Nickel Guide</a></li><li class="chapter-item expanded "><a href="infrastructure/configuration-system.html"><strong aria-hidden="true">19.</strong> Configuration System</a></li><li class="chapter-item expanded "><a href="infrastructure/schemas-reference.html"><strong aria-hidden="true">20.</strong> Schemas Reference</a></li><li class="chapter-item expanded "><a href="infrastructure/providers.html"><strong aria-hidden="true">21.</strong> Providers</a></li><li class="chapter-item expanded "><a href="infrastructure/task-services.html"><strong aria-hidden="true">22.</strong> Task Services</a></li><li class="chapter-item expanded "><a href="infrastructure/clusters.html"><strong aria-hidden="true">23.</strong> Clusters</a></li><li class="chapter-item expanded "><a href="infrastructure/batch-workflows.html"><strong aria-hidden="true">24.</strong> Batch Workflows</a></li><li class="chapter-item expanded "><a href="infrastructure/version-management.html"><strong aria-hidden="true">25.</strong> Version Management</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Platform Features</li><li class="chapter-item expanded "><a href="features/index.html"><strong aria-hidden="true">26.</strong> Features Overview</a></li><li class="chapter-item expanded "><a href="features/workspace-management.html"><strong aria-hidden="true">27.</strong> Workspace Management</a></li><li class="chapter-item expanded "><a href="features/cli-architecture.html"><strong aria-hidden="true">28.</strong> CLI Architecture</a></li><li class="chapter-item expanded "><a href="features/configuration-system.html"><strong aria-hidden="true">29.</strong> Configuration System</a></li><li class="chapter-item expanded "><a href="features/batch-workflows.html"><strong aria-hidden="true">30.</strong> Batch Workflows</a></li><li class="chapter-item expanded "><a href="features/orchestrator.html"><strong aria-hidden="true">31.</strong> Orchestrator</a></li><li class="chapter-item expanded "><a href="features/interactive-guides.html"><strong aria-hidden="true">32.</strong> Interactive Guides</a></li><li class="chapter-item expanded "><a href="features/test-environment.html"><strong aria-hidden="true">33.</strong> Test Environment</a></li><li class="chapter-item expanded "><a href="features/installer.html"><strong aria-hidden="true">34.</strong> Platform Installer</a></li><li class="chapter-item expanded "><a href="features/security-system.html"><strong aria-hidden="true">35.</strong> Security System</a></li><li class="chapter-item expanded "><a href="features/version-management.html"><strong aria-hidden="true">36.</strong> Version Management</a></li><li class="chapter-item expanded "><a href="features/plugins.html"><strong aria-hidden="true">37.</strong> Nushell Plugins</a></li><li class="chapter-item expanded "><a href="features/multilingual-support.html"><strong aria-hidden="true">38.</strong> Multilingual Support</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Operations</li><li class="chapter-item expanded "><a href="operations/index.html"><strong aria-hidden="true">39.</strong> Operations Overview</a></li><li class="chapter-item expanded "><a href="operations/deployment-modes.html"><strong aria-hidden="true">40.</strong> Deployment Modes</a></li><li class="chapter-item expanded "><a href="operations/service-management.html"><strong aria-hidden="true">41.</strong> Service Management</a></li><li class="chapter-item expanded "><a href="operations/monitoring.html"><strong aria-hidden="true">42.</strong> Monitoring</a></li><li class="chapter-item expanded "><a href="operations/backup-recovery.html"><strong aria-hidden="true">43.</strong> Backup &amp; Recovery</a></li><li class="chapter-item expanded "><a href="operations/upgrade.html"><strong aria-hidden="true">44.</strong> Upgrade</a></li><li class="chapter-item expanded "><a href="operations/troubleshooting.html"><strong aria-hidden="true">45.</strong> Troubleshooting</a></li><li class="chapter-item expanded "><a href="operations/platform-health.html"><strong aria-hidden="true">46.</strong> Platform Health</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Security</li><li class="chapter-item expanded "><a href="security/index.html"><strong aria-hidden="true">47.</strong> Security Overview</a></li><li class="chapter-item expanded "><a href="security/authentication.html"><strong aria-hidden="true">48.</strong> Authentication</a></li><li class="chapter-item expanded "><a href="security/authorization.html"><strong aria-hidden="true">49.</strong> Authorization</a></li><li class="chapter-item expanded "><a href="security/mfa.html"><strong aria-hidden="true">50.</strong> Multi-Factor Authentication</a></li><li class="chapter-item expanded "><a href="security/audit-logging.html"><strong aria-hidden="true">51.</strong> Audit Logging</a></li><li class="chapter-item expanded "><a href="security/kms-guide.html"><strong aria-hidden="true">52.</strong> KMS Guide</a></li><li class="chapter-item expanded "><a href="security/secrets-management.html"><strong aria-hidden="true">53.</strong> Secrets Management</a></li><li class="chapter-item expanded "><a href="security/secretumvault-guide.html"><strong aria-hidden="true">54.</strong> SecretumVault Guide</a></li><li class="chapter-item expanded "><a href="security/encryption.html"><strong aria-hidden="true">55.</strong> Encryption</a></li><li class="chapter-item expanded "><a href="security/secure-communication.html"><strong aria-hidden="true">56.</strong> Secure Communication</a></li><li class="chapter-item expanded "><a href="security/certificate-management.html"><strong aria-hidden="true">57.</strong> Certificate Management</a></li><li class="chapter-item expanded "><a href="security/compliance.html"><strong aria-hidden="true">58.</strong> Compliance</a></li><li class="chapter-item expanded "><a href="security/security-testing.html"><strong aria-hidden="true">59.</strong> Security Testing</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Development</li><li class="chapter-item expanded "><a href="development/index.html"><strong aria-hidden="true">60.</strong> Development Overview</a></li><li class="chapter-item expanded "><a href="development/extension-development.html"><strong aria-hidden="true">61.</strong> Extension Development</a></li><li class="chapter-item expanded "><a href="development/provider-development.html"><strong aria-hidden="true">62.</strong> Provider Development</a></li><li class="chapter-item expanded "><a href="development/plugin-development.html"><strong aria-hidden="true">63.</strong> Plugin Development</a></li><li class="chapter-item expanded "><a href="development/api-guide.html"><strong aria-hidden="true">64.</strong> API Guide</a></li><li class="chapter-item expanded "><a href="development/build-system.html"><strong aria-hidden="true">65.</strong> Build System</a></li><li class="chapter-item expanded "><a href="development/testing.html"><strong aria-hidden="true">66.</strong> Testing</a></li><li class="chapter-item expanded "><a href="development/contributing.html"><strong aria-hidden="true">67.</strong> Contributing</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">API Reference</li><li class="chapter-item expanded "><a href="api-reference/index.html"><strong aria-hidden="true">68.</strong> API Overview</a></li><li class="chapter-item expanded "><a href="api-reference/rest-api.html"><strong aria-hidden="true">69.</strong> REST API</a></li><li class="chapter-item expanded "><a href="api-reference/cli-commands.html"><strong aria-hidden="true">70.</strong> CLI Commands</a></li><li class="chapter-item expanded "><a href="api-reference/nushell-libraries.html"><strong aria-hidden="true">71.</strong> Nushell Libraries</a></li><li class="chapter-item expanded "><a href="api-reference/orchestrator-api.html"><strong aria-hidden="true">72.</strong> Orchestrator API</a></li><li class="chapter-item expanded "><a href="api-reference/control-center-api.html"><strong aria-hidden="true">73.</strong> Control Center API</a></li><li class="chapter-item expanded "><a href="api-reference/examples.html"><strong aria-hidden="true">74.</strong> Examples</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Architecture</li><li class="chapter-item expanded "><a href="architecture/index.html"><strong aria-hidden="true">75.</strong> Architecture Overview</a></li><li class="chapter-item expanded "><a href="architecture/system-overview.html"><strong aria-hidden="true">76.</strong> System Overview</a></li><li class="chapter-item expanded "><a href="architecture/design-principles.html"><strong aria-hidden="true">77.</strong> Design Principles</a></li><li class="chapter-item expanded "><a href="architecture/component-architecture.html"><strong aria-hidden="true">78.</strong> Component Architecture</a></li><li class="chapter-item expanded "><a href="architecture/integration-patterns.html"><strong aria-hidden="true">79.</strong> Integration Patterns</a></li><li class="chapter-item expanded "><a href="architecture/adr/index.html"><strong aria-hidden="true">80.</strong> ADRs</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Examples</li><li class="chapter-item expanded "><a href="examples/index.html"><strong aria-hidden="true">81.</strong> Examples Overview</a></li><li class="chapter-item expanded "><a href="examples/basic-setup.html"><strong aria-hidden="true">82.</strong> Basic Setup</a></li><li class="chapter-item expanded "><a href="examples/multi-cloud.html"><strong aria-hidden="true">83.</strong> Multi-Cloud</a></li><li class="chapter-item expanded "><a href="examples/kubernetes-deployment.html"><strong aria-hidden="true">84.</strong> Kubernetes Deployment</a></li><li class="chapter-item expanded "><a href="examples/custom-workflows.html"><strong aria-hidden="true">85.</strong> Custom Workflows</a></li><li class="chapter-item expanded "><a href="examples/security-examples.html"><strong aria-hidden="true">86.</strong> Security Examples</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">Troubleshooting</li><li class="chapter-item expanded "><a href="troubleshooting/index.html"><strong aria-hidden="true">87.</strong> Troubleshooting Overview</a></li><li class="chapter-item expanded "><a href="troubleshooting/common-issues.html"><strong aria-hidden="true">88.</strong> Common Issues</a></li><li class="chapter-item expanded "><a href="troubleshooting/debug-guide.html"><strong aria-hidden="true">89.</strong> Debug Guide</a></li><li class="chapter-item expanded "><a href="troubleshooting/logs-analysis.html"><strong aria-hidden="true">90.</strong> Logs Analysis</a></li><li class="chapter-item expanded "><a href="troubleshooting/getting-help.html"><strong aria-hidden="true">91.</strong> Getting Help</a></li><li class="chapter-item expanded affix "><li class="spacer"></li><li class="chapter-item expanded affix "><li class="part-title">AI &amp; Machine Learning</li><li class="chapter-item expanded "><a href="ai/index.html"><strong aria-hidden="true">92.</strong> AI Overview</a></li><li class="chapter-item expanded "><a href="ai/ai-architecture.html"><strong aria-hidden="true">93.</strong> AI Architecture</a></li><li class="chapter-item expanded "><a href="ai/typedialog-integration.html"><strong aria-hidden="true">94.</strong> TypeDialog Integration</a></li><li class="chapter-item expanded "><a href="ai/ai-service-crate.html"><strong aria-hidden="true">95.</strong> AI Service Crate</a></li><li class="chapter-item expanded "><a href="ai/rag-and-knowledge.html"><strong aria-hidden="true">96.</strong> RAG &amp; Knowledge Base</a></li><li class="chapter-item expanded "><a href="ai/natural-language-infrastructure.html"><strong aria-hidden="true">97.</strong> Natural Language Infrastructure</a></li></ol>';
        // Set the current, active page, and reveal it if it's hidden
        let current_page = document.location.href.toString().split("#")[0].split("?")[0];
        if (current_page.endsWith("/")) {
            current_page += "index.html";
        }
        var links = Array.prototype.slice.call(this.querySelectorAll("a"));
        var l = links.length;
        for (var i = 0; i < l; ++i) {
            var link = links[i];
            var href = link.getAttribute("href");
            if (href && !href.startsWith("#") && !/^(?:[a-z+]+:)?\/\//.test(href)) {
                link.href = path_to_root + href;
            }
            // The "index" page is supposed to alias the first chapter in the book.
            if (link.href === current_page || (i === 0 && path_to_root === "" && current_page.endsWith("/index.html"))) {
                link.classList.add("active");
                var parent = link.parentElement;
                if (parent && parent.classList.contains("chapter-item")) {
                    parent.classList.add("expanded");
                }
                while (parent) {
                    if (parent.tagName === "LI" && parent.previousElementSibling) {
                        if (parent.previousElementSibling.classList.contains("chapter-item")) {
                            parent.previousElementSibling.classList.add("expanded");
                        }
                    }
                    parent = parent.parentElement;
                }
            }
        }
        // Track and set sidebar scroll position
        this.addEventListener('click', function(e) {
            if (e.target.tagName === 'A') {
                sessionStorage.setItem('sidebar-scroll', this.scrollTop);
            }
        }, { passive: true });
        var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
        sessionStorage.removeItem('sidebar-scroll');
        if (sidebarScrollTop) {
            // preserve sidebar scroll position when navigating via links within sidebar
            this.scrollTop = sidebarScrollTop;
        } else {
            // scroll sidebar to current active section when navigating via "next/previous chapter" buttons
            var activeSection = document.querySelector('#sidebar .active');
            if (activeSection) {
                activeSection.scrollIntoView({ block: 'center' });
            }
        }
        // Toggle buttons
        var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle');
        function toggleSection(ev) {
            ev.currentTarget.parentElement.classList.toggle('expanded');
        }
        Array.from(sidebarAnchorToggles).forEach(function (el) {
            el.addEventListener('click', toggleSection);
        });
    }
}
window.customElements.define("mdbook-sidebar-scrollbox", MDBookSidebarScrollbox);
