Extract structured data from the following HTML and return it as JSON.

HTML:

<div class="post-header__body oflow-x-hidden ml-reset post-header__body--recipe" role="banner" style="outline: rgb(74, 144, 226) solid 3px; outline-offset: 2px;">
<div class="headline post-header__title post-header__title--masthead-layout"><h1 class="heading-1">Butternut squash curry</h1></div>
<div class="post-header__body__author">
<div class="author-link d-inline pa-reset author-link__list" data-feature="Author"><ul class="d-inline pa-reset list-style-none"><li class="d-inline"><a class="link link--styled" data-component="Link" href="/author/goodfood" rel="author">Good Food team</a></li></ul></div></div>
<div class="pocket hidden-print mb-sm" data-placement="recipeActions">
<div class="split-button" data-feature="save"><button class="button split-button__button split-button__main-button button--no-min-width" data-component="Button" data-component-variant="save" data-gtm-class="save-button" role="button" type="button">
<div class="button__content">
<div class="split-button__main-button-content d-flex justify-content-space-between align-items-center full-width"><i class="icon" style="width:14px;min-width:14px;height:14px;min-height:14px;animation-duration:1000ms"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:inherit;fill:inherit"><use xlink:href="/static/icons/base/sprite-maps/core-1a005f7320611e9f728ab33e1967ce65.svg#plus"></use></svg></i>
<div class="pl-xs">Save recipe</div></div></div></button><button aria-label="Manage Collections" class="button split-button__button split-button__sub-button button--no-min-width button--no-padding button--secondary" data-component="Button" data-component-variant="add-to-collection-button" data-gtm-class="add-to-collection-button" role="button" tabindex="-1" type="button">
<div class="button__content"><i class="icon" style="width:20px;min-width:20px;height:20px;min-height:20px;animation-duration:1000ms"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:inherit;fill:inherit"><use xlink:href="/static/icons/base/sprite-maps/core-1a005f7320611e9f728ab33e1967ce65.svg#dot-menu"></use></svg></i></div></button></div></div>
<div class="recipe-cook-and-prep-details">
<div class="recipe-cook-and-prep-details__section">
<div class="recipe-cook-and-prep-details__item"><strong>Serves 4</strong></div>
<div class="recipe-cook-and-prep-details__item"><strong>Easy</strong></div></div>
<div class="recipe-cook-and-prep-details__section">
<div class="recipe-cook-and-prep-details__item">Prep:<!-- --> <strong><span><time datetime="PT0H10M">10 mins</time></span></strong></div>
<div class="recipe-cook-and-prep-details__item">Cook:<!-- --> <strong><span><time datetime="PT0H40M">40 mins</time></span></strong></div></div></div>
<div class="pocket hidden-print post-header__row--center-aligned body-copy-small pocket--horizontal" data-placement="recipeMeta">
<div class="mt-sm d-flex">
<div class="rating__skiplinks" data-feature="Reactions" data-placement="Reactions Quick Links"><a class="link d-flex" data-component="Link" href="#rating">
<div class="rating rating--inline">
<div aria-label="rating" class="rating__values">
<div class="rating__stars d-flex"><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i></div><span class="sr-only">A star rating of 4.5 out of 5.</span><span class="rating__count-text body-copy-small">258 ratings</span><span class="rating__rate-link ml-xs body-copy-small">Rate</span></div></div></a><script type="application/ld+json">{"@context":"https://schema.org/","@id":"https://www.bbcgoodfood.com/recipes/indian-butternut-squash-curry#Recipe","aggregateRating":{"@type":"AggregateRating","ratingValue":5,"reviewCount":258,"bestRating":5,"worstRating":1}}</script><a class="link d-inline-flex link--styled" data-component="Link" href="#commentsFeed">137 comments</a></div></div></div>
<div>
<div class="line-clamper recipe-masthead__description" id="recipe-masthead-description">
<div class="region-clamper line-clamper__content" id="recipe-masthead-description-region" style="line-clamp:3;-webkit-line-clamp:3">
<div class="editor-content"><p>Up your veg count and get three of your five-a-day with this fragrant, low fat vegetarian curry</p></div></div></div></div>
<div class="post-header--masthead__tags">
<div class="post-header--masthead__tags-item">Freezable</div>
<div class="post-header--masthead__tags-item">Egg-free</div>
<div class="post-header--masthead__tags-item">Healthy</div>
<div class="post-header--masthead__tags-item">High-fibre</div>
<div class="post-header--masthead__tags-item">Nut-free</div>
<div class="post-header--masthead__tags-item">Vegetarian</div></div>
<div class="ab_container"><button class="button hidden-for-sm-down button--icon button--no-min-width button--secondary" data-component="Button" data-component-variant="print-button" data-feature="print" data-gtm-class="print-button" role="button" type="button">
<div class="button__content"><i class="mr-xs icon" style="width:20px;min-width:20px;height:20px;min-height:20px;animation-duration:nullms"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:inherit;fill:inherit"><use xlink:href="/static/icons/base/sprite-maps/core-1a005f7320611e9f728ab33e1967ce65.svg#print"></use></svg></i>Print</div></button><a class="ab_download_button" href="https://immediate.onelink.me/OQap?af_xp=custom&amp;pid=website&amp;c=guide_link_may25_variant2&amp;is_retargeting=true&amp;af_reengagement_window=30d&amp;af_dp=bbcgoodfood%3A%2F%2F" target="_blank"><img class="ab_pinktick" src="https://media.immediate.co.uk/volatile/sites/30/2025/03/arrowoutward27dpBE2A77FILL0wght400GRAD0opsz24-d1f0d96.svg"/><img class="ab_hide ab_whitetick" src="https://media.immediate.co.uk/volatile/sites/30/2025/02/arrowoutward24dp5F6368FILL0wght400GRAD0opsz24-1-8008a4f.svg"/>Try our app</a><p></p></div>
<div class="hidden-for-md-up post-header--masthead__piano-button-wrapper masthead-piano-promo-button"></div></div>
<!-- FRAGMENT SEPARATOR -->

