Heyawaky

Description
Heyawaky is a variant of Heyawake, in which the cells in a grid are split into either shaded or unshaded.

Rules
The objective is to shade some cells, subject to the following rules:


 * 1) Numbers indicate how many shaded cells are in a room.
 * 2) Shaded cells must never touch horizontally or vertically.
 * 3) Unshaded cells must form one, connected area.
 * 4) A straight line of unshaded cells can only cross over one border at the most, even if it would re-enter a room.

Example
A standard 10x10 heyawaky puzzle and its solution.