diff --git a/.buildinfo b/.buildinfo index 2ec2c85e3..6bf4ef89d 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 55f4313f1462002f8853e4c27fbeee14 +config: 08d6923da2557ca15bdd16157badbbdd tags: d77d1c0d9ca2f4c8421862c7c5a0d620 diff --git a/404.html b/404.html index 43e301757..d694c13f5 100644 --- a/404.html +++ b/404.html @@ -15,7 +15,7 @@ 404 - Page Not Found - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -561,11 +560,7 @@
- - - - - +
diff --git a/README/index.html b/README/index.html index d2775c694..f46712266 100644 --- a/README/index.html +++ b/README/index.html @@ -15,7 +15,7 @@ Gymnasium-docs - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -604,11 +603,7 @@
- - - - - +
diff --git a/_static/scripts/furo.js.map b/_static/scripts/furo.js.map index f26f5c842..8a9399fa8 100644 --- a/_static/scripts/furo.js.map +++ b/_static/scripts/furo.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts/furo.js","mappings":"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","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelectorAll(\"header\")[1];\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"scripts/furo.js","mappings":"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","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelectorAll(\"header\")[1];\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/furo-extensions.css b/_static/styles/furo-extensions.css index 136e74319..6fc6d5dcd 100644 --- a/_static/styles/furo-extensions.css +++ b/_static/styles/furo-extensions.css @@ -1,2 +1,2 @@ -#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)}h1{font-size:2.2rem}h2{font-size:1.7rem}h3{font-size:1.4rem}.cookie-alert{background-color:var(--color-background-secondary);border-top:1px solid var(--color-background-border);bottom:0;color:var(--color-foreground-primary);display:flex;left:0;min-height:70px;position:fixed;width:100%;z-index:99999}.cookie-alert__container{align-items:center;display:flex;margin:auto;max-width:calc(100% - 28px);width:700px}.cookie-alert p{flex:1}.cookie-alert button{background-color:transparent;border:none;cursor:pointer;height:26px;padding:0;width:26px}.cookie-alert button svg .cls-1{stroke:var(--color-foreground-primary)}.cookie-alert button svg{width:100%}.farama-env-icon-container{margin-bottom:-18px;margin-top:24px}.farama-env-icon-container:has(+div>h1),.farama-env-icon-container:has(+div>h2){margin-bottom:-24px}.farama-env-icon{height:32px}.env-grid{box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:center;width:100%}.env-grid__cell{display:flex;flex-direction:column;height:180px;padding:10px;width:180px}.cell__image-container{display:flex;height:148px;justify-content:center}.cell__image-container img{max-height:100%;-o-object-fit:contain;object-fit:contain}.cell__title{align-items:flex-end;display:flex;height:32px;justify-content:center;line-height:16px;text-align:center}.more-btn{display:block;margin:12px auto;width:240px}html:has(.farama-header-menu.active){overflow:hidden}.farama-header{--farama-header-height:52px;background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-header-border);box-sizing:border-box;display:flex;height:var(--farama-header-height);padding:0 36px 0 24px;position:relative;width:100%}.farama-header .farama-header__container{display:flex;margin:0 auto;max-width:1400px;width:100%}.farama-header a{color:var(--color-foreground-primary);text-decoration:none;transition:color .125s ease}.farama-header a:hover{color:var(--color-foreground-secondary)}.farama-header .farama-header__logo{--farama-header-logo-margin:10px;margin:var(--farama-header-logo-margin);max-height:calc(var(--farama-header-height) - var(--farama-header-logo-margin))}.farama-header .farama-header__title{align-self:center;font-size:var(--font-size--normal);font-weight:400;margin:0 0 2px;padding:0 0 0 4px}.farama-header .farama-header__left,.farama-header .farama-header__left a{display:flex}.farama-header .farama-header__right{align-items:center;display:flex;flex:1;justify-content:flex-end}.farama-header .farama-header__right .farama-header__nav{display:flex;height:100%;list-style:none}.farama-header .farama-header__right .farama-header__nav li{align-items:center;cursor:pointer;display:flex;margin-left:20px;text-decoration:none}.farama-header .farama-header__right .farama-header__nav li a{align-items:center;display:flex;height:100%}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container{align-items:center;display:flex;height:100%;position:relative}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container:hover .farama-header__dropdown-menu{display:block}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container svg{fill:var(--color-foreground-primary);width:32px}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container .farama-header__dropdown-menu{background:var(--color-background-hover);border:1px solid var(--color-background-border);display:none;position:absolute;right:0;top:var(--farama-header-height);z-index:9999}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container .farama-header__dropdown-menu ul{display:inherit;margin:0;padding:6px 14px}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container .farama-header__dropdown-menu li{margin:0;padding:6px 0}.farama-header .farama-header__right .farama-header-menu{display:flex;justify-content:center;position:relative}.farama-header .farama-header__right .farama-header-menu .farama-header-menu__btn{cursor:pointer;display:flex}.farama-header .farama-header__right .farama-header-menu .farama-header-menu__btn .farama-header-menu__btn-name{color:var(--color-foreground-primary);cursor:pointer;font-size:14px;line-height:18px;padding-right:6px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu__btn svg{fill:var(--color-foreground-primary);width:20px}.farama-header .farama-header__right .farama-header-menu.active .farama-header-menu-container{transform:translateY(100vh)}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container{background-color:var(--color-background-secondary);border-left:1px solid var(--color-background-border);box-sizing:border-box;height:100%;overflow:auto;position:fixed;right:0;top:-100vh;transform:translateY(0);transition:transform .2s ease-in;width:100%;z-index:99}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header{align-items:center;border-bottom:1px solid var(--color-background-border);box-sizing:border-box;display:flex;margin:0 auto;max-width:1400px;padding:7px 52px;position:relative;width:100%}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header a{align-items:center;display:flex}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header a .farama-header-menu__logo{width:36px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header a span{color:var(--color-sidebar-brand-text);padding-left:8px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button{background:none;border:none;cursor:pointer;display:flex;outline:none;padding-right:inherit;position:absolute;right:0}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button:active,.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button:focus{outline:none}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button svg{color:var(--color-foreground-primary);width:20px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body{box-sizing:border-box;display:flex;flex-wrap:wrap;margin:0 auto;max-width:1400px;padding:22px 52px;width:100%}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section{margin-bottom:24px;min-width:250px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu__section-title{display:block;font-size:var(--font-size--normal);font-weight:700;margin-bottom:12px;text-transform:uppercase}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list{display:inherit;list-style:none;margin:0;padding:0}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li:hover{background-color:var(--color-background-hover)}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li a{align-items:center;display:flex;padding:12px 18px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li a:hover{color:inherit}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li a img{margin-right:10px;width:24px}.farama-header-menu__overlay{background-color:rgba(0,0,0,.54);height:0;left:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0;z-index:98}.farama-header-menu__overlay.active{height:100vh;opacity:1;width:100vw}.sidebar-brand{align-items:center;flex-direction:row;padding:var(--sidebar-item-spacing-vertical)}.sidebar-brand .sidebar-logo-container{display:flex;height:auto;max-width:55px}.sidebar-brand .sidebar-brand-text{font-size:1.3rem;padding-left:11px}.mobile-header .header-center{opacity:0;transition:opacity easy-in .2s}.mobile-header.scrolled .header-center{opacity:1}@media(max-width:950px){.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header{padding:7px 42px}}@media(max-width:600px){.farama-header{padding:0 4px}.farama-header .farama-header__title{font-size:var(--font-size--small)}.farama-header .farama-header__right .farama-header__nav{display:none}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header{padding:8px 12px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body{padding:18px 12px}}@media(max-width:480px){.farama-header .farama-header__title{width:110px}.farama-header .farama-header-menu__btn-name{text-align:right;width:100px}}body[data-theme=light] .farama-header-menu__logo{filter:invert(1)}body[data-theme=dark] img[src*="//render.githubusercontent.com/render/math"]{filter:invert(90%)} +#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)}h1{font-size:2.2rem}h2{font-size:1.7rem}h3{font-size:1.4rem}.cookie-alert{background-color:var(--color-background-secondary);border-top:1px solid var(--color-background-border);bottom:0;color:var(--color-foreground-primary);display:flex;left:0;min-height:70px;position:fixed;width:100%;z-index:99999}.cookie-alert__container{align-items:center;display:flex;margin:auto;max-width:calc(100% - 28px);width:700px}.cookie-alert p{flex:1}.cookie-alert button{background-color:transparent;border:none;cursor:pointer;height:26px;padding:0;width:26px}.cookie-alert button svg .cls-1{stroke:var(--color-foreground-primary)}.cookie-alert button svg{width:100%}.farama-env-icon-container{margin-bottom:-18px;margin-top:24px}.farama-env-icon-container:has(+div>h1),.farama-env-icon-container:has(+div>h2){margin-bottom:-24px}.farama-env-icon{height:32px}.env-grid{box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:center;width:100%}.env-grid__cell{display:flex;flex-direction:column;height:180px;padding:10px;width:180px}.cell__image-container{display:flex;height:148px;justify-content:center}.cell__image-container img{max-height:100%;-o-object-fit:contain;object-fit:contain}.cell__title{align-items:flex-end;display:flex;height:32px;justify-content:center;line-height:16px;text-align:center}.more-btn{display:block;margin:12px auto;width:240px}html:has(.farama-header-menu.active){overflow:hidden}.farama-header{--farama-header-height:52px;background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-header-border);box-sizing:border-box;display:flex;height:var(--farama-header-height);padding:0 36px 0 24px;position:relative;width:100%}.farama-header .farama-header__container{display:flex;margin:0 auto;max-width:1400px;width:100%}.farama-header a{color:var(--color-foreground-primary);text-decoration:none;transition:color .125s ease}.farama-header a:hover{color:var(--color-foreground-secondary)}.farama-header .farama-header__logo{--farama-header-logo-margin:10px;margin:var(--farama-header-logo-margin);max-height:calc(var(--farama-header-height) - var(--farama-header-logo-margin))}.farama-header .farama-header__title{align-self:center;font-size:var(--font-size--normal);font-weight:400;margin:0 0 2px;padding:0 0 0 4px}.farama-header .farama-header__left,.farama-header .farama-header__left a{display:flex}.farama-header .farama-header__right{align-items:center;display:flex;flex:1;justify-content:flex-end}.farama-header .farama-header__right .farama-header__nav{display:flex;height:100%;list-style:none}.farama-header .farama-header__right .farama-header__nav li{align-items:center;cursor:pointer;display:flex;margin-left:20px;text-decoration:none}.farama-header .farama-header__right .farama-header__nav li a{align-items:center;display:flex;height:100%}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container{align-items:center;display:flex;height:100%;position:relative}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container:hover .farama-header__dropdown-menu{display:block}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container svg{fill:var(--color-foreground-primary);width:32px}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container .farama-header__dropdown-menu{background:var(--color-background-hover);border:1px solid var(--color-background-border);display:none;position:absolute;right:0;top:var(--farama-header-height);z-index:9999}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container .farama-header__dropdown-menu ul{display:inherit;margin:0;padding:6px 14px}.farama-header .farama-header__right .farama-header__nav li .farama-header__dropdown-container .farama-header__dropdown-menu li{margin:0;padding:6px 0}.farama-header .farama-header__right .farama-header-menu{display:flex;justify-content:center;position:relative}.farama-header .farama-header__right .farama-header-menu .farama-header-menu__btn{cursor:pointer;display:flex}.farama-header .farama-header__right .farama-header-menu .farama-header-menu__btn .farama-header-menu__btn-name{color:var(--color-foreground-primary);cursor:pointer;font-size:14px;line-height:18px;padding-right:6px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu__btn svg{fill:var(--color-foreground-primary);width:20px}.farama-header .farama-header__right .farama-header-menu.active .farama-header-menu-container{transform:translateY(100vh)}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container{background-color:var(--color-background-secondary);border-left:1px solid var(--color-background-border);box-sizing:border-box;height:100%;overflow:auto;position:fixed;right:0;top:-100vh;transform:translateY(0);transition:transform .2s ease-in;width:100%;z-index:99}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header{align-items:center;border-bottom:1px solid var(--color-background-border);box-sizing:border-box;display:flex;margin:0 auto;max-width:1400px;padding:7px 52px;position:relative;width:100%}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header a{align-items:center;display:flex}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header a .farama-header-menu__logo{width:36px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header a span{color:var(--color-sidebar-brand-text);padding-left:8px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button{background:none;border:none;cursor:pointer;display:flex;outline:none;padding-right:inherit;position:absolute;right:0}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button:active,.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button:focus{outline:none}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header button svg{color:var(--color-foreground-primary);width:20px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body{box-sizing:border-box;display:flex;flex-wrap:wrap;margin:0 auto;max-width:1400px;padding:22px 52px;width:100%}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section{margin-bottom:24px;min-width:250px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu__section-title{display:block;font-size:var(--font-size--normal);font-weight:700;margin-bottom:12px;text-transform:uppercase}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list{display:inherit;list-style:none;margin:0;padding:0}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li:hover{background-color:var(--color-background-hover)}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li a{align-items:center;display:flex;padding:12px 18px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li a:hover{color:inherit}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body .farama-header-menu__section .farama-header-menu-list li a img{margin-right:10px;width:24px}.farama-header-menu__overlay{background-color:rgba(0,0,0,.54);height:0;left:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0;z-index:98}.farama-header-menu__overlay.active{height:100vh;opacity:1;width:100vw}.sidebar-brand{align-items:center;flex-direction:row;padding:var(--sidebar-item-spacing-vertical)}.sidebar-brand .sidebar-logo-container{display:flex;height:auto;max-width:55px}.sidebar-brand .sidebar-brand-text{font-size:1.3rem;padding-left:11px}.mobile-header .header-center{opacity:0;transition:opacity easy-in .2s}.mobile-header.scrolled .header-center{opacity:1}.sphx-glr-script-out{color:var(--color-foreground-secondary);display:flex;gap:.5em}.sphx-glr-script-out:before{content:"Out:";line-height:1.4;padding-top:10px}.sphx-glr-script-out .highlight{overflow-x:auto}@media(max-width:950px){.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header{padding:7px 42px}}@media(max-width:600px){.farama-header{padding:0 4px}.farama-header .farama-header__title{font-size:var(--font-size--small)}.farama-header .farama-header__right .farama-header__nav{display:none}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header{padding:8px 12px}.farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__body{padding:18px 12px}}@media(max-width:480px){.farama-header .farama-header__title{width:110px}.farama-header .farama-header-menu__btn-name{text-align:right;width:100px}}body[data-theme=light] .farama-header-menu__logo{filter:invert(1)}body[data-theme=dark] img[src*="//render.githubusercontent.com/render/math"]{filter:invert(90%)} /*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo-extensions.css.map b/_static/styles/furo-extensions.css.map index 619652885..f43c35da7 100644 --- a/_static/styles/furo-extensions.css.map +++ b/_static/styles/furo-extensions.css.map @@ -1 +1 @@ -{"version":3,"file":"styles/furo-extensions.css","mappings":"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","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass","webpack:///./src/furo/assets/styles/extensions/_farama.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n","// Farama Base\n\nh1\n font-size: 2.2rem\nh2\n font-size: 1.7rem\nh3\n font-size: 1.4rem\n\n// Cookies Alert\n\n.cookie-alert\n position: fixed\n display: flex\n width: 100%\n min-height: 70px\n background-color: var(--color-background-secondary)\n color: var(--color-foreground-primary)\n border-top: 1px solid var(--color-background-border)\n bottom: 0\n left: 0\n z-index: 99999\n\n.cookie-alert__container\n display: flex\n align-items: center\n width: 700px\n max-width: calc(100% - 28px)\n margin: auto\n\n.cookie-alert p\n flex: 1\n\n.cookie-alert button\n background-color: transparent\n border: none\n width: 26px\n height: 26px\n padding: 0\n cursor: pointer\n\n.cookie-alert button svg .cls-1\n stroke: var(--color-foreground-primary)\n\n.cookie-alert button svg\n width: 100%\n\n// Env Icons\n\n.farama-env-icon-container\n margin-top: 24px\n margin-bottom: -18px\n\n.farama-env-icon-container:has(+ div > h1),\n.farama-env-icon-container:has(+ div > h2)\n margin-bottom: -24px\n\n.farama-env-icon\n height: 32px\n\n// Envinronments grid\n\n.env-grid\n display: flex\n flex-wrap: wrap\n justify-content: center\n width: 100%\n box-sizing: border-box\n\n.env-grid__cell\n display: flex\n flex-direction: column\n width: 180px\n height: 180px\n padding: 10px\n\n.cell__image-container\n display: flex\n height: 148px\n justify-content: center\n\n.cell__image-container img\n max-height: 100%\n object-fit: contain\n\n.cell__title\n display: flex\n justify-content: center\n text-align: center\n align-items: flex-end\n height: 32px\n line-height: 16px\n\n.more-btn\n width: 240px\n margin: 12px auto\n display: block\n\n// Farama Header\n\nhtml:has(.farama-header-menu.active)\n overflow: hidden\n\n.farama-header\n --farama-header-height: 52px\n position: relative\n display: flex\n width: 100%\n height: var(--farama-header-height)\n border-bottom: 1px solid var(--color-header-border)\n background-color: var(--color-background-secondary)\n padding: 0 36px 0 24px\n box-sizing: border-box\n\n .farama-header__container\n width: 100%\n max-width: 1400px\n display: flex\n margin: 0 auto\n\n a\n color: var(--color-foreground-primary)\n text-decoration: none\n transition: color 0.125s ease\n\n &:hover\n color: var(--color-foreground-secondary)\n\n .farama-header__logo\n --farama-header-logo-margin: 10px\n max-height: calc(var(--farama-header-height) - var(--farama-header-logo-margin))\n margin: var(--farama-header-logo-margin)\n\n .farama-header__title\n font-size: var(--font-size--normal)\n font-weight: normal\n margin: 0 0 2px 0\n padding: 0 0 0 4px\n align-self: center\n\n .farama-header__left\n display: flex\n\n a\n display: flex\n\n .farama-header__right\n display: flex\n align-items: center\n justify-content: flex-end\n flex: 1\n\n .farama-header__nav\n display: flex\n list-style: none\n height: 100%\n\n li\n text-decoration: none\n margin-left: 20px\n display: flex\n align-items: center\n cursor: pointer\n\n a\n height: 100%\n display: flex\n align-items: center\n\n .farama-header__dropdown-container\n position: relative\n display: flex\n align-items: center\n height: 100%\n\n &:hover\n .farama-header__dropdown-menu\n display: block\n\n svg\n width: 32px\n fill: var(--color-foreground-primary)\n\n .farama-header__dropdown-menu\n position: absolute\n top: var(--farama-header-height)\n right: 0\n border: 1px solid var(--color-background-border)\n background: var(--color-background-hover)\n z-index: 9999\n display: none\n\n ul\n display: inherit\n margin: 0\n padding: 6px 14px\n\n li\n margin: 0\n padding: 6px 0\n\n .farama-header-menu\n position: relative\n display: flex\n justify-content: center\n\n .farama-header-menu__btn\n display: flex\n cursor: pointer\n\n .farama-header-menu__btn-name\n color: var(--color-foreground-primary)\n padding-right: 6px\n cursor: pointer\n font-size: 14px\n line-height: 18px\n\n svg\n width: 20px\n fill: var(--color-foreground-primary)\n\n &.active .farama-header-menu-container\n transform: translateY(100vh)\n\n .farama-header-menu-container\n position: fixed\n z-index: 99\n right: 0\n top: -100vh\n width: 100%\n height: calc(100vh - calc(100vh - 100%))\n transform: translateY(0)\n box-sizing: border-box\n transition: transform 0.2s ease-in\n background-color: var(--color-background-secondary)\n border-left: 1px solid var(--color-background-border)\n overflow: auto\n\n .farama-header-menu__header\n position: relative\n width: 100%\n max-width: 1400px\n box-sizing: border-box\n margin: 0 auto\n padding: 7px 52px\n border-bottom: 1px solid var(--color-background-border)\n display: flex\n align-items: center\n\n a\n display: flex\n align-items: center\n\n .farama-header-menu__logo\n width: 36px\n\n span\n color: var(--color-sidebar-brand-text)\n padding-left: 8px\n\n button\n position: absolute\n display: flex\n background: none\n outline: none\n border: none\n cursor: pointer\n padding-right: inherit\n right: 0\n\n &:active, &:focus\n outline: none\n\n svg\n width: 20px\n color: var(--color-foreground-primary)\n\n .farama-header-menu__body\n display: flex\n width: 100%\n max-width: 1400px\n padding: 22px 52px\n box-sizing: border-box\n margin: 0 auto\n flex-wrap: wrap\n\n .farama-header-menu__section\n min-width: 250px\n margin-bottom: 24px\n\n .farama-header-menu__section-title\n display: block\n font-size: var(--font-size--normal)\n font-weight: bold\n text-transform: uppercase\n margin-bottom: 12px\n\n .farama-header-menu-list\n display: inherit\n margin: 0\n padding: 0\n list-style: none\n\n li\n\n &:hover\n background-color: var(--color-background-hover)\n\n a\n display: flex\n padding: 12px 18px\n align-items: center\n\n &:hover\n color: inherit\n\n img\n width: 24px\n margin-right: 10px\n\n.farama-header-menu__overlay\n position: fixed\n top: 0\n left: 0\n width: 0\n height: 0\n opacity: 0\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n background-color: rgba(0, 0, 0, 0.54)\n z-index: 98\n\n &.active\n width: 100vw\n height: 100vh\n opacity: 1\n\n.sidebar-brand\n flex-direction: row\n padding: var(--sidebar-item-spacing-vertical)\n align-items: center\n\n .sidebar-logo-container\n display: flex\n max-width: 55px\n height: auto\n\n .sidebar-brand-text\n font-size: 1.3rem\n padding-left: 11px\n\n.mobile-header\n .header-center\n transition: opacity 0.2s easy-in\n opacity: 0\n\n.mobile-header.scrolled\n .header-center\n opacity: 1\n\n@media (max-width: 950px)\n .farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header\n padding: 7px 42px\n\n@media (max-width: 600px)\n .farama-header\n padding: 0 4px\n\n .farama-header__title\n font-size: var(--font-size--small)\n\n .farama-header__right\n .farama-header__nav\n display: none\n\n .farama-header-menu\n .farama-header-menu-container\n .farama-header-menu__header\n padding: 8px 12px\n .farama-header-menu__body\n padding: 18px 12px\n\n@media (max-width: 480px)\n .farama-header\n .farama-header__title\n width: 110px\n\n .farama-header-menu__btn-name\n text-align: right\n width: 100px\n\nbody[data-theme=\"light\"]\n .farama-header-menu__logo\n filter: invert(1)\n\n// Github math render\n\nbody[data-theme=\"dark\"]\n\n img[src*=\"//render.githubusercontent.com/render/math\"]\n filter: invert(90%)\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"styles/furo-extensions.css","mappings":"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","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass","webpack:///./src/furo/assets/styles/extensions/_farama.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n","// Farama Base\n\nh1\n font-size: 2.2rem\nh2\n font-size: 1.7rem\nh3\n font-size: 1.4rem\n\n// Cookies Alert\n\n.cookie-alert\n position: fixed\n display: flex\n width: 100%\n min-height: 70px\n background-color: var(--color-background-secondary)\n color: var(--color-foreground-primary)\n border-top: 1px solid var(--color-background-border)\n bottom: 0\n left: 0\n z-index: 99999\n\n.cookie-alert__container\n display: flex\n align-items: center\n width: 700px\n max-width: calc(100% - 28px)\n margin: auto\n\n.cookie-alert p\n flex: 1\n\n.cookie-alert button\n background-color: transparent\n border: none\n width: 26px\n height: 26px\n padding: 0\n cursor: pointer\n\n.cookie-alert button svg .cls-1\n stroke: var(--color-foreground-primary)\n\n.cookie-alert button svg\n width: 100%\n\n// Env Icons\n\n.farama-env-icon-container\n margin-top: 24px\n margin-bottom: -18px\n\n.farama-env-icon-container:has(+ div > h1),\n.farama-env-icon-container:has(+ div > h2)\n margin-bottom: -24px\n\n.farama-env-icon\n height: 32px\n\n// Envinronments grid\n\n.env-grid\n display: flex\n flex-wrap: wrap\n justify-content: center\n width: 100%\n box-sizing: border-box\n\n.env-grid__cell\n display: flex\n flex-direction: column\n width: 180px\n height: 180px\n padding: 10px\n\n.cell__image-container\n display: flex\n height: 148px\n justify-content: center\n\n.cell__image-container img\n max-height: 100%\n object-fit: contain\n\n.cell__title\n display: flex\n justify-content: center\n text-align: center\n align-items: flex-end\n height: 32px\n line-height: 16px\n\n.more-btn\n width: 240px\n margin: 12px auto\n display: block\n\n// Farama Header\n\nhtml:has(.farama-header-menu.active)\n overflow: hidden\n\n.farama-header\n --farama-header-height: 52px\n position: relative\n display: flex\n width: 100%\n height: var(--farama-header-height)\n border-bottom: 1px solid var(--color-header-border)\n background-color: var(--color-background-secondary)\n padding: 0 36px 0 24px\n box-sizing: border-box\n\n .farama-header__container\n width: 100%\n max-width: 1400px\n display: flex\n margin: 0 auto\n\n a\n color: var(--color-foreground-primary)\n text-decoration: none\n transition: color 0.125s ease\n\n &:hover\n color: var(--color-foreground-secondary)\n\n .farama-header__logo\n --farama-header-logo-margin: 10px\n max-height: calc(var(--farama-header-height) - var(--farama-header-logo-margin))\n margin: var(--farama-header-logo-margin)\n\n .farama-header__title\n font-size: var(--font-size--normal)\n font-weight: normal\n margin: 0 0 2px 0\n padding: 0 0 0 4px\n align-self: center\n\n .farama-header__left\n display: flex\n\n a\n display: flex\n\n .farama-header__right\n display: flex\n align-items: center\n justify-content: flex-end\n flex: 1\n\n .farama-header__nav\n display: flex\n list-style: none\n height: 100%\n\n li\n text-decoration: none\n margin-left: 20px\n display: flex\n align-items: center\n cursor: pointer\n\n a\n height: 100%\n display: flex\n align-items: center\n\n .farama-header__dropdown-container\n position: relative\n display: flex\n align-items: center\n height: 100%\n\n &:hover\n .farama-header__dropdown-menu\n display: block\n\n svg\n width: 32px\n fill: var(--color-foreground-primary)\n\n .farama-header__dropdown-menu\n position: absolute\n top: var(--farama-header-height)\n right: 0\n border: 1px solid var(--color-background-border)\n background: var(--color-background-hover)\n z-index: 9999\n display: none\n\n ul\n display: inherit\n margin: 0\n padding: 6px 14px\n\n li\n margin: 0\n padding: 6px 0\n\n .farama-header-menu\n position: relative\n display: flex\n justify-content: center\n\n .farama-header-menu__btn\n display: flex\n cursor: pointer\n\n .farama-header-menu__btn-name\n color: var(--color-foreground-primary)\n padding-right: 6px\n cursor: pointer\n font-size: 14px\n line-height: 18px\n\n svg\n width: 20px\n fill: var(--color-foreground-primary)\n\n &.active .farama-header-menu-container\n transform: translateY(100vh)\n\n .farama-header-menu-container\n position: fixed\n z-index: 99\n right: 0\n top: -100vh\n width: 100%\n height: calc(100vh - calc(100vh - 100%))\n transform: translateY(0)\n box-sizing: border-box\n transition: transform 0.2s ease-in\n background-color: var(--color-background-secondary)\n border-left: 1px solid var(--color-background-border)\n overflow: auto\n\n .farama-header-menu__header\n position: relative\n width: 100%\n max-width: 1400px\n box-sizing: border-box\n margin: 0 auto\n padding: 7px 52px\n border-bottom: 1px solid var(--color-background-border)\n display: flex\n align-items: center\n\n a\n display: flex\n align-items: center\n\n .farama-header-menu__logo\n width: 36px\n\n span\n color: var(--color-sidebar-brand-text)\n padding-left: 8px\n\n button\n position: absolute\n display: flex\n background: none\n outline: none\n border: none\n cursor: pointer\n padding-right: inherit\n right: 0\n\n &:active, &:focus\n outline: none\n\n svg\n width: 20px\n color: var(--color-foreground-primary)\n\n .farama-header-menu__body\n display: flex\n width: 100%\n max-width: 1400px\n padding: 22px 52px\n box-sizing: border-box\n margin: 0 auto\n flex-wrap: wrap\n\n .farama-header-menu__section\n min-width: 250px\n margin-bottom: 24px\n\n .farama-header-menu__section-title\n display: block\n font-size: var(--font-size--normal)\n font-weight: bold\n text-transform: uppercase\n margin-bottom: 12px\n\n .farama-header-menu-list\n display: inherit\n margin: 0\n padding: 0\n list-style: none\n\n li\n\n &:hover\n background-color: var(--color-background-hover)\n\n a\n display: flex\n padding: 12px 18px\n align-items: center\n\n &:hover\n color: inherit\n\n img\n width: 24px\n margin-right: 10px\n\n.farama-header-menu__overlay\n position: fixed\n top: 0\n left: 0\n width: 0\n height: 0\n opacity: 0\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n background-color: rgba(0, 0, 0, 0.54)\n z-index: 98\n\n &.active\n width: 100vw\n height: 100vh\n opacity: 1\n\n.sidebar-brand\n flex-direction: row\n padding: var(--sidebar-item-spacing-vertical)\n align-items: center\n\n .sidebar-logo-container\n display: flex\n max-width: 55px\n height: auto\n\n .sidebar-brand-text\n font-size: 1.3rem\n padding-left: 11px\n\n.mobile-header\n .header-center\n transition: opacity 0.2s easy-in\n opacity: 0\n\n.mobile-header.scrolled\n .header-center\n opacity: 1\n\n// Sphinx Gallery\n\n.sphx-glr-script-out\n color: var(--color-foreground-secondary)\n display: flex\n gap: 0.5em\n\n.sphx-glr-script-out::before\n content: \"Out:\"\n line-height: 1.4\n padding-top: 10px\n\n.sphx-glr-script-out .highlight\n overflow-x: auto\n\n@media (max-width: 950px)\n .farama-header .farama-header__right .farama-header-menu .farama-header-menu-container .farama-header-menu__header\n padding: 7px 42px\n\n@media (max-width: 600px)\n .farama-header\n padding: 0 4px\n\n .farama-header__title\n font-size: var(--font-size--small)\n\n .farama-header__right\n .farama-header__nav\n display: none\n\n .farama-header-menu\n .farama-header-menu-container\n .farama-header-menu__header\n padding: 8px 12px\n .farama-header-menu__body\n padding: 18px 12px\n\n@media (max-width: 480px)\n .farama-header\n .farama-header__title\n width: 110px\n\n .farama-header-menu__btn-name\n text-align: right\n width: 100px\n\nbody[data-theme=\"light\"]\n .farama-header-menu__logo\n filter: invert(1)\n\n// Github math render\n\nbody[data-theme=\"dark\"]\n\n img[src*=\"//render.githubusercontent.com/render/math\"]\n filter: invert(90%)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/api/env/index.html b/api/env/index.html index 089cda7fe..8fa822092 100644 --- a/api/env/index.html +++ b/api/env/index.html @@ -15,7 +15,7 @@ Env - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -818,11 +817,7 @@ For more information see the environment creation tutorial.

- - - - - +
diff --git a/api/registry/index.html b/api/registry/index.html index cb09a2da4..a618e6ff5 100644 --- a/api/registry/index.html +++ b/api/registry/index.html @@ -15,7 +15,7 @@ Registry - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -682,11 +681,7 @@ This will not include environments registered only in OpenAI Gym however can be
- - - - - +
diff --git a/api/spaces/composite/index.html b/api/spaces/composite/index.html index 53ceabed6..3f8ed919e 100644 --- a/api/spaces/composite/index.html +++ b/api/spaces/composite/index.html @@ -15,7 +15,7 @@ Composite Spaces - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -838,11 +837,7 @@ If no num_edges is provided then the edge_mask is mult
- - - - - +
diff --git a/api/spaces/fundamental/index.html b/api/spaces/fundamental/index.html index b4d2323bf..febebb28e 100644 --- a/api/spaces/fundamental/index.html +++ b/api/spaces/fundamental/index.html @@ -15,7 +15,7 @@ Fundamental Spaces - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -890,11 +889,7 @@ If the charlist mask is all zero then an empty string is returned no matter the
- - - - - +
diff --git a/api/spaces/index.html b/api/spaces/index.html index 7e8aeefe6..5ffeef54f 100644 --- a/api/spaces/index.html +++ b/api/spaces/index.html @@ -15,7 +15,7 @@ Spaces - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -720,11 +719,7 @@ Therefore, Gymnasium provides a number of additional functions used when using a
- - - - - +
diff --git a/api/spaces/utils/index.html b/api/spaces/utils/index.html index e9bc9efe9..da7c9e596 100644 --- a/api/spaces/utils/index.html +++ b/api/spaces/utils/index.html @@ -15,7 +15,7 @@ Spaces Utils - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -803,11 +802,7 @@ that the space diff --git a/api/spaces/vector_utils/index.html b/api/spaces/vector_utils/index.html index c8488149a..c0d461c60 100644 --- a/api/spaces/vector_utils/index.html +++ b/api/spaces/vector_utils/index.html @@ -15,7 +15,7 @@ Spaces Vector Utils - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -872,11 +871,7 @@ This object is created with create_shared_memory.

diff --git a/api/utils/index.html b/api/utils/index.html index 2b3acfea7..2d25d3065 100644 --- a/api/utils/index.html +++ b/api/utils/index.html @@ -15,7 +15,7 @@ Utils - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -936,11 +935,7 @@ for more information about the API.

diff --git a/api/vector/index.html b/api/vector/index.html index 653710ce5..64c43eb95 100644 --- a/api/vector/index.html +++ b/api/vector/index.html @@ -15,7 +15,7 @@ Vector - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -899,11 +898,7 @@ then the action space of the first environment is taken.

diff --git a/api/wrappers/action_wrappers/index.html b/api/wrappers/action_wrappers/index.html index 74545451a..2cccc9980 100644 --- a/api/wrappers/action_wrappers/index.html +++ b/api/wrappers/action_wrappers/index.html @@ -15,7 +15,7 @@ Action Wrappers - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -690,11 +689,7 @@ or diff --git a/api/wrappers/index.html b/api/wrappers/index.html index 3dd386986..4df32ac6d 100644 --- a/api/wrappers/index.html +++ b/api/wrappers/index.html @@ -15,7 +15,7 @@ Wrappers - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -860,11 +859,7 @@ of the reward are returned in diff --git a/api/wrappers/misc_wrappers/index.html b/api/wrappers/misc_wrappers/index.html index 78a64d2df..10992246d 100644 --- a/api/wrappers/misc_wrappers/index.html +++ b/api/wrappers/misc_wrappers/index.html @@ -15,7 +15,7 @@ Misc Wrappers - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -974,11 +973,7 @@ need to be the outermost wrapper.

diff --git a/api/wrappers/observation_wrappers/index.html b/api/wrappers/observation_wrappers/index.html index ff3458e77..b96914fb2 100644 --- a/api/wrappers/observation_wrappers/index.html +++ b/api/wrappers/observation_wrappers/index.html @@ -15,7 +15,7 @@ Observation Wrappers - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -946,11 +945,7 @@ In particular, pixel observations are not supported. This wrapper will append th diff --git a/api/wrappers/reward_wrappers/index.html b/api/wrappers/reward_wrappers/index.html index e436f817a..4b6c1f6b3 100644 --- a/api/wrappers/reward_wrappers/index.html +++ b/api/wrappers/reward_wrappers/index.html @@ -15,7 +15,7 @@ Reward Wrappers - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -681,11 +680,7 @@ instantiated or the policy was changed recently.

diff --git a/content/basic_usage/index.html b/content/basic_usage/index.html index e72860f17..0dd7cf8ff 100644 --- a/content/basic_usage/index.html +++ b/content/basic_usage/index.html @@ -15,7 +15,7 @@ Basic Usage - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -785,11 +784,7 @@ For example, if pressing the keys diff --git a/content/environment_creation/index.html b/content/environment_creation/index.html index 802fc7fe9..5c1d681dc 100644 --- a/content/environment_creation/index.html +++ b/content/environment_creation/index.html @@ -15,7 +15,7 @@ Make your own custom environment - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -986,11 +985,7 @@ a wrapper that does this job. This wrapper is also available in gym-examples:

diff --git a/content/gym_compatibility/index.html b/content/gym_compatibility/index.html index 3204b3595..053d0bddb 100644 --- a/content/gym_compatibility/index.html +++ b/content/gym_compatibility/index.html @@ -15,7 +15,7 @@ Compatibility with Gym - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -602,11 +601,7 @@ step function to the (new) termination and truncation step API.

diff --git a/content/handling_timelimits/index.html b/content/handling_timelimits/index.html index da241c263..f15e8e1e4 100644 --- a/content/handling_timelimits/index.html +++ b/content/handling_timelimits/index.html @@ -15,7 +15,7 @@ Handling Time Limits - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -619,11 +618,7 @@ The correct way to handle terminations and truncations now is,

diff --git a/content/vectorising/index.html b/content/vectorising/index.html index 6321f7c5b..812a9622a 100644 --- a/content/vectorising/index.html +++ b/content/vectorising/index.html @@ -15,7 +15,7 @@ Vectorizing your environments - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -878,11 +877,7 @@ If the dtype of the returned info is whether diff --git a/environments/atari/adventure/index.html b/environments/atari/adventure/index.html index a5fc8cb79..2d8566577 100644 --- a/environments/atari/adventure/index.html +++ b/environments/atari/adventure/index.html @@ -15,7 +15,7 @@ Adventure - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -665,11 +664,7 @@ general article on Atari environments.

diff --git a/environments/atari/air_raid/index.html b/environments/atari/air_raid/index.html index 86042fb5b..3b565df27 100644 --- a/environments/atari/air_raid/index.html +++ b/environments/atari/air_raid/index.html @@ -15,7 +15,7 @@ Air Raid - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -705,11 +704,7 @@ general article on Atari environments.

diff --git a/environments/atari/alien/index.html b/environments/atari/alien/index.html index 4c5746e45..b86cc046f 100644 --- a/environments/atari/alien/index.html +++ b/environments/atari/alien/index.html @@ -15,7 +15,7 @@ Alien - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -682,11 +681,7 @@ general article on Atari environments.

diff --git a/environments/atari/amidar/index.html b/environments/atari/amidar/index.html index d6fac5497..b50ce1ecf 100644 --- a/environments/atari/amidar/index.html +++ b/environments/atari/amidar/index.html @@ -15,7 +15,7 @@ Amidar - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -723,11 +722,7 @@ general article on Atari environments.

diff --git a/environments/atari/assault/index.html b/environments/atari/assault/index.html index f8aa34c41..8d6369840 100644 --- a/environments/atari/assault/index.html +++ b/environments/atari/assault/index.html @@ -15,7 +15,7 @@ Assault - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -706,11 +705,7 @@ general article on Atari environments.

diff --git a/environments/atari/asterix/index.html b/environments/atari/asterix/index.html index 02d339081..af24aac55 100644 --- a/environments/atari/asterix/index.html +++ b/environments/atari/asterix/index.html @@ -15,7 +15,7 @@ Asterix - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -720,11 +719,7 @@ general article on Atari environments.

diff --git a/environments/atari/asteroids/index.html b/environments/atari/asteroids/index.html index 3dfb8afde..389292f5d 100644 --- a/environments/atari/asteroids/index.html +++ b/environments/atari/asteroids/index.html @@ -15,7 +15,7 @@ Asteroids - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -737,11 +736,7 @@ general article on Atari environments.

diff --git a/environments/atari/atlantis/index.html b/environments/atari/atlantis/index.html index 2dfcfa321..ab2691cc5 100644 --- a/environments/atari/atlantis/index.html +++ b/environments/atari/atlantis/index.html @@ -15,7 +15,7 @@ Atlantis - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -708,11 +707,7 @@ general article on Atari environments.

diff --git a/environments/atari/bank_heist/index.html b/environments/atari/bank_heist/index.html index d43865465..68cead066 100644 --- a/environments/atari/bank_heist/index.html +++ b/environments/atari/bank_heist/index.html @@ -15,7 +15,7 @@ Bank Heist - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -684,11 +683,7 @@ general article on Atari environments.

diff --git a/environments/atari/battle_zone/index.html b/environments/atari/battle_zone/index.html index 1d95dbd6d..31a3560f4 100644 --- a/environments/atari/battle_zone/index.html +++ b/environments/atari/battle_zone/index.html @@ -15,7 +15,7 @@ Battle Zone - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -681,11 +680,7 @@ general article on Atari environments.

diff --git a/environments/atari/beam_rider/index.html b/environments/atari/beam_rider/index.html index 030042c32..c96141b57 100644 --- a/environments/atari/beam_rider/index.html +++ b/environments/atari/beam_rider/index.html @@ -15,7 +15,7 @@ Beam Rider - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -720,11 +719,7 @@ general article on Atari environments.

diff --git a/environments/atari/berzerk/index.html b/environments/atari/berzerk/index.html index 4080655b8..9454cf6f2 100644 --- a/environments/atari/berzerk/index.html +++ b/environments/atari/berzerk/index.html @@ -15,7 +15,7 @@ Berzerk - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -680,11 +679,7 @@ general article on Atari environments.

diff --git a/environments/atari/bowling/index.html b/environments/atari/bowling/index.html index e9cd7772e..991bf3771 100644 --- a/environments/atari/bowling/index.html +++ b/environments/atari/bowling/index.html @@ -15,7 +15,7 @@ Bowling - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -714,11 +713,7 @@ general article on Atari environments.

diff --git a/environments/atari/boxing/index.html b/environments/atari/boxing/index.html index c2faf5b47..3f10385a3 100644 --- a/environments/atari/boxing/index.html +++ b/environments/atari/boxing/index.html @@ -15,7 +15,7 @@ Boxing - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -680,11 +679,7 @@ general article on Atari environments.

diff --git a/environments/atari/breakout/index.html b/environments/atari/breakout/index.html index 71849634f..68bb4acf6 100644 --- a/environments/atari/breakout/index.html +++ b/environments/atari/breakout/index.html @@ -15,7 +15,7 @@ Breakout - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -706,11 +705,7 @@ general article on Atari environments.

diff --git a/environments/atari/carnival/index.html b/environments/atari/carnival/index.html index 165bdbeea..713b0559a 100644 --- a/environments/atari/carnival/index.html +++ b/environments/atari/carnival/index.html @@ -15,7 +15,7 @@ Carnival - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -713,11 +712,7 @@ general article on Atari environments.

diff --git a/environments/atari/centipede/index.html b/environments/atari/centipede/index.html index 142d9d278..1566ef126 100644 --- a/environments/atari/centipede/index.html +++ b/environments/atari/centipede/index.html @@ -15,7 +15,7 @@ Centipede - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -683,11 +682,7 @@ general article on Atari environments.

diff --git a/environments/atari/chopper_command/index.html b/environments/atari/chopper_command/index.html index b12b85b3d..164114601 100644 --- a/environments/atari/chopper_command/index.html +++ b/environments/atari/chopper_command/index.html @@ -15,7 +15,7 @@ Chopper Command - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -681,11 +680,7 @@ general article on Atari environments.

diff --git a/environments/atari/complete_list/index.html b/environments/atari/complete_list/index.html index b9a5352f7..058abb2f7 100644 --- a/environments/atari/complete_list/index.html +++ b/environments/atari/complete_list/index.html @@ -15,7 +15,7 @@ Complete List - Atari - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -1307,11 +1306,7 @@ diff --git a/environments/atari/crazy_climber/index.html b/environments/atari/crazy_climber/index.html index fb674f5a3..30b2b5236 100644 --- a/environments/atari/crazy_climber/index.html +++ b/environments/atari/crazy_climber/index.html @@ -15,7 +15,7 @@ Crazy Climber - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -722,11 +721,7 @@ general article on Atari environments.

diff --git a/environments/atari/defender/index.html b/environments/atari/defender/index.html index d1fa7f441..2195e48d5 100644 --- a/environments/atari/defender/index.html +++ b/environments/atari/defender/index.html @@ -15,7 +15,7 @@ Defender - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -682,11 +681,7 @@ general article on Atari environments.

diff --git a/environments/atari/demon_attack/index.html b/environments/atari/demon_attack/index.html index 1a11d13db..d904092f8 100644 --- a/environments/atari/demon_attack/index.html +++ b/environments/atari/demon_attack/index.html @@ -15,7 +15,7 @@ Demon Attack - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -724,11 +723,7 @@ general article on Atari environments.

diff --git a/environments/atari/double_dunk/index.html b/environments/atari/double_dunk/index.html index dddd15232..b2852d1c7 100644 --- a/environments/atari/double_dunk/index.html +++ b/environments/atari/double_dunk/index.html @@ -15,7 +15,7 @@ Double Dunk - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -722,11 +721,7 @@ general article on Atari environments.

diff --git a/environments/atari/elevator_action/index.html b/environments/atari/elevator_action/index.html index 3408ef21d..5751e2753 100644 --- a/environments/atari/elevator_action/index.html +++ b/environments/atari/elevator_action/index.html @@ -15,7 +15,7 @@ Elevator Action - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -725,11 +724,7 @@ general article on Atari environments.

diff --git a/environments/atari/enduro/index.html b/environments/atari/enduro/index.html index 379e40e10..a0c8ab19e 100644 --- a/environments/atari/enduro/index.html +++ b/environments/atari/enduro/index.html @@ -15,7 +15,7 @@ Enduro - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -720,11 +719,7 @@ general article on Atari environments.

diff --git a/environments/atari/fishing_derby/index.html b/environments/atari/fishing_derby/index.html index 9643005af..ece2f7033 100644 --- a/environments/atari/fishing_derby/index.html +++ b/environments/atari/fishing_derby/index.html @@ -15,7 +15,7 @@ FishingDerby - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -773,11 +772,7 @@ customize the environment using the arguments above, if necessary.

diff --git a/environments/atari/freeway/index.html b/environments/atari/freeway/index.html index d8ee92185..379e47b7c 100644 --- a/environments/atari/freeway/index.html +++ b/environments/atari/freeway/index.html @@ -15,7 +15,7 @@ Freeway - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -773,11 +772,7 @@ customize the environment using the arguments above, if necessary.

diff --git a/environments/atari/frostbite/index.html b/environments/atari/frostbite/index.html index ddb106d94..a7838d82d 100644 --- a/environments/atari/frostbite/index.html +++ b/environments/atari/frostbite/index.html @@ -15,7 +15,7 @@ Frostbite - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -773,11 +772,7 @@ customize the environment using the arguments above, if necessary.

diff --git a/environments/atari/gopher/index.html b/environments/atari/gopher/index.html index fc8157ccb..82ed14d62 100644 --- a/environments/atari/gopher/index.html +++ b/environments/atari/gopher/index.html @@ -15,7 +15,7 @@ Gopher - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -773,11 +772,7 @@ customize the environment using the arguments above, if necessary.

diff --git a/environments/atari/gravitar/index.html b/environments/atari/gravitar/index.html index 35b771470..cbf22762b 100644 --- a/environments/atari/gravitar/index.html +++ b/environments/atari/gravitar/index.html @@ -15,7 +15,7 @@ Gravitar - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -773,11 +772,7 @@ customize the environment using the arguments above, if necessary.

diff --git a/environments/atari/hero/index.html b/environments/atari/hero/index.html index 6c6fb0384..d97ade867 100644 --- a/environments/atari/hero/index.html +++ b/environments/atari/hero/index.html @@ -15,7 +15,7 @@ Hero - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -683,11 +682,7 @@ general article on Atari environments.

diff --git a/environments/atari/ice_hockey/index.html b/environments/atari/ice_hockey/index.html index b737790e4..0368038cd 100644 --- a/environments/atari/ice_hockey/index.html +++ b/environments/atari/ice_hockey/index.html @@ -15,7 +15,7 @@ IceHockey - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -682,11 +681,7 @@ general article on Atari environments.

diff --git a/environments/atari/index.html b/environments/atari/index.html index 9c1a1e2ad..9dd04ffcc 100644 --- a/environments/atari/index.html +++ b/environments/atari/index.html @@ -15,7 +15,7 @@ Atari - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -1209,11 +1208,7 @@ URL: https://jair.org/index.php/jair/article/view/11182

diff --git a/environments/atari/jamesbond/index.html b/environments/atari/jamesbond/index.html index 5b758c001..c176d730b 100644 --- a/environments/atari/jamesbond/index.html +++ b/environments/atari/jamesbond/index.html @@ -15,7 +15,7 @@ Jamesbond - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -683,11 +682,7 @@ general article on Atari environments.

diff --git a/environments/atari/journey_escape/index.html b/environments/atari/journey_escape/index.html index 827bf70d9..144baa231 100644 --- a/environments/atari/journey_escape/index.html +++ b/environments/atari/journey_escape/index.html @@ -15,7 +15,7 @@ JourneyEscape - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -742,11 +741,7 @@ general article on Atari environments.

diff --git a/environments/atari/kangaroo/index.html b/environments/atari/kangaroo/index.html index 20a856ed8..bebc163e7 100644 --- a/environments/atari/kangaroo/index.html +++ b/environments/atari/kangaroo/index.html @@ -15,7 +15,7 @@ Kangaroo - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -681,11 +680,7 @@ general article on Atari environments.

diff --git a/environments/atari/krull/index.html b/environments/atari/krull/index.html index e12de31d1..c98078e4c 100644 --- a/environments/atari/krull/index.html +++ b/environments/atari/krull/index.html @@ -15,7 +15,7 @@ Krull - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -681,11 +680,7 @@ general article on Atari environments.

diff --git a/environments/atari/kung_fu_master/index.html b/environments/atari/kung_fu_master/index.html index 8c1302b73..f94fe85c8 100644 --- a/environments/atari/kung_fu_master/index.html +++ b/environments/atari/kung_fu_master/index.html @@ -15,7 +15,7 @@ Kung Fu Master - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -722,11 +721,7 @@ general article on Atari environments.

diff --git a/environments/atari/montezuma_revenge/index.html b/environments/atari/montezuma_revenge/index.html index 2afb6306b..05e25732c 100644 --- a/environments/atari/montezuma_revenge/index.html +++ b/environments/atari/montezuma_revenge/index.html @@ -15,7 +15,7 @@ Montezuma Revenge - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -671,11 +670,7 @@ general article on Atari environments.

diff --git a/environments/atari/ms_pacman/index.html b/environments/atari/ms_pacman/index.html index ef31391bd..78e58b7a4 100644 --- a/environments/atari/ms_pacman/index.html +++ b/environments/atari/ms_pacman/index.html @@ -15,7 +15,7 @@ Ms Pacman - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -707,11 +706,7 @@ general article on Atari environments.

diff --git a/environments/atari/name_this_game/index.html b/environments/atari/name_this_game/index.html index d4f8ede35..3e47b271b 100644 --- a/environments/atari/name_this_game/index.html +++ b/environments/atari/name_this_game/index.html @@ -15,7 +15,7 @@ Name This Game - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -698,11 +697,7 @@ general article on Atari environments.

diff --git a/environments/atari/phoenix/index.html b/environments/atari/phoenix/index.html index 189a02af7..9be071c45 100644 --- a/environments/atari/phoenix/index.html +++ b/environments/atari/phoenix/index.html @@ -15,7 +15,7 @@ Phoenix - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -704,11 +703,7 @@ general article on Atari environments.

diff --git a/environments/atari/pitfall/index.html b/environments/atari/pitfall/index.html index eb6d2a157..4381f630c 100644 --- a/environments/atari/pitfall/index.html +++ b/environments/atari/pitfall/index.html @@ -15,7 +15,7 @@ Pitfall - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -677,11 +676,7 @@ general article on Atari environments.

diff --git a/environments/atari/pong/index.html b/environments/atari/pong/index.html index 6555c8524..b5cd3f530 100644 --- a/environments/atari/pong/index.html +++ b/environments/atari/pong/index.html @@ -15,7 +15,7 @@ Pong - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -708,11 +707,7 @@ general article on Atari environments.

diff --git a/environments/atari/pooyan/index.html b/environments/atari/pooyan/index.html index 89a814e99..462d0ebfd 100644 --- a/environments/atari/pooyan/index.html +++ b/environments/atari/pooyan/index.html @@ -15,7 +15,7 @@ Pooyan - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -708,11 +707,7 @@ general article on Atari environments.

diff --git a/environments/atari/private_eye/index.html b/environments/atari/private_eye/index.html index e0b518257..e7df230ba 100644 --- a/environments/atari/private_eye/index.html +++ b/environments/atari/private_eye/index.html @@ -15,7 +15,7 @@ PrivateEye - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -677,11 +676,7 @@ general article on Atari environments.

diff --git a/environments/atari/qbert/index.html b/environments/atari/qbert/index.html index 2be0034f7..d99df4ba9 100644 --- a/environments/atari/qbert/index.html +++ b/environments/atari/qbert/index.html @@ -15,7 +15,7 @@ Qbert - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -708,11 +707,7 @@ general article on Atari environments.

diff --git a/environments/atari/riverraid/index.html b/environments/atari/riverraid/index.html index 311c6b28d..ef77abba8 100644 --- a/environments/atari/riverraid/index.html +++ b/environments/atari/riverraid/index.html @@ -15,7 +15,7 @@ Riverraid - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -706,11 +705,7 @@ general article on Atari environments.

diff --git a/environments/atari/road_runner/index.html b/environments/atari/road_runner/index.html index 92e0925f0..3a88a416a 100644 --- a/environments/atari/road_runner/index.html +++ b/environments/atari/road_runner/index.html @@ -15,7 +15,7 @@ Road Runner - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -707,11 +706,7 @@ general article on Atari environments.

diff --git a/environments/atari/robotank/index.html b/environments/atari/robotank/index.html index b047bba12..a5c84a6e5 100644 --- a/environments/atari/robotank/index.html +++ b/environments/atari/robotank/index.html @@ -15,7 +15,7 @@ Robot Tank - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -688,11 +687,7 @@ general article on Atari environments.

diff --git a/environments/atari/seaquest/index.html b/environments/atari/seaquest/index.html index 6a437e2f7..6b0170ebd 100644 --- a/environments/atari/seaquest/index.html +++ b/environments/atari/seaquest/index.html @@ -15,7 +15,7 @@ Seaquest - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -696,11 +695,7 @@ general article on Atari environments.

diff --git a/environments/atari/skiing/index.html b/environments/atari/skiing/index.html index b33548d6b..593d89d33 100644 --- a/environments/atari/skiing/index.html +++ b/environments/atari/skiing/index.html @@ -15,7 +15,7 @@ Skiings - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -705,11 +704,7 @@ general article on Atari environments.

diff --git a/environments/atari/solaris/index.html b/environments/atari/solaris/index.html index e9342c2ce..9ce8b5993 100644 --- a/environments/atari/solaris/index.html +++ b/environments/atari/solaris/index.html @@ -15,7 +15,7 @@ Solaris - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -675,11 +674,7 @@ general article on Atari environments.

diff --git a/environments/atari/space_invaders/index.html b/environments/atari/space_invaders/index.html index c76fdf2c5..d588d1ed5 100644 --- a/environments/atari/space_invaders/index.html +++ b/environments/atari/space_invaders/index.html @@ -15,7 +15,7 @@ SpaceInvaders - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -706,11 +705,7 @@ general article on Atari environments.

diff --git a/environments/atari/star_gunner/index.html b/environments/atari/star_gunner/index.html index 439031c0d..cff507b85 100644 --- a/environments/atari/star_gunner/index.html +++ b/environments/atari/star_gunner/index.html @@ -15,7 +15,7 @@ StarGunner - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -706,11 +705,7 @@ general article on Atari environments.

diff --git a/environments/atari/tennis/index.html b/environments/atari/tennis/index.html index 7e2df8e81..7bdbcf23f 100644 --- a/environments/atari/tennis/index.html +++ b/environments/atari/tennis/index.html @@ -15,7 +15,7 @@ Tennis - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -676,11 +675,7 @@ general article on Atari environments.

diff --git a/environments/atari/time_pilot/index.html b/environments/atari/time_pilot/index.html index f43821454..5653b26c1 100644 --- a/environments/atari/time_pilot/index.html +++ b/environments/atari/time_pilot/index.html @@ -15,7 +15,7 @@ TimePilot - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -734,11 +733,7 @@ general article on Atari environments.

diff --git a/environments/atari/tutankham/index.html b/environments/atari/tutankham/index.html index a3869bccf..654fcc8e1 100644 --- a/environments/atari/tutankham/index.html +++ b/environments/atari/tutankham/index.html @@ -15,7 +15,7 @@ Tutankham - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -704,11 +703,7 @@ general article on Atari environments.

diff --git a/environments/atari/up_n_down/index.html b/environments/atari/up_n_down/index.html index 665005e97..b63520ac3 100644 --- a/environments/atari/up_n_down/index.html +++ b/environments/atari/up_n_down/index.html @@ -15,7 +15,7 @@ Up n’ Down - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -700,11 +699,7 @@ general article on Atari environments.

diff --git a/environments/atari/venture/index.html b/environments/atari/venture/index.html index 97da0284e..6d33c1e40 100644 --- a/environments/atari/venture/index.html +++ b/environments/atari/venture/index.html @@ -15,7 +15,7 @@ Venture - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -671,11 +670,7 @@ general article on Atari environments.

diff --git a/environments/atari/video_pinball/index.html b/environments/atari/video_pinball/index.html index 6dc837fc6..d7299a76d 100644 --- a/environments/atari/video_pinball/index.html +++ b/environments/atari/video_pinball/index.html @@ -15,7 +15,7 @@ Video Pinball - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -709,11 +708,7 @@ general article on Atari environments.

diff --git a/environments/atari/wizard_of_wor/index.html b/environments/atari/wizard_of_wor/index.html index 9d8e93dbd..970113566 100644 --- a/environments/atari/wizard_of_wor/index.html +++ b/environments/atari/wizard_of_wor/index.html @@ -15,7 +15,7 @@ Wizard of Wor - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -712,11 +711,7 @@ general article on Atari environments.

diff --git a/environments/atari/zaxxon/index.html b/environments/atari/zaxxon/index.html index dceb1db73..1ad9dbe41 100644 --- a/environments/atari/zaxxon/index.html +++ b/environments/atari/zaxxon/index.html @@ -15,7 +15,7 @@ Zaxxon - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -661,11 +660,7 @@ general article on Atari environments.

diff --git a/environments/box2d/bipedal_walker/index.html b/environments/box2d/bipedal_walker/index.html index 5ae14ea47..b548fad3a 100644 --- a/environments/box2d/bipedal_walker/index.html +++ b/environments/box2d/bipedal_walker/index.html @@ -15,7 +15,7 @@ Bipedal Walker - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -654,11 +653,7 @@ speed; ground has higher friction; lidar rendered less nervously.

diff --git a/environments/box2d/car_racing/index.html b/environments/box2d/car_racing/index.html index 1dd1d22ca..d81df409e 100644 --- a/environments/box2d/car_racing/index.html +++ b/environments/box2d/car_racing/index.html @@ -15,7 +15,7 @@ Car Racing - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -683,11 +682,7 @@ Example usage:

diff --git a/environments/box2d/index.html b/environments/box2d/index.html index 9f0af0850..182782ad8 100644 --- a/environments/box2d/index.html +++ b/environments/box2d/index.html @@ -15,7 +15,7 @@ Box2D - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -606,11 +605,7 @@ diff --git a/environments/box2d/lunar_lander/index.html b/environments/box2d/lunar_lander/index.html index bfc73c13a..164cfd783 100644 --- a/environments/box2d/lunar_lander/index.html +++ b/environments/box2d/lunar_lander/index.html @@ -15,7 +15,7 @@ Lunar Lander - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -703,11 +702,7 @@ renormalized to 200; harder initial random push.

diff --git a/environments/classic_control/acrobot/index.html b/environments/classic_control/acrobot/index.html index 2cb5dc7fa..d4dc38bfe 100644 --- a/environments/classic_control/acrobot/index.html +++ b/environments/classic_control/acrobot/index.html @@ -15,7 +15,7 @@ Acrobot - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -750,11 +749,7 @@ MIT Press. https://proceedings.neurips.cc/paper/1995/file/8f1d43620bc6bb580df6e8 diff --git a/environments/classic_control/cart_pole/index.html b/environments/classic_control/cart_pole/index.html index cc5d22548..fb1e55d6a 100644 --- a/environments/classic_control/cart_pole/index.html +++ b/environments/classic_control/cart_pole/index.html @@ -15,7 +15,7 @@ Cart Pole - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -699,11 +698,7 @@ the new random state.

diff --git a/environments/classic_control/index.html b/environments/classic_control/index.html index a4528e209..5657cde7c 100644 --- a/environments/classic_control/index.html +++ b/environments/classic_control/index.html @@ -15,7 +15,7 @@ Classic Control - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -632,11 +631,7 @@ diff --git a/environments/classic_control/mountain_car/index.html b/environments/classic_control/mountain_car/index.html index a5c681d3b..5df6c7fd9 100644 --- a/environments/classic_control/mountain_car/index.html +++ b/environments/classic_control/mountain_car/index.html @@ -15,7 +15,7 @@ Mountain Car - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -717,11 +716,7 @@ the new random state.

diff --git a/environments/classic_control/mountain_car_continuous/index.html b/environments/classic_control/mountain_car_continuous/index.html index 11ef33e0d..9ee834da5 100644 --- a/environments/classic_control/mountain_car_continuous/index.html +++ b/environments/classic_control/mountain_car_continuous/index.html @@ -15,7 +15,7 @@ Mountain Car Continuous - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -691,11 +690,7 @@ the new random state.

diff --git a/environments/classic_control/pendulum/index.html b/environments/classic_control/pendulum/index.html index ae03556d2..a919009aa 100644 --- a/environments/classic_control/pendulum/index.html +++ b/environments/classic_control/pendulum/index.html @@ -15,7 +15,7 @@ Pendulum - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -694,11 +693,7 @@ the new random state.

diff --git a/environments/mujoco/ant/index.html b/environments/mujoco/ant/index.html index b24e7c864..efebc969a 100644 --- a/environments/mujoco/ant/index.html +++ b/environments/mujoco/ant/index.html @@ -15,7 +15,7 @@ Ant - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -1062,11 +1061,7 @@ the episode ends when any of the following happens:

diff --git a/environments/mujoco/half_cheetah/index.html b/environments/mujoco/half_cheetah/index.html index bdae4d7b8..1eceaae64 100644 --- a/environments/mujoco/half_cheetah/index.html +++ b/environments/mujoco/half_cheetah/index.html @@ -15,7 +15,7 @@ Half Cheetah - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -932,11 +931,7 @@ initial velocity values of all zeros.

diff --git a/environments/mujoco/hopper/index.html b/environments/mujoco/hopper/index.html index 05601ace7..d18e00267 100644 --- a/environments/mujoco/hopper/index.html +++ b/environments/mujoco/hopper/index.html @@ -15,7 +15,7 @@ Hopper - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -895,11 +894,7 @@ the episode ends when any of the following happens:

diff --git a/environments/mujoco/humanoid/index.html b/environments/mujoco/humanoid/index.html index eaf700a87..af0ea67da 100644 --- a/environments/mujoco/humanoid/index.html +++ b/environments/mujoco/humanoid/index.html @@ -15,7 +15,7 @@ Humanoid - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -1294,11 +1293,7 @@ the episode ends when any of the following happens:

diff --git a/environments/mujoco/humanoid_standup/index.html b/environments/mujoco/humanoid_standup/index.html index cfe8219e6..b81378a62 100644 --- a/environments/mujoco/humanoid_standup/index.html +++ b/environments/mujoco/humanoid_standup/index.html @@ -15,7 +15,7 @@ Humanoid Standup - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -1230,11 +1229,7 @@ beyond take gymnasium.make kwargs such as xml_file, ctrl_cost_weight, reset_nois diff --git a/environments/mujoco/index.html b/environments/mujoco/index.html index dcc18e3de..24a1ea1f1 100644 --- a/environments/mujoco/index.html +++ b/environments/mujoco/index.html @@ -15,7 +15,7 @@ MuJoCo - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -694,11 +693,7 @@ diff --git a/environments/mujoco/inverted_double_pendulum/index.html b/environments/mujoco/inverted_double_pendulum/index.html index 1b6c7f1fd..8dd3af29d 100644 --- a/environments/mujoco/inverted_double_pendulum/index.html +++ b/environments/mujoco/inverted_double_pendulum/index.html @@ -15,7 +15,7 @@ Inverted Double Pendulum - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -812,11 +811,7 @@ beyond take gymnasi diff --git a/environments/mujoco/inverted_pendulum/index.html b/environments/mujoco/inverted_pendulum/index.html index df19f7a80..d9d2cea99 100644 --- a/environments/mujoco/inverted_pendulum/index.html +++ b/environments/mujoco/inverted_pendulum/index.html @@ -15,7 +15,7 @@ Inverted Pendulum - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -737,11 +736,7 @@ v3 and beyond take diff --git a/environments/mujoco/pusher/index.html b/environments/mujoco/pusher/index.html index 8b0498696..2fd8bfb81 100644 --- a/environments/mujoco/pusher/index.html +++ b/environments/mujoco/pusher/index.html @@ -15,7 +15,7 @@ Pusher - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -957,11 +956,7 @@ beyond take gymnasm diff --git a/environments/mujoco/reacher/index.html b/environments/mujoco/reacher/index.html index 601a24db8..8d9b18d7d 100644 --- a/environments/mujoco/reacher/index.html +++ b/environments/mujoco/reacher/index.html @@ -15,7 +15,7 @@ Reacher - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -864,11 +863,7 @@ beyond take gymnasi diff --git a/environments/mujoco/swimmer/index.html b/environments/mujoco/swimmer/index.html index 639042a14..b3f9969e1 100644 --- a/environments/mujoco/swimmer/index.html +++ b/environments/mujoco/swimmer/index.html @@ -15,7 +15,7 @@ Swimmer - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -839,11 +838,7 @@ control and has a default value of 1e-4

diff --git a/environments/mujoco/walker2d/index.html b/environments/mujoco/walker2d/index.html index 954f1dcfc..6465d38a9 100644 --- a/environments/mujoco/walker2d/index.html +++ b/environments/mujoco/walker2d/index.html @@ -15,7 +15,7 @@ Walker2D - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -952,11 +951,7 @@ the episode ends when any of the following happens:

diff --git a/environments/third_party_environments/index.html b/environments/third_party_environments/index.html index b1ace6a54..845d3b82f 100644 --- a/environments/third_party_environments/index.html +++ b/environments/third_party_environments/index.html @@ -15,7 +15,7 @@ Third-Party Environments - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -969,11 +968,7 @@ rendering tool.

diff --git a/environments/toy_text/blackjack/index.html b/environments/toy_text/blackjack/index.html index 3de29ceb5..dc82dff4a 100644 --- a/environments/toy_text/blackjack/index.html +++ b/environments/toy_text/blackjack/index.html @@ -15,7 +15,7 @@ Blackjack - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -644,11 +643,7 @@ If both the player and the dealer get a natural, it will be a draw (i.e. reward diff --git a/environments/toy_text/cliff_walking/index.html b/environments/toy_text/cliff_walking/index.html index 42334d924..ebe66b41d 100644 --- a/environments/toy_text/cliff_walking/index.html +++ b/environments/toy_text/cliff_walking/index.html @@ -15,7 +15,7 @@ Cliff Walking - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -640,11 +639,7 @@ The observation is simply the current position encoded as diff --git a/environments/toy_text/frozen_lake/index.html b/environments/toy_text/frozen_lake/index.html index 10481137f..a4c1ba394 100644 --- a/environments/toy_text/frozen_lake/index.html +++ b/environments/toy_text/frozen_lake/index.html @@ -15,7 +15,7 @@ Frozen Lake - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -675,11 +674,7 @@ equal probability of 1/3 in both directions.

diff --git a/environments/toy_text/index.html b/environments/toy_text/index.html index e565f149c..3978cecbb 100644 --- a/environments/toy_text/index.html +++ b/environments/toy_text/index.html @@ -15,7 +15,7 @@ Toy Text - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -616,11 +615,7 @@ diff --git a/environments/toy_text/taxi/index.html b/environments/toy_text/taxi/index.html index 844e4d2cc..3888cead2 100644 --- a/environments/toy_text/taxi/index.html +++ b/environments/toy_text/taxi/index.html @@ -15,7 +15,7 @@ Taxi - Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -683,11 +682,7 @@ Or with a Q-value based algorithm diff --git a/genindex/index.html b/genindex/index.html index 377fa4c38..62a347fe6 100644 --- a/genindex/index.html +++ b/genindex/index.html @@ -13,7 +13,7 @@ Index - Gymnasium Documentation - + @@ -485,7 +485,6 @@

Development

@@ -1017,11 +1016,7 @@ diff --git a/index.html b/index.html index 14df462bd..b2113d997 100644 --- a/index.html +++ b/index.html @@ -15,7 +15,7 @@ Gymnasium Documentation - + @@ -487,7 +487,6 @@

Development

@@ -584,11 +583,7 @@ diff --git a/search/index.html b/search/index.html index 11d4703e8..02b618cf9 100644 --- a/search/index.html +++ b/search/index.html @@ -12,7 +12,7 @@ Search - Gymnasium Documentation - + @@ -484,7 +484,6 @@

Development

@@ -552,11 +551,7 @@