<div class="tabbed-list__content" style="outline: rgb(74, 144, 226) solid 3px; outline-offset: 2px;">
<div class=""><section class="ingredients-list" data-component="IngredientsList" data-feature="Recipe Instructions" data-gtm-vis-first-on-screen39254740_288="34117" data-gtm-vis-has-fired39254740_288="1" data-gtm-vis-recent-on-screen39254740_288="34117" data-gtm-vis-total-visible-time39254740_288="100" data-stitcher-dai-container="ingredients-list" id="ingredients-list"><section><ul class="ingredients-list list"><li class="ingredients-list__item list-item" style="outline-offset: 2px;"><span class="ingredients-list__item-quantity">200g </span><a class="link link--styled" data-component="Link" href="/glossary/rice-glossary"><span class="ingredients-list__item-ingredient">brown basmati rice</span></a></li><li class="ingredients-list__item list-item list-item--separator-top" style="outline-offset: 2px;"><span class="ingredients-list__item-quantity">1 tbsp </span><a class="link link--styled" data-component="Link" href="/glossary/olive-oil-glossary"><span class="ingredients-list__item-ingredient">olive oil</span></a></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">1 </span><a class="link link--styled" data-component="Link" href="/glossary/butternut-squash-glossary"><span class="ingredients-list__item-ingredient">butternut squash</span></a>
<div class="ingredients-list__item-note"> diced</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">1 </span><a class="link link--styled" data-component="Link" href="/glossary/onion-glossary"><span class="ingredients-list__item-ingredient">red onion</span></a>
<div class="ingredients-list__item-note"> diced</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">2 tbsp </span><span class="ingredients-list__item-ingredient">mild curry paste</span></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">300ml </span><span class="ingredients-list__item-ingredient">vegetable stock</span></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">4 </span><a class="link link--styled" data-component="Link" href="/glossary/tomato-glossary"><span class="ingredients-list__item-ingredient">large tomatoes</span></a>
<div class="ingredients-list__item-note"> roughly chopped</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">400g </span><span class="ingredients-list__item-ingredient">can chickpeas</span>
<div class="ingredients-list__item-note"> rinsed and drained</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">3 tbsp </span><span class="ingredients-list__item-ingredient">fat-free Greek yogurt</span></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-ingredient">small handful coriander</span>
<div class="ingredients-list__item-note"> chopped</div></li></ul></section>
<div class="pocket hidden-print ingredients-list__heading list-item--separator-top mt-xs pt-xs pocket--horizontal" data-placement="recipeBelowIngredients">
<div class="d-flex">
<div data-feature="promotionalWidget" data-feature-variant="promoLink">
<div class="line-clamper">
<div class="region-clamper line-clamper__content" style="line-clamp:3;-webkit-line-clamp:3">Keep the screen awake with cook mode on the<!-- --> <a class="link link--styled" data-component="Link" href="https://immediate.onelink.me/OQap?af_xp=custom&amp;pid=website&amp;c=ingredients_CTA&amp;is_retargeting=true&amp;af_reengagement_window=30d&amp;af_dp=bbcgoodfood%3A%2F%2F">Good Food app.</a></div></div></div></div></div></section></div>
<div class="d-none"><p class="recipe__nutritions-caption">Nutrition: per serving</p><ul class="nutrition-list"><li class="nutrition-list__item"><span class="nutrition-list__label">kcal</span>423
<div class="nutrition-list__additional-text">low
<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms;transform:rotate(180deg)"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li><li class="nutrition-list__item"><span class="nutrition-list__label">fat</span>8<!-- -->g
<div class="nutrition-list__additional-text">low
<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms;transform:rotate(180deg)"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li><li class="nutrition-list__item"><span class="nutrition-list__label">saturates</span>1<!-- -->g</li><li class="nutrition-list__item"><span class="nutrition-list__label">carbs</span>68<!-- -->g</li><li class="nutrition-list__item"><span class="nutrition-list__label">sugars</span>16<!-- -->g
<div class="nutrition-list__additional-text">low
<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms;transform:rotate(180deg)"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li><li class="nutrition-list__item"><span class="nutrition-list__label">fibre</span>12<!-- -->g
<div class="nutrition-list__additional-text">high
<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li><li class="nutrition-list__item"><span class="nutrition-list__label">protein</span>14<!-- -->g</li><li class="nutrition-list__item"><span class="nutrition-list__label">salt</span>0.51<!-- -->g
<div class="nutrition-list__additional-text">low
<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms;transform:rotate(180deg)"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li></ul></div></div>
<!-- FRAGMENT SEPARATOR -->
<section class="method-steps mb-lg" data-placement="MethodList" style="outline-offset: 2px; outline: rgb(74, 144, 226) solid 3px;"><h2 class="method-steps__heading heading-3" style="outline-offset: 2px;">Method</h2><ul class="method-steps__list"><li class="method-steps__list-item" style="outline-offset: 2px;"><h3 class="method-steps__item-heading heading-5">step 1</h3>
<div class="editor-content"><p>Cook the rice in boiling salted water, as per pack instructions. Meanwhile, heat the oil in a large frying pan and cook the butternut squash for 2-3 mins until lightly browned. Add the onion and the curry paste and fry for 3-4 mins more.</p>
<div class="ad-placement" data-count="243"></div></div></li><li class="method-steps__list-item"><h3 class="method-steps__item-heading heading-5">step 2</h3>
<div class="editor-content"><p>Pour over the stock, then cover and simmer for 15-20 mins, or until the squash is tender. Add the tomatoes and chickpeas, then gently cook for 3-4 mins, until the tomatoes slightly soften.</p>
<div class="ad-placement" data-count="437"></div></div></li><li class="method-steps__list-item"><h3 class="method-steps__item-heading heading-5">step 3</h3>
<div class="editor-content"><p>Take off the heat and stir through the yogurt and coriander. Serve with the rice and some wholemeal chapattis if you like.</p>
<div class="ad-placement" data-count="565"></div></div></li></ul></section>

