Slitherlink

https://commons.wikimedia.org/wiki/File:SurizaL%C3%B6sung.png
Image: Wikimedia Commons

In this original logic puzzle by the Japanese publisher Nikoli, the goal is to connect lattice points to draw a closed loop so that each number in the grid denotes the number of sides on which the finished loop bounds its cell, as above: Each cell bearing a “1” is bounded on 1 side, a “2” on 2 sides, and so on.

Here’s a moderately difficult puzzle. Can you solve it? (A loop that merely touches a cell’s corner point without passing along any side is not considered to bound it.)

https://commons.wikimedia.org/wiki/File:Slitherlink-example.png
Image: Wikimedia Commons