Analyze the provided basic schema and refine it by identifying repetitive patterns, creating appropriate blocks, and removing redundant elements.

## INPUT
Basic schema of a webpage section:
{basic_schema}

## REFINEMENT OBJECTIVES
1. **Identify Repetitive Patterns**: Look for elements that repeat with similar structure/purpose
2. **Create Blocks**: Group repetitive elements into logical blocks with appropriate block_type names
3. **Remove Redundancy**: Eliminate duplicate elements when blocks are created
4. **Preserve Structure**: Maintain the original schema if no patterns or repetitions exist

## BLOCK CREATION RULES

### When to Create Blocks:
- **3 or more similar elements** with the same element_type and similar element_ids
- **Repeating groups** of different elements that form a pattern (e.g., image + text + button)
- **Elements with wwai_base_settings** that clearly follow a repetitive pattern and have a semantically similar name with high similarity.

### Block Naming Convention:
- Use descriptive names that indicate the content type: `product_cards`, `feature_items`, `review_blocks`, `benefit_points`, `testimonial_cards`
- Avoid generic names like `block_1` or `item_block`

### Block Assignment Logic:
- **Keep one representative element** from each repetitive group
- **Assign the new block_type** to the representative element
- **Remove the duplicate elements** completely from the schema
- **Preserve unique elements** that don't follow patterns

## REFINEMENT PROCESS

### Step 1: Pattern Analysis
- Group elements by similar element_type and naming patterns
- Identify repeating element sequences (like card structures)
- Look for elements with identical or near-identical purposes

### Step 2: Block Decision
- **Create Block**: If 3+ similar elements or clear repetitive patterns exist
- **No Change**: If elements are genuinely unique and serve different purposes

### Step 3: Schema Transformation
- Replace repetitive elements with single representative element
- Update block_type from "wwai_base_settings" to descriptive block name
- Maintain all other element properties (control_field_id, control_field_value, etc.)

## EXAMPLE PATTERNS TO RECOGNIZE

### Product/Item Repetitions:
```
product_image_1, product_image_2, product_image_3
→ Keep: product_image (block_type: "product_cards")
```

### Feature/Benefit Lists:
```
feature_text_1, feature_icon_1, feature_text_2, feature_icon_2
→ Keep: feature_text, feature_icon (block_type: "feature_items")
```

### Review/Testimonial Patterns:
```
review_text_1, review_author_1, review_stars_1, review_text_2, review_author_2, review_stars_2
→ Keep: review_text, review_author, review_stars (block_type: "review_blocks")
```

## OUTPUT REQUIREMENTS
- Return the refined schema with the same structure as input
- Ensure all remaining elements have appropriate block_type values
- Maintain all field properties (element_id, element_type, control fields, etc.)
- If no refinement is needed, return the exact input schema unchanged

## IMPORTANT CONSIDERATIONS
- **Don't over-block**: Only create blocks for genuine repetitive patterns
- **Preserve uniqueness**: Keep elements that serve distinct purposes even if they share element_types
- **Maintain functionality**: Ensure control_field_id and control_field_value relationships remain intact
- **Be conservative**: When in doubt, prefer not creating a block over creating an unnecessary one