prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  missing hidden import for skimage
  When packaging an application that imports skimage.feature (and nothing else), the app would not run due to an ImportError on the "transform" module.  This can be fixed by adding one item to the hiddenimports in hook-skimage.transform.py file (bolded below):
  
  > hiddenimports = ['skimage.draw.draw',
  >                  'skimage._shared.geometry',
  >                  'skimage.filters.rank.core_cy',
  >                  **'skimage._shared.transform'**] 
  > 
  > datas = collect_data_files('skimage')
  
  PyInstaller 3.2, Windows 7 64 bit, Python 2.7.12, Anaconda 4.1.1 distribution.
  
  
  </issue>
  <code>
  [start of PyInstaller/hooks/hook-skimage.transform.py]
  1 #-----------------------------------------------------------------------------
  2 # Copyright (c) 2014-2016, PyInstaller Development Team.
  3 #
  4 # Distributed under the terms of the GNU General Public License with exception
  5 # for distributing bootloader.
  6 #
  7 # The full license is in the file COPYING.txt, distributed with this software.
  8 #-----------------------------------------------------------------------------
  9 from PyInstaller.utils.hooks import collect_data_files
  10 
  11 # Hook tested with scikit-image (skimage) 0.9.3 on Mac OS 10.9 and Windows 7
  12 # 64-bit
  13 hiddenimports = ['skimage.draw.draw',
  14                  'skimage._shared.geometry',
  15                  'skimage.filters.rank.core_cy']
  16 
  17 datas = collect_data_files('skimage')
  18
  [end of PyInstaller/hooks/hook-skimage.transform.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/PyInstaller/hooks/hook-skimage.transform.py b/PyInstaller/hooks/hook-skimage.transform.py
  --- a/PyInstaller/hooks/hook-skimage.transform.py
  +++ b/PyInstaller/hooks/hook-skimage.transform.py
  @@ -12,6 +12,7 @@
   # 64-bit
   hiddenimports = ['skimage.draw.draw',
                    'skimage._shared.geometry',
  +                 'skimage._shared.transform',
                    'skimage.filters.rank.core_cy']
   
   datas = collect_data_files('skimage')
  
verification_info: {"golden_diff": "diff --git a/PyInstaller/hooks/hook-skimage.transform.py b/PyInstaller/hooks/hook-skimage.transform.py\n--- a/PyInstaller/hooks/hook-skimage.transform.py\n+++ b/PyInstaller/hooks/hook-skimage.transform.py\n@@ -12,6 +12,7 @@\n # 64-bit\n hiddenimports = ['skimage.draw.draw',\n                  'skimage._shared.geometry',\n+                 'skimage._shared.transform',\n                  'skimage.filters.rank.core_cy']\n \n datas = collect_data_files('skimage')\n", "issue": "missing hidden import for skimage\nWhen packaging an application that imports skimage.feature (and nothing else), the app would not run due to an ImportError on the \"transform\" module.  This can be fixed by adding one item to the hiddenimports in hook-skimage.transform.py file (bolded below):\n\n> hiddenimports = ['skimage.draw.draw',\n>                  'skimage._shared.geometry',\n>                  'skimage.filters.rank.core_cy',\n>                  **'skimage._shared.transform'**] \n> \n> datas = collect_data_files('skimage')\n\nPyInstaller 3.2, Windows 7 64 bit, Python 2.7.12, Anaconda 4.1.1 distribution.\n\n", "before_files": [{"content": "#-----------------------------------------------------------------------------\n# Copyright (c) 2014-2016, PyInstaller Development Team.\n#\n# Distributed under the terms of the GNU General Public License with exception\n# for distributing bootloader.\n#\n# The full license is in the file COPYING.txt, distributed with this software.\n#-----------------------------------------------------------------------------\nfrom PyInstaller.utils.hooks import collect_data_files\n\n# Hook tested with scikit-image (skimage) 0.9.3 on Mac OS 10.9 and Windows 7\n# 64-bit\nhiddenimports = ['skimage.draw.draw',\n                 'skimage._shared.geometry',\n                 'skimage.filters.rank.core_cy']\n\ndatas = collect_data_files('skimage')\n", "path": "PyInstaller/hooks/hook-skimage.transform.py"}]}