function Nurikabe(){var a=this;a.constructor();a.uis.puzzle=["Nurikabe"];var h=a.board.c;rlist=a.rlist;var l=0,m=0,n=0,p=0,f=a.variant;f.nurikabe=["nurikabe",["Nurikabe"]];f.std=["std",["Nurikabe"]];f.liar=["liar",["Nurikabe (Liar)"]];f.araf=["araf",["Nurikabe (Araf)"]];f.pairs=["pairs",["Nurikabe (Pairs)"]];f.cipher=["cipher",["Nurikabe (Cipher)"]];f.outside=["outside",["Nurikabe (Outside)"]];var q=nil;a.cell.keys=["a",0,"s",1,"d",nil,"x",0,"c",1,"v",nil,",",0,".",1,"-",nil];a.cell.values=[0,1,q]; a.enable.dragging=!0;a.keypad.left=nil;a.init=function(){Object.getPrototypeOf(a).init.call(a)};a.setup2=function(){try{if(a.labels.north=a.labels.south=a.labels.east=a.labels.west=0,a.level.nlabels){var b=a.level.nlabels.replace(/\s+/g," ").trim().split(" ");a.labels.west=parseInt(b[0]);a.labels.north=parseInt(b[1]);a.labels.east=parseInt(b[2]);a.labels.south=parseInt(b[3])}}catch(c){throw a.exception(c),c;}};a.reset2=function(){try{f.init(f.nurikabe,f.std);f.is(f.std)&&(a.uis.puzzle=f.std[1]);f.is(f.liar)&& (a.uis.puzzle=f.liar[1]);f.is(f.araf)&&(a.uis.puzzle=f.araf[1]);f.is(f.pairs)&&(a.uis.puzzle=f.pairs[1]);f.is(f.cipher)&&(a.uis.puzzle=f.cipher[1]);f.is(f.outside)&&(a.uis.puzzle=f.outside[1]);l=a.labels.west;m=a.labels.north;n=a.size.x-a.labels.east;p=a.size.y-a.labels.south;if(a.level.problem){var b=0;var c=a.level.problem.replace(/\s+/g," ").trim().split(" ");for(var d=m;d
=g?g.charCodeAt(0)+1E3-96:"A"<=g&&"Z">=g?g.charCodeAt(0)+1E3-64:parseInt(g):k.label=parseInt(g));if(k.label!=nil||0!=k.clues)k.value=1;k.value!=nil&&(k.fixed=!0)}}if(a.level.clabels){b=0;c=a.level.clabels.replace(/\s+/g," ").trim().split(" ");for(d=0;d