prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Error looking for icon for tutorial for 0.3.0.dev9
  This is with Python 3.6.5 in a clean venv:
  ```
  (.venv) PS C:\Users\_\Desktop\toga_tutorial> python .\helloworld.py
  [Winforms] No valid icon format available for C:\Users\brcan\Desktop\toga_tutorial\.venv\lib\site-packages\toga\resources\tiberius; fall back on Tiberius instead
  
  Unhandled Exception: Python.Runtime.PythonException: FileNotFoundException : Could not find file 'C:\Users\brcan\Desktop\toga_tutorial\.venv\lib\site-packages\toga\resources\tiberius.ico'.
     at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
     at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
     at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
     at System.Drawing.Icon..ctor(String fileName, Int32 width, Int32 height)
     at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
     at System.Threading.ThreadHelper.ThreadStart()
  ```
  
  </issue>
  <code>
  [start of src/core/setup.py]
  1 #/usr/bin/env python
  2 import io
  3 import re
  4 
  5 from setuptools import setup, find_packages
  6 
  7 with io.open('toga/__init__.py', encoding='utf8') as version_file:
  8     version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file.read(), re.M)
  9     if version_match:
  10         version = version_match.group(1)
  11     else:
  12         raise RuntimeError("Unable to find version string.")
  13 
  14 
  15 with io.open('README.rst', encoding='utf8') as readme:
  16     long_description = readme.read()
  17 
  18 
  19 setup(
  20     name='toga-core',
  21     version=version,
  22     description='A Python native, OS native GUI toolkit.',
  23     long_description=long_description,
  24     author='Russell Keith-Magee',
  25     author_email='russell@keith-magee.com',
  26     url='http://pybee.org/toga',
  27     packages=find_packages(exclude='tests'),
  28     python_requires='>=3.5',
  29     package_data={
  30         'toga': ['resources/*.icns', 'resources/*.png'],
  31     },
  32     include_package_data=True,
  33     install_requires=[
  34         'travertino>=0.1.0'
  35     ],
  36     tests_require=[
  37         'toga-dummy==%s' % version
  38     ],
  39     license='New BSD',
  40     classifiers=[
  41         'Development Status :: 3 - Alpha',
  42         'Intended Audience :: Developers',
  43         'License :: OSI Approved :: BSD License',
  44         'Operating System :: OS Independent',
  45         'Programming Language :: Python :: 3',
  46         'Programming Language :: Python :: 3.5',
  47         'Programming Language :: Python :: 3.6',
  48         'Programming Language :: Python :: 3.7',
  49         'Programming Language :: Python :: 3 :: Only',
  50         'Topic :: Software Development',
  51         'Topic :: Software Development :: User Interfaces',
  52         'Topic :: Software Development :: Widget Sets',
  53     ],
  54     test_suite='tests',
  55     zip_safe=False,
  56 )
  57
  [end of src/core/setup.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/src/core/setup.py b/src/core/setup.py
  --- a/src/core/setup.py
  +++ b/src/core/setup.py
  @@ -27,7 +27,7 @@
       packages=find_packages(exclude='tests'),
       python_requires='>=3.5',
       package_data={
  -        'toga': ['resources/*.icns', 'resources/*.png'],
  +        'toga': ['resources/*.icns', 'resources/*.ico', 'resources/*.png'],
       },
       include_package_data=True,
       install_requires=[
  
verification_info: {"golden_diff": "diff --git a/src/core/setup.py b/src/core/setup.py\n--- a/src/core/setup.py\n+++ b/src/core/setup.py\n@@ -27,7 +27,7 @@\n     packages=find_packages(exclude='tests'),\n     python_requires='>=3.5',\n     package_data={\n-        'toga': ['resources/*.icns', 'resources/*.png'],\n+        'toga': ['resources/*.icns', 'resources/*.ico', 'resources/*.png'],\n     },\n     include_package_data=True,\n     install_requires=[\n", "issue": "Error looking for icon for tutorial for 0.3.0.dev9\nThis is with Python 3.6.5 in a clean venv:\r\n```\r\n(.venv) PS C:\\Users\\_\\Desktop\\toga_tutorial> python .\\helloworld.py\r\n[Winforms] No valid icon format available for C:\\Users\\brcan\\Desktop\\toga_tutorial\\.venv\\lib\\site-packages\\toga\\resources\\tiberius; fall back on Tiberius instead\r\n\r\nUnhandled Exception: Python.Runtime.PythonException: FileNotFoundException : Could not find file 'C:\\Users\\brcan\\Desktop\\toga_tutorial\\.venv\\lib\\site-packages\\toga\\resources\\tiberius.ico'.\r\n   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)\r\n   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)\r\n   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)\r\n   at System.Drawing.Icon..ctor(String fileName, Int32 width, Int32 height)\r\n   at Python.Runtime.Dispatcher.Dispatch(ArrayList args)\r\n   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)\r\n   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)\r\n   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)\r\n   at System.Threading.ThreadHelper.ThreadStart()\r\n```\n", "before_files": [{"content": "#/usr/bin/env python\nimport io\nimport re\n\nfrom setuptools import setup, find_packages\n\nwith io.open('toga/__init__.py', encoding='utf8') as version_file:\n    version_match = re.search(r\"^__version__ = ['\\\"]([^'\\\"]*)['\\\"]\", version_file.read(), re.M)\n    if version_match:\n        version = version_match.group(1)\n    else:\n        raise RuntimeError(\"Unable to find version string.\")\n\n\nwith io.open('README.rst', encoding='utf8') as readme:\n    long_description = readme.read()\n\n\nsetup(\n    name='toga-core',\n    version=version,\n    description='A Python native, OS native GUI toolkit.',\n    long_description=long_description,\n    author='Russell Keith-Magee',\n    author_email='russell@keith-magee.com',\n    url='http://pybee.org/toga',\n    packages=find_packages(exclude='tests'),\n    python_requires='>=3.5',\n    package_data={\n        'toga': ['resources/*.icns', 'resources/*.png'],\n    },\n    include_package_data=True,\n    install_requires=[\n        'travertino>=0.1.0'\n    ],\n    tests_require=[\n        'toga-dummy==%s' % version\n    ],\n    license='New BSD',\n    classifiers=[\n        'Development Status :: 3 - Alpha',\n        'Intended Audience :: Developers',\n        'License :: OSI Approved :: BSD License',\n        'Operating System :: OS Independent',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3 :: Only',\n        'Topic :: Software Development',\n        'Topic :: Software Development :: User Interfaces',\n        'Topic :: Software Development :: Widget Sets',\n    ],\n    test_suite='tests',\n    zip_safe=False,\n)\n", "path": "src/core/setup.py"}]}