prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  sphinx docs build broken
  Getting an error when trying to build the docs:
  ```
  $ sphinx-build -b html -d build/doctrees docs dist/docs
  Running Sphinx v4.5.0
  WARNING: html_static_path entry '_static' does not exist
  building [mo]: targets for 0 po files that are out of date
  building [html]: targets for 19 source files that are out of date
  updating environment: [new config] 19 added, 0 changed, 0 removed
  reading sources... [  5%] developer/contributing                                                                                                                                                                                                                                                                                                                                                                                        
  Extension error (sphinx_markdown_tables):
  Handler <function process_tables at 0x7fb9b1b0a700> for event 'source-read' threw an exception (exception: __init__() missing 1 required positional argument: 'config')
  ```
  
  Trying an earlier version of sphinx and an earlier version of the repo does not resolve the issue.  It seems to be something in the sphinx-markdown-tables module, but that doesn't seem to have changed that recently either (more than a month ago: https://pypi.org/project/sphinx-markdown-tables/0.0.15/#history).
  
  </issue>
  <code>
  [start of docs/conf.py]
  1 # Configuration file for the Sphinx documentation builder.
  2 #
  3 # This file only contains a selection of the most common options. For a full
  4 # list see the documentation:
  5 # https://www.sphinx-doc.org/en/master/usage/configuration.html
  6 
  7 # -- Path setup --------------------------------------------------------------
  8 
  9 # If extensions (or modules to document with autodoc) are in another directory,
  10 # add these directories to sys.path here. If the directory is relative to the
  11 # documentation root, use os.path.abspath to make it absolute, like shown here.
  12 #
  13 # import os
  14 # import sys
  15 # sys.path.insert(0, os.path.abspath('.'))
  16 
  17 from __future__ import unicode_literals
  18 import re
  19 
  20 from recommonmark.parser import CommonMarkParser
  21 from recommonmark.transform import AutoStructify
  22 from docutils import nodes, transforms
  23 
  24 # -- Project information -----------------------------------------------------
  25 
  26 project = 'Turbinia'
  27 copyright = '2020, Google Inc'
  28 author = 'Turbinia maintainers'
  29 
  30 # -- General configuration ---------------------------------------------------
  31 
  32 # Add any Sphinx extension module names here, as strings. They can be
  33 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
  34 # ones.
  35 extensions = [
  36     'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.coverage',
  37     'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'sphinx_markdown_tables',
  38     'recommonmark'
  39 ]
  40 
  41 # Add any paths that contain templates here, relative to this directory.
  42 templates_path = ['_templates']
  43 
  44 # List of patterns, relative to source directory, that match files and
  45 # directories to ignore when looking for source files.
  46 # This pattern also affects html_static_path and html_extra_path.
  47 exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'design/*']
  48 
  49 # -- Options for HTML output -------------------------------------------------
  50 
  51 # The theme to use for HTML and HTML Help pages.  See the documentation for
  52 # a list of builtin themes.
  53 #
  54 html_theme = 'sphinx_rtd_theme'
  55 
  56 # The master toctree document.
  57 master_doc = 'index'
  58 
  59 # The name of the Pygments (syntax highlighting) style to use.
  60 pygments_style = 'sphinx'
  61 
  62 # Add any paths that contain custom static files (such as style sheets) here,
  63 # relative to this directory. They are copied after the builtin static files,
  64 # so a file named "default.css" will overwrite the builtin "default.css".
  65 html_static_path = ['_static']
  66 
  67 # The default sidebars (for documents that don't match any pattern) are
  68 # defined by theme itself.  Builtin themes are using these templates by
  69 # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
  70 # 'searchbox.html']``.
  71 #
  72 html_sidebars = {
  73     '**': [
  74         'sidebar.html', 'localtoc.html', 'relations.html', 'sourcelink.html',
  75         'searchbox.html'
  76     ]
  77 }
  78 
  79 # Adding retries to linkchecks before declaring a link broken
  80 linkcheck_retries = 3
  81 
  82 # Output file base name for HTML help builder.
  83 htmlhelp_basename = 'turbiniadoc'
  84 
  85 html_logo = "images/turbinia-logo.jpg"
  86 
  87 
  88 class ProcessLink(transforms.Transform):
  89   """Transform definition to parse .md references to internal pages."""
  90 
  91   default_priority = 1000
  92 
  93   def find_replace(self, node):
  94     """Parses URIs containing .md and replaces them with their HTML page."""
  95     if isinstance(node, nodes.reference) and 'refuri' in node:
  96       r = node['refuri']
  97       if r.endswith('.md'):
  98         r = r[:-3] + '.html'
  99         node['refuri'] = r
  100 
  101     return node
  102 
  103   def traverse(self, node):
  104     """Traverse the document tree rooted at node.
  105     node : docutil node
  106         current root node to traverse
  107     """
  108     self.find_replace(node)
  109 
  110     for c in node.children:
  111       self.traverse(c)
  112 
  113   # pylint: disable=arguments-differ,attribute-defined-outside-init
  114   # this was taken from GRR's config file for documentation
  115   def apply(self):
  116     self.current_level = 0
  117     self.traverse(self.document)
  118 
  119 
  120 def setup(app):
  121   """Add custom parsers to Sphinx generation."""
  122   app.add_config_value(
  123       'recommonmark_config', {
  124           'enable_auto_doc_ref': False,
  125       }, True)
  126   app.add_transform(AutoStructify)
  127   app.add_transform(ProcessLink)
  128
  [end of docs/conf.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/docs/conf.py b/docs/conf.py
  --- a/docs/conf.py
  +++ b/docs/conf.py
  @@ -34,8 +34,7 @@
   # ones.
   extensions = [
       'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.coverage',
  -    'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'sphinx_markdown_tables',
  -    'recommonmark'
  +    'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'recommonmark'
   ]
   
   # Add any paths that contain templates here, relative to this directory.
  
verification_info: {"golden_diff": "diff --git a/docs/conf.py b/docs/conf.py\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -34,8 +34,7 @@\n # ones.\n extensions = [\n     'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.coverage',\n-    'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'sphinx_markdown_tables',\n-    'recommonmark'\n+    'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'recommonmark'\n ]\n \n # Add any paths that contain templates here, relative to this directory.\n", "issue": "sphinx docs build broken\nGetting an error when trying to build the docs:\r\n```\r\n$ sphinx-build -b html -d build/doctrees docs dist/docs\r\nRunning Sphinx v4.5.0\r\nWARNING: html_static_path entry '_static' does not exist\r\nbuilding [mo]: targets for 0 po files that are out of date\r\nbuilding [html]: targets for 19 source files that are out of date\r\nupdating environment: [new config] 19 added, 0 changed, 0 removed\r\nreading sources... [  5%] developer/contributing                                                                                                                                                                                                                                                                                                                                                                                        \r\nExtension error (sphinx_markdown_tables):\r\nHandler <function process_tables at 0x7fb9b1b0a700> for event 'source-read' threw an exception (exception: __init__() missing 1 required positional argument: 'config')\r\n```\r\n\r\nTrying an earlier version of sphinx and an earlier version of the repo does not resolve the issue.  It seems to be something in the sphinx-markdown-tables module, but that doesn't seem to have changed that recently either (more than a month ago: https://pypi.org/project/sphinx-markdown-tables/0.0.15/#history).\n", "before_files": [{"content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\n# import os\n# import sys\n# sys.path.insert(0, os.path.abspath('.'))\n\nfrom __future__ import unicode_literals\nimport re\n\nfrom recommonmark.parser import CommonMarkParser\nfrom recommonmark.transform import AutoStructify\nfrom docutils import nodes, transforms\n\n# -- Project information -----------------------------------------------------\n\nproject = 'Turbinia'\ncopyright = '2020, Google Inc'\nauthor = 'Turbinia maintainers'\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.coverage',\n    'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'sphinx_markdown_tables',\n    'recommonmark'\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'design/*']\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = 'sphinx_rtd_theme'\n\n# The master toctree document.\nmaster_doc = 'index'\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = 'sphinx'\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = ['_static']\n\n# The default sidebars (for documents that don't match any pattern) are\n# defined by theme itself.  Builtin themes are using these templates by\n# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',\n# 'searchbox.html']``.\n#\nhtml_sidebars = {\n    '**': [\n        'sidebar.html', 'localtoc.html', 'relations.html', 'sourcelink.html',\n        'searchbox.html'\n    ]\n}\n\n# Adding retries to linkchecks before declaring a link broken\nlinkcheck_retries = 3\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = 'turbiniadoc'\n\nhtml_logo = \"images/turbinia-logo.jpg\"\n\n\nclass ProcessLink(transforms.Transform):\n  \"\"\"Transform definition to parse .md references to internal pages.\"\"\"\n\n  default_priority = 1000\n\n  def find_replace(self, node):\n    \"\"\"Parses URIs containing .md and replaces them with their HTML page.\"\"\"\n    if isinstance(node, nodes.reference) and 'refuri' in node:\n      r = node['refuri']\n      if r.endswith('.md'):\n        r = r[:-3] + '.html'\n        node['refuri'] = r\n\n    return node\n\n  def traverse(self, node):\n    \"\"\"Traverse the document tree rooted at node.\n    node : docutil node\n        current root node to traverse\n    \"\"\"\n    self.find_replace(node)\n\n    for c in node.children:\n      self.traverse(c)\n\n  # pylint: disable=arguments-differ,attribute-defined-outside-init\n  # this was taken from GRR's config file for documentation\n  def apply(self):\n    self.current_level = 0\n    self.traverse(self.document)\n\n\ndef setup(app):\n  \"\"\"Add custom parsers to Sphinx generation.\"\"\"\n  app.add_config_value(\n      'recommonmark_config', {\n          'enable_auto_doc_ref': False,\n      }, True)\n  app.add_transform(AutoStructify)\n  app.add_transform(ProcessLink)\n", "path": "docs/conf.py"}]}