prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Paragraph block alignment
  <!-- Do you want to ask a question? Are you looking for support? The system administrator can help you: admin@utn.se -->
  
  See image:
  
  ![image](https://user-images.githubusercontent.com/29704138/27686692-2cadaf20-5cd4-11e7-92bf-caa849baa276.png)
  
  [Description of the issue]
  
  ### Steps to Reproduce
  
  1. [First Step]
  2. [Second Step]
  3. [and so on...]
  
  <!-- Please select the appropriate "topic category"/blue and "issue type"/yellow label -->
  
  
  </issue>
  <code>
  [start of website/blocks/models.py]
  1 from wagtail.wagtailcore import blocks
  2 from wagtail.wagtailimages.blocks import ImageChooserBlock
  3 
  4 from django.utils.translation import ugettext_lazy as _
  5 
  6 
  7 class CountersBlock(blocks.StructBlock):
  8     title = blocks.CharBlock()
  9     counters = blocks.ListBlock(blocks.StructBlock([
  10         ('icon', blocks.CharBlock(
  11             help_text=_('Material icon font icon text, as found on: '
  12                         'https://material.io/icons'),
  13         )),
  14         ('value', blocks.CharBlock()),
  15         ('description', blocks.CharBlock(required=False))
  16     ]))
  17     style = blocks.ChoiceBlock(choices=[
  18         ('light', _('Light')),
  19         ('dark', _('Dark')),
  20     ])
  21 
  22     class Meta:
  23         label = _('Counters')
  24         icon = 'fa-balance-scale'
  25         template = 'blocks/counter.html'
  26 
  27 
  28 class HeadingBlock(blocks.StructBlock):
  29     title = blocks.CharBlock(required=True)
  30     subtitle = blocks.CharBlock(required=False)
  31 
  32     class Meta:
  33         label = _('Heading')
  34         icon = 'fa-header'
  35         template = 'blocks/title.html'
  36 
  37 
  38 class ImageDescriptionBlock(blocks.StructBlock):
  39     description = blocks.RichTextBlock()
  40     image = ImageChooserBlock()
  41     image_alignment = blocks.ChoiceBlock(choices=[
  42         ('left', _('Left')),
  43         ('right', _('Right')),
  44     ])
  45     hide_on_med = blocks.BooleanBlock(required=False)
  46 
  47     class Meta:
  48         label = _('Image + Description')
  49         icon = 'fa-file-image-o '
  50         template = 'blocks/image_description.html'
  51 
  52 
  53 class ImageIconsBlock(blocks.StructBlock):
  54     title = blocks.CharBlock()
  55     image = ImageChooserBlock()
  56     image_alignment = blocks.ChoiceBlock(choices=[
  57         ('left', _('Left')),
  58         ('right', _('Right')),
  59     ])
  60     icons = blocks.ListBlock(blocks.StructBlock([
  61         ('icon', blocks.CharBlock(
  62             help_text=_('Material icon font icon text, as found on: '
  63                         'https://material.io/icons'),
  64         )),
  65         ('title', blocks.CharBlock()),
  66         ('description', blocks.CharBlock())
  67     ]))
  68     hide_on_med = blocks.BooleanBlock(required=False)
  69 
  70     class Meta:
  71         label = _('Image + Icons')
  72         icon = 'fa-file-excel-o'
  73         template = 'blocks/image_icons.html'
  74 
  75 
  76 class OverlayBlock(blocks.StructBlock):
  77     image = ImageChooserBlock()
  78     title = blocks.CharBlock(required=False)
  79     description = blocks.CharBlock(required=False)
  80 
  81     link = blocks.URLBlock(required=False)
  82     button = blocks.CharBlock(required=False)
  83 
  84     class Meta:
  85         label = _('Image overlay')
  86         icon = 'fa-clone'
  87         template = 'blocks/overlay.html'
  88 
  89 
  90 WAGTAIL_STATIC_BLOCKTYPES = [
  91     ('heading', HeadingBlock()),
  92     ('paragraph', blocks.RichTextBlock()),
  93     ('image_description', ImageIconsBlock()),
  94     ('image_icons', ImageDescriptionBlock()),
  95     ('overlay', OverlayBlock()),
  96     ('logos', blocks.ListBlock(
  97         ImageChooserBlock(),
  98         icon='fa-pied-piper',
  99         template='blocks/logos.html',
  100         label=_('Logos'),
  101     )),
  102     ('counters', CountersBlock()),
  103     ('image', ImageChooserBlock(template='blocks/image.html')),
  104 ]
  105
  [end of website/blocks/models.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/website/blocks/models.py b/website/blocks/models.py
  --- a/website/blocks/models.py
  +++ b/website/blocks/models.py
  @@ -89,7 +89,7 @@
   
   WAGTAIL_STATIC_BLOCKTYPES = [
       ('heading', HeadingBlock()),
  -    ('paragraph', blocks.RichTextBlock()),
  +    ('paragraph', blocks.RichTextBlock(template='blocks/paragraph.html')),
       ('image_description', ImageIconsBlock()),
       ('image_icons', ImageDescriptionBlock()),
       ('overlay', OverlayBlock()),
  
verification_info: {"golden_diff": "diff --git a/website/blocks/models.py b/website/blocks/models.py\n--- a/website/blocks/models.py\n+++ b/website/blocks/models.py\n@@ -89,7 +89,7 @@\n \n WAGTAIL_STATIC_BLOCKTYPES = [\n     ('heading', HeadingBlock()),\n-    ('paragraph', blocks.RichTextBlock()),\n+    ('paragraph', blocks.RichTextBlock(template='blocks/paragraph.html')),\n     ('image_description', ImageIconsBlock()),\n     ('image_icons', ImageDescriptionBlock()),\n     ('overlay', OverlayBlock()),\n", "issue": "Paragraph block alignment\n<!-- Do you want to ask a question? Are you looking for support? The system administrator can help you: admin@utn.se -->\r\n\r\nSee image:\r\n\r\n![image](https://user-images.githubusercontent.com/29704138/27686692-2cadaf20-5cd4-11e7-92bf-caa849baa276.png)\r\n\r\n[Description of the issue]\r\n\r\n### Steps to Reproduce\r\n\r\n1. [First Step]\r\n2. [Second Step]\r\n3. [and so on...]\r\n\r\n<!-- Please select the appropriate \"topic category\"/blue and \"issue type\"/yellow label -->\r\n\n", "before_files": [{"content": "from wagtail.wagtailcore import blocks\nfrom wagtail.wagtailimages.blocks import ImageChooserBlock\n\nfrom django.utils.translation import ugettext_lazy as _\n\n\nclass CountersBlock(blocks.StructBlock):\n    title = blocks.CharBlock()\n    counters = blocks.ListBlock(blocks.StructBlock([\n        ('icon', blocks.CharBlock(\n            help_text=_('Material icon font icon text, as found on: '\n                        'https://material.io/icons'),\n        )),\n        ('value', blocks.CharBlock()),\n        ('description', blocks.CharBlock(required=False))\n    ]))\n    style = blocks.ChoiceBlock(choices=[\n        ('light', _('Light')),\n        ('dark', _('Dark')),\n    ])\n\n    class Meta:\n        label = _('Counters')\n        icon = 'fa-balance-scale'\n        template = 'blocks/counter.html'\n\n\nclass HeadingBlock(blocks.StructBlock):\n    title = blocks.CharBlock(required=True)\n    subtitle = blocks.CharBlock(required=False)\n\n    class Meta:\n        label = _('Heading')\n        icon = 'fa-header'\n        template = 'blocks/title.html'\n\n\nclass ImageDescriptionBlock(blocks.StructBlock):\n    description = blocks.RichTextBlock()\n    image = ImageChooserBlock()\n    image_alignment = blocks.ChoiceBlock(choices=[\n        ('left', _('Left')),\n        ('right', _('Right')),\n    ])\n    hide_on_med = blocks.BooleanBlock(required=False)\n\n    class Meta:\n        label = _('Image + Description')\n        icon = 'fa-file-image-o '\n        template = 'blocks/image_description.html'\n\n\nclass ImageIconsBlock(blocks.StructBlock):\n    title = blocks.CharBlock()\n    image = ImageChooserBlock()\n    image_alignment = blocks.ChoiceBlock(choices=[\n        ('left', _('Left')),\n        ('right', _('Right')),\n    ])\n    icons = blocks.ListBlock(blocks.StructBlock([\n        ('icon', blocks.CharBlock(\n            help_text=_('Material icon font icon text, as found on: '\n                        'https://material.io/icons'),\n        )),\n        ('title', blocks.CharBlock()),\n        ('description', blocks.CharBlock())\n    ]))\n    hide_on_med = blocks.BooleanBlock(required=False)\n\n    class Meta:\n        label = _('Image + Icons')\n        icon = 'fa-file-excel-o'\n        template = 'blocks/image_icons.html'\n\n\nclass OverlayBlock(blocks.StructBlock):\n    image = ImageChooserBlock()\n    title = blocks.CharBlock(required=False)\n    description = blocks.CharBlock(required=False)\n\n    link = blocks.URLBlock(required=False)\n    button = blocks.CharBlock(required=False)\n\n    class Meta:\n        label = _('Image overlay')\n        icon = 'fa-clone'\n        template = 'blocks/overlay.html'\n\n\nWAGTAIL_STATIC_BLOCKTYPES = [\n    ('heading', HeadingBlock()),\n    ('paragraph', blocks.RichTextBlock()),\n    ('image_description', ImageIconsBlock()),\n    ('image_icons', ImageDescriptionBlock()),\n    ('overlay', OverlayBlock()),\n    ('logos', blocks.ListBlock(\n        ImageChooserBlock(),\n        icon='fa-pied-piper',\n        template='blocks/logos.html',\n        label=_('Logos'),\n    )),\n    ('counters', CountersBlock()),\n    ('image', ImageChooserBlock(template='blocks/image.html')),\n]\n", "path": "website/blocks/models.py"}]}