constrain.js revision 7e5a8a1727b2daa941a45bbb3d0296d2d5600a9f