Return a JSON object with these fields: type, name, description, author, prep_time, cook_time, total_time, servings, ingredients (array), instructions (array)
user
{
  "type": "recipe",
  "name": "Butternut squash curry",
  "description": "Up your veg count and get three of your five-a-day with this fragrant, low fat vegetarian curry",
  "author": "Good Food team",
  "prep_time": "10 mins",
  "cook_time": "40 mins",
  "total_time": "50 mins",
  "servings": "4",
  "ingredients": [
    "200g brown basmati rice",
    "1 tbsp olive oil",
    "1 butternut squash diced",
    "1 red onion diced",
    "2 tbsp mild curry paste",
    "300ml vegetable stock",
    "4 large tomatoes roughly chopped",
    "400g can chickpeas rinsed and drained",
    "3 tbsp fat-free Greek yogurt",
    "small handful coriander chopped"
  ],
  "instructions": [
    "step 1Cook the rice in boiling salted water, as per pack instructions. Meanwhile, heat the oil in a large frying pan and cook the butternut squash for 2-3 mins until lightly browned. Add the onion and the curry paste and fry for 3-4 mins more.",
    "step 2Pour over the stock, then cover and simmer for 15-20 mins, or until the squash is tender. Add the tomatoes and chickpeas, then gently cook for 3-4 mins, until the tomatoes slightly soften.",
    "step 3Take off the heat and stir through the yogurt and coriander. Serve with the rice and some wholemeal chapattis if you like."
  ],
  "image_url": "https://media.immediate.co.uk/volatile/sites/30/2025/03/arrowoutward27dpBE2A77FILL0wght400GRAD0opsz24-d1f0d96.svg"
}
assistant