diff --git a/docs/design/bright-classroom/concepts/hint-soft-ribbon-a3-bright.tokens.json b/docs/design/bright-classroom/concepts/hint-soft-ribbon-a3-bright.tokens.json new file mode 100644 index 0000000..2e27eb9 --- /dev/null +++ b/docs/design/bright-classroom/concepts/hint-soft-ribbon-a3-bright.tokens.json @@ -0,0 +1,79 @@ +{ + "id": "hint-soft-ribbon-a3-bright", + "status": "production", + "units": "logical-canvas-pixels", + "body": { + "widthRatio": 0.235, + "widthMin": 7, + "widthMax": 26, + "cornerRadiusRatio": 0.2, + "edgeOuterExtra": 5, + "edgeInnerExtra": 2, + "edgeOuter": "rgba(255,191,126,0.10)", + "edgeInner": "rgba(255,199,140,0.18)", + "gradient": [ + [ + 0, + "rgba(255,196,136,0.78)" + ], + [ + 0.55, + "rgba(255,185,126,0.72)" + ], + [ + 1, + "rgba(255,196,139,0.65)" + ] + ], + "crownWidthRatio": 0.76, + "crownOffset": [ + -0.8, + -1.2 + ], + "crownColor": "rgba(255,240,203,0.24)", + "shadowColor": "rgba(197,122,53,0.09)", + "shadowBlur": 5, + "shadowY": 2 + }, + "highlight": { + "count": 1, + "speed": 60, + "minCycleMs": 1800, + "radiusRatioToWidth": 0.62, + "stretchAlongPath": 2.2, + "gradient": [ + [ + 0, + "rgba(255,255,245,0.90)" + ], + [ + 0.5, + "rgba(255,251,225,0.48)" + ], + [ + 1, + "rgba(255,251,225,0)" + ] + ] + }, + "endpointFade": { + "radiusRatio": 0.39, + "opaqueEraseUntil": 0.6 + }, + "target": { + "blur": 15, + "shadowColor": "rgba(250,194,99,0.70)", + "faceColor": "rgba(255,233,166,0.12)", + "tintCenterColor": "rgba(255,235,175,0.36)", + "tintRadiusRatio": 0.8, + "breathCycleMs": 2200, + "breathMin": 0.65, + "breathMax": 1 + }, + "constraints": { + "noArrows": true, + "noBracket": true, + "noTargetRing": true + }, + "keepoutFeather": 3 +} diff --git a/docs/design/bright-classroom/concepts/hint-soft-ribbon-a3.tokens.json b/docs/design/bright-classroom/concepts/hint-soft-ribbon-a3.tokens.json new file mode 100644 index 0000000..ece89ee --- /dev/null +++ b/docs/design/bright-classroom/concepts/hint-soft-ribbon-a3.tokens.json @@ -0,0 +1,79 @@ +{ + "id": "hint-soft-ribbon-a3", + "status": "design-handoff-not-production", + "units": "logical-canvas-pixels", + "body": { + "widthRatio": 0.235, + "widthMin": 7, + "widthMax": 26, + "cornerRadiusRatio": 0.2, + "edgeOuterExtra": 5, + "edgeInnerExtra": 2, + "edgeOuter": "rgba(245,163,102,0.10)", + "edgeInner": "rgba(247,171,112,0.16)", + "gradient": [ + [ + 0, + "rgba(251,182,123,0.72)" + ], + [ + 0.55, + "rgba(249,169,115,0.62)" + ], + [ + 1, + "rgba(247,180,120,0.52)" + ] + ], + "crownWidthRatio": 0.76, + "crownOffset": [ + -0.8, + -1.2 + ], + "crownColor": "rgba(255,224,180,0.16)", + "shadowColor": "rgba(197,122,53,0.15)", + "shadowBlur": 5, + "shadowY": 2 + }, + "highlight": { + "count": 1, + "speed": 60, + "minCycleMs": 1800, + "radiusRatioToWidth": 0.62, + "stretchAlongPath": 2.2, + "gradient": [ + [ + 0, + "rgba(255,255,233,0.82)" + ], + [ + 0.5, + "rgba(255,248,214,0.42)" + ], + [ + 1, + "rgba(255,248,214,0)" + ] + ] + }, + "endpointFade": { + "radiusRatio": 0.39, + "opaqueEraseUntil": 0.6 + }, + "target": { + "blur": 15, + "shadowColor": "rgba(250,194,99,0.70)", + "faceColor": "rgba(255,222,147,0.10)", + "tintCenterColor": "rgba(255,223,147,0.32)", + "tintRadiusRatio": 0.8, + "breathCycleMs": 2200, + "breathMin": 0.65, + "breathMax": 1 + }, + "constraints": { + "noArrows": true, + "noBracket": true, + "noTargetRing": true, + "noProductionChangeInPreview": true + } +} diff --git a/docs/design/bright-classroom/tokens.json b/docs/design/bright-classroom/tokens.json index 583c26f..62fb0b0 100644 --- a/docs/design/bright-classroom/tokens.json +++ b/docs/design/bright-classroom/tokens.json @@ -52,5 +52,84 @@ {"name":"白字/珊瑚(仅诊断,不采用)","fg":"onPrimary","bg":"coral","minimum":null}, {"name":"格面/舞台(仅诊断,格边承担识别)","fg":"cellFace","bg":"stage","minimum":null}, {"name":"蓝类别面/橙类别面(仅诊断,另配形状)","fg":"categoryBlueFace","bg":"categoryOrangeFace","minimum":null} - ] + ], + "hintSoftRibbon": { + "id": "hint-soft-ribbon-a3-bright", + "status": "production", + "units": "logical-canvas-pixels", + "body": { + "widthRatio": 0.235, + "widthMin": 7, + "widthMax": 26, + "cornerRadiusRatio": 0.2, + "edgeOuterExtra": 5, + "edgeInnerExtra": 2, + "edgeOuter": "rgba(255,191,126,0.10)", + "edgeInner": "rgba(255,199,140,0.18)", + "gradient": [ + [ + 0, + "rgba(255,196,136,0.78)" + ], + [ + 0.55, + "rgba(255,185,126,0.72)" + ], + [ + 1, + "rgba(255,196,139,0.65)" + ] + ], + "crownWidthRatio": 0.76, + "crownOffset": [ + -0.8, + -1.2 + ], + "crownColor": "rgba(255,240,203,0.24)", + "shadowColor": "rgba(197,122,53,0.09)", + "shadowBlur": 5, + "shadowY": 2 + }, + "highlight": { + "count": 1, + "speed": 60, + "minCycleMs": 1800, + "radiusRatioToWidth": 0.62, + "stretchAlongPath": 2.2, + "gradient": [ + [ + 0, + "rgba(255,255,245,0.90)" + ], + [ + 0.5, + "rgba(255,251,225,0.48)" + ], + [ + 1, + "rgba(255,251,225,0)" + ] + ] + }, + "endpointFade": { + "radiusRatio": 0.39, + "opaqueEraseUntil": 0.6 + }, + "target": { + "blur": 15, + "shadowColor": "rgba(250,194,99,0.70)", + "faceColor": "rgba(255,233,166,0.12)", + "tintCenterColor": "rgba(255,235,175,0.36)", + "tintRadiusRatio": 0.8, + "breathCycleMs": 2200, + "breathMin": 0.65, + "breathMax": 1 + }, + "constraints": { + "noArrows": true, + "noBracket": true, + "noTargetRing": true + }, + "keepoutFeather": 3 + } } diff --git a/wechat-campaign-200-r2/HANDOFF.md b/wechat-campaign-200-r2/HANDOFF.md index 7d5b600..b136ca8 100644 --- a/wechat-campaign-200-r2/HANDOFF.md +++ b/wechat-campaign-200-r2/HANDOFF.md @@ -1,3 +1,14 @@ +## 2026-10-23:A3明亮软糖指路(包含6abbc37) + +版本2026-10-23-soft-ribbon-a3-bright,以6abbc37为基础,包含iOS通关早点击负载优化、奇偶节点彩带、选关/规则/设置统一音效、设置冒号和“乐”字字重修复。独立包:../releases/NumberSwipe-main-A3明亮软糖指路-20261023.zip。旧包、旧解压目录不变;不上传、不推送。 + +- 按用户A3交接接入Canvas程序化软糖带,不使用PNG。保留0.235带宽比例(7–26逻辑像素)、圆润接缝、0.39pitch端点消隐;移除旧箭头、细白芯、双描边和目标圈。 +- 原参数对照保存在docs/design/bright-classroom/concepts/hint-soft-ribbon-a3.tokens.json;有效提亮参数在同目录hint-soft-ribbon-a3-bright.tokens.json及正式tokens.json的hintSoftRibbon命名空间。杏橙主体提亮、柔冠由低透明暖白增至0.24、棕影由0.15降至0.09;尺寸、速度和呼吸周期保持设计值。 +- 一段一个宽亮斑按真实弧长流动(60px/s,最短周期1800ms)。玩家落格不重置分段时钟;只过滤已走边,使用独立带面画布source-atop,帧帧从干净静态带面开始。 +- 目标取真实单元轮廓,材质/桥→目标柔光→实际数字/规则符号/墙门依次合成;目标缓慢呼吸(2200ms,0.65–1),不缩放、不复制或写死目标数字。玩家已走格及外晕在软糖和目标光两层都排除。 +- 弧长、合法圆角、静态带面和目标材质/符号层缓存;支持矩形、异形、孔洞和六边形。完成段、重开、换关和后台释放旧绘制状态;不支持离屏合成时保留静态带面。 +- 新增6项A3模块测试,并更新旧箭头视觉断言。200关指路填色像素一致;完整测试/200关触摸记录见qa/a3-check-20261023.txt。浏览器尺寸与样张验收入口为qa/bright-classroom.html的“A3尺寸与动画验收”。微信/iOS/Android真机帧率与混合效果仍需上传后复测。 + ## 2026-10-23:iOS通关早点击与界面反馈修复 版本:2026-10-23-ios-clear-ui-fix,基于0cefce4。独立新包:../releases/NumberSwipe-main-iOS通关切换与界面反馈修复-20261023.zip;旧包及旧包解压目录保持原样,不上传微信,不推送远端。 diff --git a/wechat-campaign-200-r2/OPTIMIZATION.md b/wechat-campaign-200-r2/OPTIMIZATION.md index f19daee..dfb240e 100644 --- a/wechat-campaign-200-r2/OPTIMIZATION.md +++ b/wechat-campaign-200-r2/OPTIMIZATION.md @@ -1,3 +1,14 @@ +## 2026-10-23:A3明亮软糖指路(包含6abbc37) + +版本2026-10-23-soft-ribbon-a3-bright,以6abbc37为基础,包含iOS通关早点击负载优化、奇偶节点彩带、选关/规则/设置统一音效、设置冒号和“乐”字字重修复。独立包:../releases/NumberSwipe-main-A3明亮软糖指路-20261023.zip。旧包、旧解压目录不变;不上传、不推送。 + +- 按用户A3交接接入Canvas程序化软糖带,不使用PNG。保留0.235带宽比例(7–26逻辑像素)、圆润接缝、0.39pitch端点消隐;移除旧箭头、细白芯、双描边和目标圈。 +- 原参数对照保存在docs/design/bright-classroom/concepts/hint-soft-ribbon-a3.tokens.json;有效提亮参数在同目录hint-soft-ribbon-a3-bright.tokens.json及正式tokens.json的hintSoftRibbon命名空间。杏橙主体提亮、柔冠由低透明暖白增至0.24、棕影由0.15降至0.09;尺寸、速度和呼吸周期保持设计值。 +- 一段一个宽亮斑按真实弧长流动(60px/s,最短周期1800ms)。玩家落格不重置分段时钟;只过滤已走边,使用独立带面画布source-atop,帧帧从干净静态带面开始。 +- 目标取真实单元轮廓,材质/桥→目标柔光→实际数字/规则符号/墙门依次合成;目标缓慢呼吸(2200ms,0.65–1),不缩放、不复制或写死目标数字。玩家已走格及外晕在软糖和目标光两层都排除。 +- 弧长、合法圆角、静态带面和目标材质/符号层缓存;支持矩形、异形、孔洞和六边形。完成段、重开、换关和后台释放旧绘制状态;不支持离屏合成时保留静态带面。 +- 新增6项A3模块测试,并更新旧箭头视觉断言。200关指路填色像素一致;完整测试/200关触摸记录见qa/a3-check-20261023.txt。浏览器尺寸与样张验收入口为qa/bright-classroom.html的“A3尺寸与动画验收”。微信/iOS/Android真机帧率与混合效果仍需上传后复测。 + ## 2026-10-23:iOS通关早点击与界面反馈修复 版本:2026-10-23-ios-clear-ui-fix,基于0cefce4。独立新包:../releases/NumberSwipe-main-iOS通关切换与界面反馈修复-20261023.zip;旧包及旧包解压目录保持原样,不上传微信,不推送远端。 diff --git a/wechat-campaign-200-r2/README.md b/wechat-campaign-200-r2/README.md index 6242546..ffa1228 100644 --- a/wechat-campaign-200-r2/README.md +++ b/wechat-campaign-200-r2/README.md @@ -1,3 +1,14 @@ +## 2026-10-23:A3明亮软糖指路(包含6abbc37) + +版本2026-10-23-soft-ribbon-a3-bright,以6abbc37为基础,包含iOS通关早点击负载优化、奇偶节点彩带、选关/规则/设置统一音效、设置冒号和“乐”字字重修复。独立包:../releases/NumberSwipe-main-A3明亮软糖指路-20261023.zip。旧包、旧解压目录不变;不上传、不推送。 + +- 按用户A3交接接入Canvas程序化软糖带,不使用PNG。保留0.235带宽比例(7–26逻辑像素)、圆润接缝、0.39pitch端点消隐;移除旧箭头、细白芯、双描边和目标圈。 +- 原参数对照保存在docs/design/bright-classroom/concepts/hint-soft-ribbon-a3.tokens.json;有效提亮参数在同目录hint-soft-ribbon-a3-bright.tokens.json及正式tokens.json的hintSoftRibbon命名空间。杏橙主体提亮、柔冠由低透明暖白增至0.24、棕影由0.15降至0.09;尺寸、速度和呼吸周期保持设计值。 +- 一段一个宽亮斑按真实弧长流动(60px/s,最短周期1800ms)。玩家落格不重置分段时钟;只过滤已走边,使用独立带面画布source-atop,帧帧从干净静态带面开始。 +- 目标取真实单元轮廓,材质/桥→目标柔光→实际数字/规则符号/墙门依次合成;目标缓慢呼吸(2200ms,0.65–1),不缩放、不复制或写死目标数字。玩家已走格及外晕在软糖和目标光两层都排除。 +- 弧长、合法圆角、静态带面和目标材质/符号层缓存;支持矩形、异形、孔洞和六边形。完成段、重开、换关和后台释放旧绘制状态;不支持离屏合成时保留静态带面。 +- 新增6项A3模块测试,并更新旧箭头视觉断言。200关指路填色像素一致;完整测试/200关触摸记录见qa/a3-check-20261023.txt。浏览器尺寸与样张验收入口为qa/bright-classroom.html的“A3尺寸与动画验收”。微信/iOS/Android真机帧率与混合效果仍需上传后复测。 + ## 2026-10-23:iOS通关早点击与界面反馈修复 版本:2026-10-23-ios-clear-ui-fix,基于0cefce4。独立新包:../releases/NumberSwipe-main-iOS通关切换与界面反馈修复-20261023.zip;旧包及旧包解压目录保持原样,不上传微信,不推送远端。 diff --git a/wechat-campaign-200-r2/bright-classroom-build.mjs b/wechat-campaign-200-r2/bright-classroom-build.mjs index 2825773..20807c6 100644 --- a/wechat-campaign-200-r2/bright-classroom-build.mjs +++ b/wechat-campaign-200-r2/bright-classroom-build.mjs @@ -12,7 +12,7 @@ export function applyBrightClassroom(source) { if(canvas.width!==Math.round(width*dpr))canvas.width=Math.round(width*dpr); if(canvas.height!==Math.round(height*dpr))canvas.height=Math.round(height*dpr); ctx.setTransform(dpr,0,0,dpr,0,0); - brightScene=renderBrightBoard(ctx,level,path,width,height,{preview:previewOnly}); + brightScene=renderBrightBoard(ctx,level,path,width,height,{preview:previewOnly,...brightHintOptions(Date.now()),pixelRatio:dpr}); ({polygons,centers,unit}=brightScene);channelViews=brightScene.channels;cellViews=brightScene.views; const bad=violations(level,path); ${tail}`; @@ -28,13 +28,15 @@ ${tail}`; // Preview rendering must restore every reference used by the live hint layer. source=source.replace('const saved={canvas,ctx,level,solution,path,polygons,centers,unit,focus,cleared,channelViews,cellViews};','const saved={canvas,ctx,level,solution,path,polygons,centers,unit,focus,cleared,channelViews,cellViews,brightScene};'); source=source.replace('({canvas,ctx,level,solution,path,polygons,centers,unit,focus,cleared,channelViews,cellViews}=saved)','({canvas,ctx,level,solution,path,polygons,centers,unit,focus,cleared,channelViews,cellViews,brightScene}=saved)'); - source=`import {renderBrightBoard,hintGeometry,drawBarriers} from '../bright-classroom/board-renderer.mjs';\nlet brightScene=null;\n`+source; + source=`import {renderBrightBoard,hintGeometry,drawBarriers} from '../bright-classroom/board-renderer.mjs';\nlet brightScene=null,brightHintKey='',brightHintStarted=0;\n`+source; source+=` export function refreshBrightBoard(now){ - if(!brightScene?.animating)return; + const options=brightHintOptions(now);if(!brightScene?.animating&&!options.hintTarget&&!brightScene?.hintLayers)return; const dpr=window.devicePixelRatio||1;ctx.setTransform(dpr,0,0,dpr,0,0); - brightScene=renderBrightBoard(ctx,level,path,canvas.clientWidth,canvas.clientHeight,{now}); + brightScene=renderBrightBoard(ctx,level,path,canvas.clientWidth,canvas.clientHeight,{now,...options,pixelRatio:dpr}); } +function brightHintOptions(now){const h=previewOnly?null:segmentHints.view(level,solution,path),key=h?level.id+':'+h.start+':'+h.end:'';if(key!==brightHintKey){brightHintKey=key;brightHintStarted=now;}return {hintTarget:h?.route.at(-1)||null,hintElapsed:now-brightHintStarted};} +export function resetBrightHint(){brightHintKey='';if(brightScene)brightScene.hintLayers=null;} export function brightOverlay(target){if(brightScene)drawBarriers(target,brightScene,path);} export function brightAnimating(){return Boolean(brightScene?.animating);} `; diff --git a/wechat-campaign-200-r2/game.js b/wechat-campaign-200-r2/game.js index 6021594..ce58f4a 100644 --- a/wechat-campaign-200-r2/game.js +++ b/wechat-campaign-200-r2/game.js @@ -1,4 +1,4 @@ -(()=>{var Te=class{constructor({after:e=requestAnimationFrame,cancel:i=cancelAnimationFrame,now:a=()=>Date.now(),canRun:t=()=>!0}={}){Object.assign(this,{after:e,cancel:i,now:a,canRun:t}),this.epoch=0}start(e,i){if(this.key===e)return;this.stop(),this.key=e,this.iterator=i,this.pending=!0;let a=this.epoch,t=this.now()+800,r=()=>{if(this.raf=null,a===this.epoch){if(this.now()>t){this.stop();return}try{if(this.canRun()&&i.next().done){this.pending=!1;return}}catch{this.stop();return}this.raf=this.after(r)}};this.raf=this.after(r)}stop(){var e,i;this.epoch++,this.raf&&this.cancel(this.raf),this.raf=null,(i=(e=this.iterator)==null?void 0:e.return)==null||i.call(e),this.iterator=null,this.pending=!1,this.key=null}};var Fc=null,Qe=!1;function O1(c,e){Fc||!c.createImage||(Fc=c.createImage(),Fc.onload=()=>{Qe=!0,e()},Fc.onerror=()=>{Qe=!1},Fc.src="images/title-reference.png")}function se(c,e){let i=c<350,a=Math.min(224,c-132);return{x:(c-a)/2,y:e-18,w:a,pillY:e+(i?48:66),gridOffset:i?80:98,gap:i?8:10}}function P1(c,e,i){if(!Qe)return;let a=se(e,i);c.drawImage(Fc,a.x,a.y,a.w,a.w*Fc.height/Fc.width)}function Ie(c,e){let t=(c-36-54-12)/2,r=se(c,e).pillY;return{x:18,y:r,w:t,gap:6,settings:{x:c-18-54,y:r,w:54,h:26}}}var De=class{constructor(e){this.api=e,this.enabled=!0,this.paused=!1,this.ducked=!1,this.loaded=typeof e.loadSubpackage!="function";try{this.enabled=e.getStorageSync("number-swipe:music:v1")!=="off"}catch{}}scene(e,i="default"){var r,o;if(this.name=e,this.level=i,!this.enabled||this.paused||this.failed)return;if(!this.loaded){if(!this.loading){this.loading=!0;try{this.api.loadSubpackage({name:"music",success:()=>{this.loading=!1,this.loaded=!0,this.scene(this.name,this.level)},fail:()=>{this.loading=!1,this.failed=!0}})}catch{this.loading=!1,this.failed=!0}}return}let a=e==="select"?"select":"play",t=a==="select"?"music/select.wav":"music/play-a.wav";if(this.playing===a&&this.current===t){this.volume();return}try{this.audio||(this.audio=this.api.createInnerAudioContext(),this.audio.loop=!0,this.audio.obeyMuteSwitch=!1,(o=(r=this.audio).onError)==null||o.call(r,()=>{this.playing=null,this.failed=!0})),this.audio.stop(),this.audio.src=t,this.playing=a,this.current=t,this.volume(),this.audio.play()}catch{this.playing=null,this.failed=!0}}volume(){this.audio&&(this.audio.volume=(this.playing==="select"?.136:.119)*(this.ducked?.25:1))}duck(){this.ducked=!0,this.volume()}unduck(){this.ducked=!1,this.volume()}stop(){var e;(e=this.audio)==null||e.stop(),this.playing=null}suspend(){this.paused=!0,this.unduck(),this.stop()}resume(){this.paused=!1,this.failed=!1,this.name&&this.scene(this.name,this.level)}toggle(){this.enabled=!this.enabled;try{this.api.setStorageSync("number-swipe:music:v1",this.enabled?"on":"off")}catch{}this.stop(),this.enabled&&this.resume()}snapshot(){var e,i;return{enabled:this.enabled,playing:this.playing||null,track:this.current||null,loaded:this.loaded,failed:!!this.failed,ducked:this.ducked,volume:(i=(e=this.audio)==null?void 0:e.volume)!=null?i:0}}};var Re=class{reset(){this.key=null,this.particles=[]}frame(e,i,a){var r,o;this.key!==e&&(this.key=e,this.particles=[],this.sequence=((r=a.at(-1))==null?void 0:r.sequence)||0,this.last=i,this.spawnAt=i);let t=a.filter(d=>d.sequence>this.sequence&&(d.kind==="move"||d.kind==="checkpoint"));return this.sequence=((o=a.at(-1))==null?void 0:o.sequence)||this.sequence,{manager:this,now:i,forward:t.length>0}}heads(e,i,a){let t=e.now,r=Math.max(0,Math.min(100,t-this.last));this.last=t;for(let o of this.particles)o.at+=o.rush?(i.total-o.origin)*r/180:65*r/1e3;if(e.forward){for(let o of this.particles)o.rush=!0,o.origin=o.at;this.spawnAt=t}return this.particles=this.particles.filter(o=>o.at=a-2)).slice(-8),t>=this.spawnAt&&(this.particles.push({at:a,rush:!1}),this.spawnAt=t+650),this.particles.map(o=>o.at)}};var W={completeGain:.85,moveMs:90,moveMaxScale:1.1,bridgeMs:70,undoMs:90,checkpointMs:90,checkpointMaxScale:1.3,ribbonMs:1500,maxRibbons:2,hapticGapMs:61,completeHapticDelayMs:90,audioGapMs:50,completeWaitMs:120,errorGapMs:180},Ze={move:1,undo:0,error:0,checkpoint:2,complete:3};var A1="number-swipe:haptics:v1",je=class{constructor(e,i,{now:a=()=>Date.now(),later:t=setTimeout,cancel:r=clearTimeout,preview:o=!1}={}){Object.assign(this,{api:e,storage:i,now:a,later:t,cancel:r,preview:o}),this.enabled=!0,this.last=-1/0,this.generation=0,this.timers=new Set,this.graded=!0;try{this.enabled=i.getItem(A1)!=="off"}catch{}}setEnabled(e){this.enabled=e;try{this.storage.setItem(A1,e?"on":"off")}catch{}e||this.stop()}stop(){this.generation++;for(let e of this.timers)this.cancel(e);this.timers.clear()}pulse(e,i=!1){var d;if(!this.enabled||this.preview||typeof((d=this.api)==null?void 0:d.vibrateShort)!="function"||!i&&this.now()-this.last{if(!(a!==this.generation||t!==this.request||this.now()-r>W.hapticGapMs||!this.enabled)){this.graded=!1;try{this.api.vibrateShort({fail(){}})}catch{}}};try{this.api.vibrateShort(this.graded?{type:e,fail:o}:{fail(){}})}catch{this.graded&&o()}}play(e){var i;if(["move","undo","checkpoint","complete"].includes(e)&&(this.pulse(e==="move"||e==="undo"?"light":"medium",e!=="move"&&e!=="undo"),e==="complete"&&this.enabled&&this.graded&&!this.preview&&typeof((i=this.api)==null?void 0:i.vibrateShort)=="function")){let a=this.generation,t=this.later(()=>{this.timers.delete(t),a===this.generation&&this.graded&&this.pulse("light",!0)},W.completeHapticDelayMs);this.timers.add(t)}}};var c1=class{constructor({now:e=()=>Date.now()}={}){this.now=e,this.sequence=0,this.events=[],this.visuals=[],this.depth=0,this.pending=null,this.enhanced=!0,this.epoch=0}attach(e,i,a){this.audio=e,this.enhanced=i.__feedbackMode!=="original",e.variant=this.enhanced?"enhanced":"original",this.haptics=new je(i,a,{preview:!!i.__feedbackPreview})}begin(){this.depth||(this.batchErrors=new Map),this.depth++}end(){this.depth>0&&this.depth--,this.depth||this.flush()}emit(e,i,a,t,r={}){var l,n;let o=JSON.stringify([i.id||i,a,t]);if(e==="error"&&this.depth&&((l=this.batchErrors)!=null&&l.has(o)))return this.batchErrors.get(o);let d={sequence:++this.sequence,kind:e,level:i.id||i,cell:a,step:t,time:this.now(),epoch:this.epoch,...r};return e==="error"&&this.depth&&this.batchErrors.set(o,d),this.events.push(d),this.events.length>256&&this.events.shift(),e!=="complete"&&this.completion&&(this.completion=null,(n=this.haptics)==null||n.stop()),e==="complete"&&(this.visuals=[],this.completion={event:d,start:null,locked:!1}),this.visuals.push(d),this.visuals=this.visuals.filter(h=>h.level===d.level&&d.time-h.time=(Ze[this.pending.kind]||0))&&(this.pending=d),this.depth||this.flush(),d}flush(){var i,a,t;let e=this.pending;this.pending=null,e&&((i=this.audio)==null||i.play(e.kind==="checkpoint"?"checkpoint":e.kind,0,e.step),this.enhanced&&(e.kind==="error"?(a=this.haptics)==null||a.stop():(t=this.haptics)==null||t.play(e.kind)))}reset(){var e,i;this.epoch++,this.pending=null,this.visuals=[],this.completion=null,(e=this.audio)==null||e.stop(),(i=this.haptics)==null||i.stop()}completionStart(e,i=!0){let a=this.completion;return a?(a.locked||(i&&e!==null&&e!==void 0&&e>=a.event.time&&e<=a.event.time+W.completeWaitMs?(a.start=e,a.locked=!0):(!i||this.now()-a.event.time>=W.completeWaitMs)&&(a.start=a.event.time,a.locked=!0)),a.start):null}active(e,i=this.now()){return this.visuals.filter(a=>a.level===(e.id||e)&&i>=a.time&&i-a.time({...a})),hapticsEnabled:(i=(e=this.haptics)==null?void 0:e.enabled)!=null?i:!0,enhanced:this.enhanced,epoch:this.epoch}}},A=new c1;var N1={channel:"main",version:"2026-10-23-ios-clear-ui-fix",date:"2026-10-23",baseVersion:"2026-10-22-resume-chapter-lessons",baseMainSHA256:"bb35d5edf8d96eb3253c78052d219b32f9a4241efd9971537f6c9c8896188125",package:"NumberSwipe-main-iOS\u901A\u5173\u5207\u6362\u4E0E\u754C\u9762\u53CD\u9988\u4FEE\u590D-20261023.zip",promotedFrom:"2026-10-22-layered-feedback-music-flow",previousVersion:"2026-10-23-descending-undo-fast-next"};var Ce={meta:{name:"NumberSwipe \u660E\u4EAE\u6559\u5177\u5BA4",version:"1.0-proposal",date:"2026-10-21",status:"Design specification; not applied to runtime",unit:"logical layout unit, not physical pixel",reference:[375,812]},color:{background:"#FFE69A",backgroundBottom:"#FFDE79",pattern:"#E8BE54",stage:"#FFF6DF",surface:"#FFFBF2",surfaceMuted:"#F1E6D0",cellFace:"#FFF8EA",cellDepth:"#D8C4A0",cellBoundary:"#8A7660",cellBevel:"#FFFFFF",ink:"#43382F",inkSecondary:"#71604F",primary:"#6552D9",primaryPressed:"#5140B7",primaryDepth:"#49379E",primarySoft:"#ECE7FF",primaryEdge:"#ADA0F1",onPrimary:"#FFFFFF",coral:"#F57950",coralInk:"#4F2418",coralSoft:"#FFE0CF",danger:"#B93B46",dangerDepth:"#8D2934",dangerSoft:"#FBE4E5",dangerInk:"#862735",hint:"#8B5E00",hintSoft:"#FFF0B8",hintCore:"#FFFFFF",hintCasing:"#43382F",hintRibbon:"#F49B75",hintRibbonDepth:"#C96E48",hintRibbonLight:"#FFF5DD",hintSpark:"#FFFDF0",success:"#2E6B52",successSoft:"#DEEFDC",categoryBlueFace:"#CEE4FF",categoryBlueInk:"#245A92",categoryOrangeFace:"#FFE0B2",categoryOrangeInk:"#8A470E",wallInk:"#43382F",wallStripe:"#F7C74D",doorClosed:"#8B4B29",doorOpen:"#2E6B52",disabledFace:"#E9E1D3",disabledInk:"#7A7064",focus:"#5140B7",overlay:"#43382F"},referenceMatch:{version:"2-reference-cushion",authority:"User-supplied reference image; overrides earlier flat production proposal",color:{background:"#FFE383",backgroundBottom:"#FFDA68",pattern:"#EFBF4D",stage:"#FAEED6",surface:"#FBEFD9",cellFace:"#F9EDD5",cellDepth:"#CDB590",ink:"#51452E",inkSecondary:"#796644",primary:"#8178F4",primaryPressed:"#7369DF",primaryDepth:"#5750BA",primaryEdge:"#B7AAFF",coral:"#FF7946"},pitchMax:104,bridgeRatio:.25,cellDepthRatio:.085,cellDepthMax:7,bevelRatio:.085,stageMargin:12,buttonRadiusRatio:.32,conditionFrames:!1,endpointCorners:!1,categoryVisitedFrames:!1},font:{numeric:"Nunito",cjk:"Noto Sans SC",fallback:"system-ui, -apple-system, Segoe UI, Microsoft YaHei, sans-serif",numericWeight:800,bodyWeight:500,labelWeight:600,headingWeight:700},type:{display:{size:32,line:40,weight:800},pageTitle:{size:24,line:32,weight:700},section:{size:18,line:26,weight:700},body:{size:16,line:24,weight:500},button:{size:16,line:22,weight:700},label:{size:14,line:20,weight:600},caption:{size:13,line:18,weight:500},micro:{size:12,line:16,weight:500}},spacing:[4,8,12,16,20,24,32,40,48],layout:{referenceWidth:375,referenceHeight:812,margin:20,compactMargin:16,topbarHeight:48,headerHeight:40,statusHeight:28,playfieldHeight:464,feedbackHeight:40,actionHeight:64,actionGap:10,tapTarget:48,pitchPreferred:56,pitchTargetMin:44,pitchReviewBelow:44,tileInsetRatio:.045,bridgeThicknessRatio:.42,stagePadding:16},radius:{small:8,label:12,button:18,stage:28,card:24,sheet:28,dialog:24,cellRatio:.18,cellMin:6,cellMax:12,concaveMaxRatio:.06,hexMaxRatio:.11},material:{light:"upper-left",cellDepthRatio:.055,cellDepthMin:2,cellDepthMax:4,pressedDepth:1,cellBoundary:1.25,bevelWidth:1,gradientChannelDeltaMax:6,cellShadow:{x:0,y:3,blur:5,alpha:.1},stageShadow:{x:0,y:4,blur:10,alpha:.08},buttonShadow:{x:0,y:3,blur:5,alpha:.12},dialogShadow:{x:0,y:12,blur:28,alpha:.16}},motionMs:{fast:120,base:200,slow:320,hold:500,buttonPress:80,buttonRelease:120,step:140,bridge:120,undo:100,conflict:200,hintAttention:2400,hintSegmentCycleMin:1200,door:160,spinner:160,clearSweep:320,clearHold:500,entryStagger:12,entryStaggerCap:120},motion:{easeOut:[.22,1,.36,1],stepPeak:1.015,stepPressed:.985,buttonPressed:.98,conflictTravelMax:1.5,spinnerDegrees:120,ambientAnimation:!1,reducedMotionHint:"static dashed path; keep all hint information"},contrastPairs:[{name:"\u6807\u9898/\u9EC4\u5E95",fg:"ink",bg:"background",minimum:4.5},{name:"\u8F85\u52A9\u6587\u5B57/\u9EC4\u5E95",fg:"inkSecondary",bg:"background",minimum:4.5},{name:"\u6B63\u6587/\u821E\u53F0",fg:"ink",bg:"stage",minimum:4.5},{name:"\u8F85\u52A9\u6587\u5B57/\u821E\u53F0",fg:"inkSecondary",bg:"stage",minimum:4.5},{name:"\u6570\u5B57/\u672A\u8D70\u5757",fg:"ink",bg:"cellFace",minimum:4.5},{name:"\u767D\u6570\u5B57/\u8DEF\u5F84",fg:"onPrimary",bg:"primary",minimum:4.5},{name:"\u767D\u5B57/\u6309\u538B\u7D2B",fg:"onPrimary",bg:"primaryPressed",minimum:4.5},{name:"\u767D\u6570\u5B57/\u9519\u8BEF",fg:"onPrimary",bg:"danger",minimum:4.5},{name:"\u9519\u8BEF\u8BF4\u660E/\u6DE1\u7EA2",fg:"dangerInk",bg:"dangerSoft",minimum:4.5},{name:"\u73CA\u745A\u6807\u7B7E\u6587\u5B57",fg:"coralInk",bg:"coral",minimum:4.5},{name:"\u6DE1\u7D2B\u9009\u4E2D\u6587\u5B57",fg:"primaryPressed",bg:"primarySoft",minimum:4.5},{name:"\u63D0\u793A\u6587\u5B57/\u6DE1\u9EC4",fg:"hint",bg:"hintSoft",minimum:4.5},{name:"\u6210\u529F\u6587\u5B57/\u6DE1\u7EFF",fg:"success",bg:"successSoft",minimum:4.5},{name:"\u84DD\u7C7B\u522B\u6807\u8BB0",fg:"categoryBlueInk",bg:"categoryBlueFace",minimum:4.5},{name:"\u6A59\u7C7B\u522B\u6807\u8BB0",fg:"categoryOrangeInk",bg:"categoryOrangeFace",minimum:4.5},{name:"\u6570\u5B57/\u84DD\u7C7B\u522B\u9762",fg:"ink",bg:"categoryBlueFace",minimum:4.5},{name:"\u6570\u5B57/\u6A59\u7C7B\u522B\u9762",fg:"ink",bg:"categoryOrangeFace",minimum:4.5},{name:"\u683C\u8FB9/\u683C\u9762",fg:"cellBoundary",bg:"cellFace",minimum:3},{name:"\u683C\u8FB9/\u821E\u53F0",fg:"cellBoundary",bg:"stage",minimum:3},{name:"\u8DEF\u5F84/\u672A\u8D70\u683C",fg:"primary",bg:"cellFace",minimum:3},{name:"\u63D0\u793A\u63CF\u8FB9/\u821E\u53F0",fg:"hintCasing",bg:"stage",minimum:3},{name:"\u63D0\u793A\u767D\u82AF/\u63CF\u8FB9",fg:"hintCore",bg:"hintCasing",minimum:3},{name:"\u5899/\u9EC4\u8272\u6761\u7EB9",fg:"wallInk",bg:"wallStripe",minimum:3},{name:"\u5899/\u821E\u53F0",fg:"wallInk",bg:"stage",minimum:3},{name:"\u5F00\u95E8\u6807\u8BB0/\u821E\u53F0",fg:"doorOpen",bg:"stage",minimum:3},{name:"\u5173\u95E8\u6807\u8BB0/\u821E\u53F0",fg:"doorClosed",bg:"stage",minimum:3},{name:"\u7126\u70B9/\u9EC4\u5E95",fg:"focus",bg:"background",minimum:3},{name:"\u767D\u5B57/\u73CA\u745A\uFF08\u4EC5\u8BCA\u65AD\uFF0C\u4E0D\u91C7\u7528\uFF09",fg:"onPrimary",bg:"coral",minimum:null},{name:"\u683C\u9762/\u821E\u53F0\uFF08\u4EC5\u8BCA\u65AD\uFF0C\u683C\u8FB9\u627F\u62C5\u8BC6\u522B\uFF09",fg:"cellFace",bg:"stage",minimum:null},{name:"\u84DD\u7C7B\u522B\u9762/\u6A59\u7C7B\u522B\u9762\uFF08\u4EC5\u8BCA\u65AD\uFF0C\u53E6\u914D\u5F62\u72B6\uFF09",fg:"categoryBlueFace",bg:"categoryOrangeFace",minimum:null}]};function Hc(c){return c.shape?c.shape.map(([e,i])=>[c.x+e,c.y+i]):Array.from({length:(c.w||1)*(c.h||1)},(e,i)=>[c.x+i%(c.w||1),c.y+Math.floor(i/(c.w||1))])}function Xc(c){let e=c.cells,i=new Map(e.map((o,d)=>[o.id,d]));if(i.size!==e.length)throw Error("\u91CD\u590D\u683C id");let a=e.map(()=>[]),t=new Map;if(c.geometry!=="hex")for(let o=0;oy===n&&s===h)}else l=Hc(e[o]).some(([n,h])=>[[1,0],[-1,0],[0,1],[0,-1]].some(([y,s])=>t.get(n+y+","+(h+s))===d));l&&(a[o].push(d),a[d].push(o))}let r=new Map;for(let o of e)if(o.clue!==void 0){if(!Number.isInteger(o.clue)||o.clue<1||o.clue>e.length||r.has(o.clue))throw Error("\u6570\u5B57\u8303\u56F4\u6216\u91CD\u590D");r.set(o.clue,i.get(o.id))}return{cells:e,ids:i,adj:a,clues:r}}function W1(c){let e=[];for(let i=0;i<(c.relations||[]).length;i++)e.push({key:"relation:"+i,kind:"relation",...c.relations[i]});for(let i=0;i<(c.orderChains||[]).length;i++)for(let a=0;ad.id===e),t=c.cells.find(d=>d.id===i),r=new Set(Hc(t).map(d=>d.join(","))),o=new Set;for(let[d,l]of Hc(a))for(let[n,h,y]of[[-1,0,"l"],[1,0,"r"],[0,-1,"u"],[0,1,"d"]])r.has(d+n+","+(l+h))&&o.add(y);return o.size===1?[...o][0]:null}function nr(c,e,i){if(i===0||i===e.length-1)return null;let a=$c(c,e[i],e[i-1]),t=$c(c,e[i],e[i+1]);return a&&t?[a,t].sort().join(""):null}function Ec(c,e){for(let i=1;i[d,l+1])),o=[];if(!t){for(let d of c.cells)if(d.clue!==void 0){let l=r.get(d.id);(l!==void 0&&l!==d.clue||e.length>=d.clue&&e[d.clue-1]!==d.id)&&o.push({key:"clue:"+d.id,cells:[d.id,e[d.clue-1]].filter(Boolean),message:"\u56FA\u5B9A\u6570\u5B57\u6B65\u53F7\u4E0D\u7B26"})}}for(let d of W1(c)){if(d.key===i)continue;let l=!1,n=[];if(d.kind==="relation"){let h=r.get(d.from),y=r.get(d.to);n=[d.from,d.to],l=y!==void 0&&(h===void 0||y-h!==d.delta)||h!==void 0&&y===void 0&&e.length>=h+d.delta}else if(d.kind==="order")n=[d.from,d.to],l=r.has(d.to)&&(!r.has(d.from)||r.get(d.from)>r.get(d.to));else if(d.kind==="window"){n=[d.cell];let h=r.get(d.cell);l=h!==void 0?hd.max:e.length>=d.max}else if(d.kind==="parity"){n=[d.cell];let h=r.get(d.cell);l=h!==void 0&&h%2===1!=(d.value==="odd")}else if(d.kind==="direction"){n=[d.cell];let h=r.get(d.cell);l=h===1||h!==void 0&&hg.id===e[h-1]),s=c.cells.find(g=>g.id===e[h]);y.category===s.category&&(l=!0,n.push(y.id,s.id))}else if(d.kind==="wall"||d.kind==="door")for(let h=1;hh)&&(l=!0,n=d.edge)}}l&&o.push({key:d.key,cells:n,message:d.kind==="relation"?"\u76F8\u5BF9\u6B65\u5DEE\u4E0D\u7B26":d.kind==="order"?"\u6807\u8BB0\u6B21\u5E8F\u4E0D\u7B26":d.kind==="window"?"\u5230\u8FBE\u7A97\u53E3\u4E0D\u7B26":d.kind==="parity"?"\u8BE5\u683C\u6B65\u53F7\u5947\u5076\u4E0D\u7B26":d.kind==="direction"?"\u8FDB\u51FA\u65B9\u5411\u4E0D\u7B26":d.kind==="wall"?"\u6C38\u4E45\u5899\u4E0D\u80FD\u7A7F\u8FC7":d.kind==="door"?"\u8FD9\u4E00\u6B65\u95E8\u662F\u5173\u95ED\u7684":d.kind==="gate"?"\u5F00\u5173\u5C1A\u672A\u6253\u5F00\u6B64\u95E8":"\u84DD\u6A59\u989C\u8272\u5FC5\u987B\u4EA4\u66FF"})}return o}function Fe(c,e,i){let a=Xc(c);if(e.includes(i)||!a.ids.has(i))return!1;if(!e.length)return!a.clues.has(1)||a.cells[a.clues.get(1)].id===i;let t=e.at(-1);if(L1(c,e,t,i)||!a.adj[a.ids.get(t)].includes(a.ids.get(i))||(c.features||[]).includes("alternation")&&a.cells[a.ids.get(t)].category===a.cells[a.ids.get(i)].category)return!1;for(let r of c.gates||[])if(r.edge.includes(t)&&r.edge.includes(i)&&!e.includes(r.switchCell))return!1;return!0}function H1(c,{limit:e=2,omit:i=null,ignoreClues:a=!1,prune:t=!0,nodeLimit:r=1/0}={}){let o=Xc(c),d=o.cells.length,l=[],n=[],h=new Set,y=0,s=W1(c).filter(f=>f.key!==i),g=s.some(f=>f.kind==="alternation"),u=o.adj.map((f,q)=>f.filter(k=>(!g||o.cells[q].category!==o.cells[k].category)&&!s.some(I=>I.kind==="wall"&&I.edge.includes(o.cells[q].id)&&I.edge.includes(o.cells[k].id)))),w=a?new Map:o.clues;function x(f){let q=new Set([f]),k=[f];for(let I=0;Ir)throw Error("\u6C42\u89E3\u8282\u70B9\u9884\u7B97\u8017\u5C3D\uFF0C\u4E0D\u80FD\u89C6\u4E3A\u552F\u4E00");h.add(f),n.push(o.cells[f].id);let q=n.length;if(!xc(c,n,{omit:i,ignoreClues:a}).length){if(q===d)l.push([...n]);else if(!t||x(f)){let k=w.get(q+1),I=u[f].filter(M=>!h.has(M)&&(k===void 0||M===k));I.sort((M,v)=>u[M].filter(B=>!h.has(B)).length-u[v].filter(B=>!h.has(B)).length);for(let M of I){if(!a&&o.cells[M].clue!==void 0&&o.cells[M].clue!==q+1)continue;let v=L1(c,n,o.cells[f].id,o.cells[M].id,{omit:i});for(let B of s)B.kind==="gate"&&B.edge.includes(o.cells[f].id)&&B.edge.includes(o.cells[M].id)&&!n.includes(B.switchCell)&&(v=!0);if(v||m(M),l.length>=e)break}}}n.pop(),h.delete(f)}let b=w.has(1)?[w.get(1)]:o.cells.map((f,q)=>q);for(let f of b)if(!(!a&&o.cells[f].clue!==void 0&&o.cells[f].clue!==1)&&(m(f),l.length>=e))break;return l}var Ee=c=>c.map(e=>Math.round(e*1e4)).join(","),Qc=(c,e,i)=>(e[0]-c[0])*(i[1]-e[1])-(e[1]-c[1])*(i[0]-e[0]),L=(c,e)=>Math.hypot(c[0]-e[0],c[1]-e[1]),e1=(c,e)=>[(c[0]+e[0])/2,(c[1]+e[1])/2];function yr(c){let e=new Set(c.map(r=>r.join(","))),i=[];for(let[r,o]of c)for(let[d,l,n,h]of[[0,-1,[r,o],[r+1,o]],[1,0,[r+1,o],[r+1,o+1]],[0,1,[r+1,o+1],[r,o+1]],[-1,0,[r,o+1],[r,o]]])e.has([r+d,o+l].join(","))||i.push({a:n,b:h,used:!1});let a=new Map;for(let r of i){let o=Ee(r.a);a.has(o)||a.set(o,[]),a.get(o).push(r)}let t=[];for(let r of i){if(r.used)continue;let o=[],d=r;do{if(d.used=!0,o.push(d.a),Ee(d.b)===Ee(r.a))break;let l=(a.get(Ee(d.b))||[]).filter(n=>!n.used);if(l.sort((n,h)=>Qc(d.a,d.b,h.b)-Qc(d.a,d.b,n.b)),d=l[0],!d)throw Error("Open block boundary");if(o.length>i.length)throw Error("Invalid block boundary")}while(!0);t.push(o.filter((l,n)=>Math.abs(Qc(o[(n+o.length-1)%o.length],l,o[(n+1)%o.length]))>1e-8))}return t}function hr(c,e){return c.map((i,a)=>{let t=c[(a+c.length-1)%c.length],r=c[(a+1)%c.length],o=L(t,i),d=L(i,r),l=[-(i[1]-t[1])/o,(i[0]-t[0])/o],n=[-(r[1]-i[1])/d,(r[0]-i[0])/d],h=1+l[0]*n[0]+l[1]*n[1];return[i[0]+e*(l[0]+n[0])/h,i[1]+e*(l[1]+n[1])/h]})}function Rc(c,e,i,a=0){c.beginPath();for(let t of e){for(let r=0;r0?i:i/3,L(o,d)*.35,L(d,l)*.35),h=g=>{let u=L(g,d);return[d[0]+(g[0]-d[0])*n/u,d[1]+(g[1]-d[1])*n/u+a]},y=h(o),s=h(l);r===0?c.moveTo(...y):c.lineTo(...y),c.quadraticCurveTo(d[0],d[1]+a,...s)}c.closePath()}}function sr(c,e){let i=[];for(let t of c.parts)for(let r of e.parts)for(let o=0;o.01||Math.abs(Qc(o,d,n))>.01)){if(L(d,l)<.01){i[t]=[o,n],i.splice(r,1),a=!0;break c}if(L(n,o)<.01){i[t]=[l,d],i.splice(r,1),a=!0;break c}}}}return i.sort((t,r)=>L(...r)-L(...t)||t[0][0]-r[0][0]||t[0][1]-r[0][1])}function i1(c,e,i){let a=c.geometry==="hex",t=[],r=[];for(let v of c.cells){let B,D,N,R;a?(D=[1.5*v.r,Math.sqrt(3)*(v.q+v.r/2)],N=[Array.from({length:6},(P,C)=>[D[0]+Math.cos(C*Math.PI/3),D[1]+Math.sin(C*Math.PI/3)])],B=N):(R=Hc(v),B=R.map(([P,C])=>[[P,C],[P+1,C],[P+1,C+1],[P,C+1]]),N=yr(R),D=[R.reduce((P,C)=>P+C[0]+.5,0)/R.length,R.reduce((P,C)=>P+C[1]+.5,0)/R.length],v.shape&&(D=R.map(([P,C])=>[P+.5,C+.5]).sort((P,C)=>L(P,D)-L(C,D)||P[1]-C[1]||P[0]-C[0])[0])),t.push({cell:v,parts:B,rings:N,center:D,occupied:R}),r.push(...B.flat())}let o=Math.min(...r.map(v=>v[0])),d=Math.max(...r.map(v=>v[0])),l=Math.min(...r.map(v=>v[1])),n=Math.max(...r.map(v=>v[1])),h=!a&&d-o>=7||(c.features||[]).length>=3,y=Y.referenceMatch.stageMargin,s=h?8:16,g=Y.referenceMatch.pitchMax*Math.min(1,e/375),u=Math.min(g/(a?Math.sqrt(3):1),(e-2*(y+s))/(d-o),(i-2*(s+8))/(n-l)),w=(e-(d-o)*u)/2-o*u,x=(i-(n-l)*u)/2-l*u-2,m=([v,B])=>[w+v*u,x+B*u],b=u*(a?Math.sqrt(3):1),f=b*Y.layout.tileInsetRatio,q=a?b*Y.radius.hexMaxRatio:U(Y.radius.cellMin,b*Y.radius.cellRatio,Y.radius.cellMax),k=t.map(v=>{let D=!a&&!v.cell.direction&&v.occupied.length>1?[...v.occupied].sort((R,P)=>R[1]-P[1]||R[0]-P[0])[0]:null,N=m(D?[D[0]+.5,D[1]+.5]:v.center);return{...v,parts:v.parts.map(R=>R.map(m)),rings:v.rings.map(R=>hr(R.map(m),f)),center:m(v.center),labelAnchor:N,radius:q}}),I=new Map(k.map(v=>[v.cell.id,v])),M=new Map;for(let v=0;v[v.cell.id,v.center])),polygons:k.flatMap(v=>v.parts.map(B=>({id:v.cell.id,p:B}))),transform:m}}function Oe(c,e,i){return c.edges.get([e,i].sort().join("|"))}function r1(c,e,i,a){if(!c.cell.shape)return[e,i];let t=c.occupied.map(([y,s])=>a.transform([y+.5,s+.5])),r=y=>t.reduce((s,g,u)=>L(g,y)Math.max(e,Math.min(i,c)),G1=c=>[1,3,5].map(e=>parseInt(c.slice(e,e+2),16));function J1(c,e,i,a,t){for(c.set(e,{value:i,bytes:a}),t==="field"?t1+=a:a1+=a;(t==="field"?t1:a1)>(t==="field"?gr:wr)&&c.size>1;){let r=c.keys().next().value,o=c.get(r);c.delete(r),t==="field"?t1-=o.bytes:a1-=o.bytes}return i}function Y1(c,e){let i=c.get(e);return i?(c.delete(e),c.set(e,i),i.value):null}function xr(c,e){return c.map(i=>{let a=[];for(let t=0;t0?e:e/3,l*.35,n*.35),s=[o[0]+(r[0]-o[0])*y/l,o[1]+(r[1]-o[1])*y/l],g=[o[0]+(d[0]-o[0])*y/n,o[1]+(d[1]-o[1])*y/n];for(let u=0;u<=6;u++){let w=u/6,x=1-w;a.push([x*x*s[0]+2*x*w*o[0]+w*w*g[0],x*x*s[1]+2*x*w*o[1]+w*w*g[1]])}}return a})}function ur(c,e,i,a,t,r,o){let d=Y1(_1,o);if(d)return d;let l=Math.ceil(i*t)+2,n=Math.ceil(a*t)+2,h=new Float32Array(l*n*3),y=c.length===1&&c[0].length===4&&c[0].every((g,u)=>{let w=c[0][(u+1)%4];return Math.abs(g[0]-w[0])<.001||Math.abs(g[1]-w[1])<.001}),s=y?[]:xr(c,e).flatMap(g=>g.map((u,w)=>{let x=g[(w+1)%g.length],m=x[0]-u[0],b=x[1]-u[1];return{a:u,b:x,dx:m,dy:b,len:m*m+b*b}}));for(let g=0;g0&&R>0?(b=-Math.sign(B)*P/cc,f=-Math.sign(D)*C/cc):N>R?(b=-Math.sign(B),f=0):(b=0,f=-Math.sign(D))}else{let B=1/0,D=0,N=0,R=!1;for(let C of s){C.a[1]>x!=C.b[1]>x&&wB[0])),m=Math.min(...w.map(B=>B[1])),b=Math.max(...w.map(B=>B[0]))-x,f=Math.max(...w.map(B=>B[1]))-m,q=e.map(B=>B.map(([D,N])=>[D-x,N-m])),k=JSON.stringify([q.map(B=>B.map(D=>D.map(N=>Math.round(N*100)/100))),Math.round(i*100),l,o]),I=k+"|"+[a,t,r,d,n,h,y,s,g,u].join("|"),M=Y1(K1,I);if(!M){if(typeof wx=="undefined"||!wx.createCanvas)return!1;let B=wx.createCanvas(),D=B.getContext("2d"),N=(v=D.createImageData)==null?void 0:v.call(D,1,1);if(!(N!=null&&N.data))return!1;let R=l,P=Math.ceil(Math.max(d,n)*2+Math.max(r,s)+2);B.width=Math.ceil((b+P*2)*R),B.height=Math.ceil((f+P*2+r)*R),D.setTransform(R,0,0,R,P*R,P*R);let C=ur(q,i,b,f,R,o,k),cc=D.createImageData(C.iw,C.ih),lc=G1(a),he=g?G1(g):[0,0,0];for(let sc=0,Ic=0;sc>>8)%17-8)*.055;for(let Lc=0;Lc<3;Lc++)cc.data[Ic+Lc]=Zc((lc[Lc]+(he[Lc]-lc[Lc])*ar+(255-lc[Lc])*tr+or)/255)*255;cc.data[Ic+3]=E1*255}let H=wx.createCanvas();H.width=C.iw,H.height=C.ih,H.getContext("2d").putImageData(cc,0,0);let ec=()=>D.drawImage(H,-1/R,-1/R,C.iw/R,C.ih/R);n>0&&(D.shadowColor=h,D.shadowBlur=n*R,D.shadowOffsetY=0,ec()),D.shadowColor=y,D.shadowBlur=d*R,D.shadowOffsetY=s*R,ec(),D.shadowBlur=0,D.shadowOffsetY=0,D.shadowColor="rgba(0,0,0,0)",r>0&&(Rc(D,q,i,r),D.fillStyle=t,D.fill()),D.drawImage(H,-1/R,-1/R,C.iw/R,C.ih/R),M={canvas:B,pad:P,res:R},J1(K1,I,M,B.width*B.height*4,"texture")}return c.drawImage(M.canvas,x-M.pad,m-M.pad,M.canvas.width/M.res,M.canvas.height/M.res),!0}function z1(c,e,i,a,t,r,o){return o1(c,[[[e,i],[e+a,i],[e+a,i+t],[e,i+t]]],r,o)}var Y=Ce,p={...Ce.color,...Ce.referenceMatch.color},U1='"Microsoft YaHei", sans-serif',Pe={};function ge(c){var e;try{let i=typeof wx!="undefined"&&((e=wx.loadFont)==null?void 0:e.call(wx,"fonts/"+c+".ttf"));return Pe[c]=i?"loaded":"fallback",i?'"'+i.replace(/"/g,"")+'", '+U1:null}catch{return Pe[c]="fallback",null}}var Ae={500:ge("NumberSwipeSans500"),600:ge("NumberSwipeSans600"),700:ge("NumberSwipeSans700")},d1=Ae[600]||U1,pr=ge("NumberSwipeDigits800")||d1,fr=ge("NumberSwipePlayful")||Ae[700]||d1,U=(c,e,i)=>Math.max(c,Math.min(e,i)),ce=new Map;function l1(c,e,i){let a=c.font+"|"+e;if(ce.has(a))return ce.get(a);let t=c.measureText(e);if(!Number.isFinite(t.actualBoundingBoxAscent)||!Number.isFinite(t.actualBoundingBoxLeft))try{if(typeof wx!="undefined"&&wx.createCanvas){let r=wx.createCanvas(),o=2,d=Math.ceil(i),l=d+i;r.width=Math.ceil((t.width+2*d)*o),r.height=Math.ceil(i*3*o);let n=r.getContext("2d");n.setTransform(o,0,0,o,0,0),n.font=c.font,n.textAlign="left",n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText(e,d,l);let h=n.getImageData(0,0,r.width,r.height);if(h!=null&&h.data){let y=r.width,s=-1,g=r.height,u=-1;for(let w=0;w8&&(y=Math.min(y,x),s=Math.max(s,x),g=Math.min(g,w),u=Math.max(u,w));s>=y&&(t={width:t.width,actualBoundingBoxLeft:d-y/o,actualBoundingBoxRight:(s+1)/o-d,actualBoundingBoxAscent:l-g/o,actualBoundingBoxDescent:(u+1)/o-l})}}}catch{}return ce.set(a,t),ce.size>512&&ce.delete(ce.keys().next().value),t}function mc(c,e,i,a,t,r){r=Math.max(0,Math.min(r,a/2,t/2)),c.beginPath(),c.moveTo(e+r,i),c.lineTo(e+a-r,i),c.quadraticCurveTo(e+a,i,e+a,i+r),c.lineTo(e+a,i+t-r),c.quadraticCurveTo(e+a,i+t,e+a-r,i+t),c.lineTo(e+r,i+t),c.quadraticCurveTo(e,i+t,e,i+t-r),c.lineTo(e,i+r),c.quadraticCurveTo(e,i,e+r,i),c.closePath()}function Oc(c,e=16,i=600,a=!1){let t=a?pr:Ae[i>=700?700:i<=500?500:600]||d1;c.font=`${a||Ae[i>=700?700:i<=500?500:600]?"normal":i} ${e}px ${t}`}function ic(c,e,i,a,t=16,r=p.ink,o=600,d=!1){Oc(c,t,o,d),V1(c,e,i,a,r)}function V1(c,e,i,a,t){var d;c.fillStyle=t,c.textAlign="left",c.textBaseline="alphabetic";let r=String(e),o=l1(c,r,Number((d=/([\d.]+)px/.exec(c.font))==null?void 0:d[1])||16);Number.isFinite(o.actualBoundingBoxAscent)&&Number.isFinite(o.actualBoundingBoxDescent)&&Number.isFinite(o.actualBoundingBoxLeft)&&Number.isFinite(o.actualBoundingBoxRight)?c.fillText(r,i+(o.actualBoundingBoxLeft-o.actualBoundingBoxRight)/2,a+(o.actualBoundingBoxAscent-o.actualBoundingBoxDescent)/2):(c.textAlign="center",c.textBaseline="middle",c.fillText(r,i,a))}function $1(c,e,i,a,t,r=p.ink){c.font=`normal ${t}px ${fr}`,V1(c,e,i,a,r)}function oc(c,e,i,a,t,r=24,o=p.surface,d=3){let l=o===p.primary||o===p.primaryPressed,n=o===p.stage;z1(c,e,i,a,t,r,{face:o,depthColor:l?p.primaryDepth:o===p.coral?"#DF6634":p.cellDepth,depth:n?0:d,bevel:Math.min(8,t*.15),shadow:n?12:Math.min(7,t*.1),shadowY:n?4:2,shadowColor:n?"rgba(116,77,28,.20)":"rgba(116,77,28,.18)",shadeColor:l?"#4F4AEC":n?"#B79B6C":o===p.coral?"#D54C24":"#89602A",shadeStrength:n?.35:1})||(c.save(),n||(mc(c,e,i+d,a,t,r),c.fillStyle=p.cellDepth,c.fill()),mc(c,e,i,a,t,r),c.fillStyle=o,c.fill(),c.restore())}function X1(c,e,i,a,t=15){let o=Math.ceil(t/3),d=se(c,i).gap,l=i+se(c,i).gridOffset,n=e-a-110-l,h=Math.min(76,(n-d*(o-1))/o),y=Math.min(130,(c-48-d*2)/3);return{columns:3,rows:o,gap:d,y:l,w:y,h,x:(c-(y*3+d*2))/2}}function Q1(c,e,i,a,t,r,{completed:o,current:d}){let l=o?"#D6EAD6":d?p.primary:p.surface;if(oc(c,i,a,t,r-3,Math.min(18,r*.28),l,3),d&&(c.save(),c.strokeStyle=o?p.primary:"#FFFFFF",c.lineWidth=2,mc(c,i+4,a+4,t-8,r-11,Math.min(14,r*.22)),c.stroke(),c.restore()),ic(c,e,i+t/2-(o?8:0),a+(r-3)/2,Math.min(24,r*.4),d&&!o?p.onPrimary:o?"#326443":p.ink,700),o){let n=Math.min(24,r*.4),h=i+t/2+String(e).length*n*.28+5,y=a+(r-3)/2;c.save(),c.strokeStyle="#326443",c.lineWidth=2.6,c.lineCap="round",c.lineJoin="round",c.beginPath(),c.moveTo(h-4,y),c.lineTo(h-1,y+3),c.lineTo(h+5,y-4),c.stroke(),c.restore()}}function Z1(c,e,i,a,t,r){P1(c,e,i);let o=Ie(e,i),{gap:d,x:l}=o,n=o.w,h=o.w,y=o.y;oc(c,l,y,n,26,13,p.surface,2),ic(c,"\u603B\u8FDB\u5EA6 "+a,l+n/2,y+13,12,p.ink,700),oc(c,l+n+d,y,h,26,13,p.coral,2),ic(c,"\u7B2C "+t+"\u2013"+r+" \u5173",l+n+d+h/2,y+13,12,p.onPrimary,700)}var we=2600;function mr(c){return Math.max(0,Math.min(1,c/we))}function n1(c,e,i,a,t){let r=mr(t);if(r>=1)return;let o=Math.min(1,t/80,(we-t)/350),d=e/2,l=i+a*.45;c.save(),c.globalAlpha=o,c.translate(d,l);let n=.94+.06*(1-(1-Math.min(1,r/.25))**3);c.scale(n,n);let h=[p.coral,p.primary,"#F3C346","#B3DDAA","#FFF8E3"],y=[[0,-12,0],[e*.2,-a*.13,220],[-e*.2,-a*.09,430]];for(let s=0;s=1)continue;let m=1-(1-x)**3;c.globalAlpha=o*Math.min(1,x/.07,(1-x)/.3);for(let b=0;b<20;b++){let f=b/20*Math.PI*2+s*.45,q=e*(.19+b%4*.035)*m,k=g+Math.cos(f)*q,I=u+Math.sin(f)*q+a*.24*x*x,M=8+b%4*3,v=Math.sin(b*1.7+x*9)*5;c.strokeStyle=h[(b+s)%h.length],c.lineWidth=3.5+b%3,c.beginPath(),c.moveTo(k-Math.cos(f)*M,I-Math.sin(f)*M),c.quadraticCurveTo(k+v,I-v,k,I),c.stroke()}}c.globalAlpha=o,oc(c,-74,-40,148,80,25,p.surface,2),c.beginPath(),c.moveTo(-37,-2),c.lineTo(-30,5),c.lineTo(-17,-10),c.strokeStyle=p.success,c.lineWidth=5,c.lineCap="round",c.lineJoin="round",c.stroke(),ic(c,"\u5B8C\u6210\uFF01",25,0,24,p.ink,700),c.restore()}var ci=new Set,vc={backend:"InnerAudioContext",lastError:null,plays:0,mergedMoves:0,completeRequestedAt:null,completeStartedAt:null};function y1(){for(let c of ci)c.stop()}var Ne=class{constructor(e,i,a){Object.assign(this,{storage:i,key:a,channels:[],cursor:0,timers:new Set,lastEvent:null,lastAt:{},lastMove:-1/0,serial:0,variant:"enhanced"});try{this.enabled=i.getItem(a)!=="off"}catch{this.enabled=!0}ci.add(this)}unlock(){var e,i;if(!this.enabled||!wx.createInnerAudioContext)return!1;try{if((e=wx.setInnerAudioOption)==null||e.call(wx,{obeyMuteSwitch:!1,mixWithOther:!0}),!this.channels.length)for(let a=0;a<4;a++){let t=wx.createInnerAudioContext();t.obeyMuteSwitch=!1,t.volume=.75,(i=t.onError)==null||i.call(t,r=>{t===this.channels[3]&&this.finishComplete(),this.error(r)}),this.channels.push(t)}return!0}catch(a){return this.error(a),!1}}error(e){vc.lastError={errCode:(e==null?void 0:e.errCode)||0,errMsg:(e==null?void 0:e.errMsg)||String(e)}}finishComplete(){let e=this.completeFinish;this.completeFinish=null,e==null||e()}stop(){this.finishComplete(),this.serial++;for(let e of this.timers)clearTimeout(e);this.timers.clear(),this.moveTimer=null,this.pendingMove=null,this.pendingKind=null,this.lastMove=-1/0,this.highestUntil=0;for(let e of this.channels)try{e.stop()}catch{}}toggle(){this.enabled=!this.enabled;try{this.storage.setItem(this.key,this.enabled?"on":"off")}catch{}return this.enabled?this.play("correct"):this.stop(),this.enabled}play(e,i=0,a=1){var r;if(!this.unlock())return;let t=Date.now();if(!(e==="error"&&t-((r=this.lastAt.error)!=null?r:-1/0)0){let o=this.serial,d=setTimeout(()=>{this.timers.delete(d),o===this.serial&&this.play(e,0,a)},i*1e3);this.timers.add(d);return}if((e==="complete"||e==="restart")&&this.stop(),!(e!=="complete"&&e!=="ui"&&t<(this.highestUntil||0))){if(!["move","undo"].includes(e)&&this.moveTimer&&(clearTimeout(this.moveTimer),this.timers.delete(this.moveTimer),this.moveTimer=null,this.pendingMove=null),["move","undo"].includes(e)&&this.variant!=="original"&&t-this.lastMove{this.timers.delete(d),this.moveTimer=null;let l=this.pendingMove;this.pendingMove=null,o===this.serial&&l!==null&&l!==void 0&&this.run(this.pendingKind||"move",l)},W.audioGapMs-(t-this.lastMove));this.moveTimer=d,this.timers.add(d)}return}this.moveTimer&&(clearTimeout(this.moveTimer),this.timers.delete(this.moveTimer),this.moveTimer=null,this.pendingMove=null),this.run(e,a)}}}run(e,i){var d,l,n,h,y;if(!this.enabled)return;let a=Date.now();(e==="move"||e==="undo")&&(this.lastMove=a);let t=this.channels[e==="move"||e==="undo"&&this.variant!=="original"?this.cursor++%3:3],r=this.serial,o=e==="undo"&&this.variant!=="original"?"move-"+Math.max(1,Math.min(36,Math.floor(i)+1)):e==="move"||e==="checkpoint"&&this.variant!=="original"?e+"-"+Math.max(1,Math.min(36,Math.floor(i))):e;try{t===this.channels[3]&&this.finishComplete(),t.stop(),t._feedbackEnded&&((d=t.offEnded)==null||d.call(t,t._feedbackEnded)),t._feedbackPlay&&((l=t.offPlay)==null||l.call(t,t._feedbackPlay)),t.volume=.75*(e==="complete"?W.completeGain:1),t.src=(this.variant==="original"&&!["ui","hint"].includes(e)?"audio-original/":"audio/")+o+".wav",e==="complete"&&(this.highestUntil=a+W.completeWaitMs,vc.completeRequestedAt=a,vc.completeStartedAt=typeof t.onPlay=="function"?null:a);let s=()=>{r===this.serial&&e==="complete"&&(vc.completeStartedAt=Date.now())};if(t._feedbackPlay=s,(n=t.onPlay)==null||n.call(t,s),e==="complete"){this.completeFinish=()=>{var w;return(w=this.afterComplete)==null?void 0:w.call(this)};let g=()=>{r===this.serial&&this.completeFinish===u&&this.finishComplete()},u=this.completeFinish;t._feedbackEnded=g,(h=t.onEnded)==null||h.call(t,g),(y=this.beforeComplete)==null||y.call(this)}t.play(),this.lastEvent=e,vc.plays++}catch(s){this.finishComplete(),this.error(s)}}};var Pc={mode:"campaign-200-r2",version:"scored-2026-10-15-r2",title:"\u6570\u5B57\u4E00\u7B14 \xB7 200\u5173\u8BC4\u5206\u4FEE\u8BA2\u7248",chapters:[{id:1,title:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:2,title:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:3,title:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:4,title:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:5,title:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:6,title:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:7,title:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:8,title:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:9,title:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:10,title:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:11,title:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:12,title:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:13,title:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:14,title:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:15,title:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:16,title:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:17,title:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:18,title:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:19,title:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:20,title:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"}],levels:[{geometry:"square",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:2,y:0,w:1,h:1}],features:[],mode:"campaign-200-r2",tutorial:"basic",caption:"\u4ECE1\u5F00\u59CB\uFF0C\u6BCF\u683C\u4E00\u6B21\uFF0C\u5171\u8FB9\u624D\u80FD\u8D70\u3002",previousId:null,id:"r2-001",order:1,chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:20,objectiveScore:0,title:"\u5F15\u5BFC \xB7 \u7B2C\u4E00\u7B14"},{id:"r2-002",contentRevision:2,order:2,mode:"campaign-200-r2",geometry:"blocks",features:["big"],title:"\u67A2\u7EBD\u7559\u540E",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:5},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:2,h:2},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1}],previousId:"campaign200-014",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:18},{id:"r2-003",contentRevision:2,order:3,mode:"campaign-200-r2",geometry:"square",features:[],title:"\u5148\u6536\u77ED\u652F\u8DEF",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1,clue:6},{id:"c7",x:1,y:2,w:1,h:1}],previousId:"campaign200-002",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:18},{id:"r2-004",contentRevision:2,order:4,mode:"campaign-200-r2",geometry:"blocks",features:["big"],title:"\u5927\u5757\u4E00\u6B65",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1,clue:1},{id:"c4",x:1,y:1,w:2,h:2},{id:"c5",x:0,y:2,w:1,h:1},{id:"c6",x:0,y:3,w:1,h:1},{id:"c7",x:1,y:3,w:1,h:1,clue:6}],previousId:"campaign200-004",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:17},{geometry:"square",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:0,y:1,w:1,h:1},{id:"t3",x:1,y:1,w:1,h:1}],features:["walls"],mode:"campaign-200-r2",walls:[["t0","t1"]],tutorial:"walls",caption:"\u9ED1\u9EC4\u5899\u4E0D\u80FD\u7A7F\u8FC7\uFF0C\u8BF7\u4ECE\u53E6\u4E00\u4FA7\u7ED5\u884C\u3002",previousId:null,id:"r2-005",order:5,chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:20,objectiveScore:0,title:"\u5F15\u5BFC \xB7 \u5899\u4E0D\u80FD\u7A7F\u8FC7"},{id:"r2-006",contentRevision:2,order:6,mode:"campaign-200-r2",geometry:"square",features:["walls"],title:"\u8FB9\u4E0A\u7684\u5899",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:8},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1,clue:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1}],walls:[["c3","c6"]],previousId:"campaign200-019",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:16},{id:"r2-007",contentRevision:2,order:7,mode:"campaign-200-r2",geometry:"square",features:["walls"],title:"\u8FD1\u8DEF\u8981\u7ED5",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,clue:6},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1}],walls:[["c7","c10"]],previousId:"campaign200-029",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:16},{id:"r2-008",contentRevision:2,order:8,mode:"campaign-200-r2",geometry:"blocks",features:["big"],title:"\u8BA4\u6E05\u5F02\u5F62\u5171\u8FB9",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:28,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1,clue:7},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,clue:1}],previousId:"campaign200-020",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:29},{mode:"campaign-200-r2",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:10,id:"r2-009",order:9,geometry:"square",features:["direction"],title:"\u5F15\u5BFC \xB7 \u5DE6\u53F3\u76F4\u884C",caption:"\u6A2A\u901A\u9053\u5FC5\u987B\u4ECE\u5DE6\u3001\u53F3\u4E24\u4FA7\u8FDB\u51FA\uFF0C\u4E0D\u80FD\u62D0\u5F2F\u3002",tutorial:"straight",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1,direction:"lr"},{id:"t2",x:2,y:0,w:1,h:1},{id:"t3",x:0,y:1,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1},{id:"t5",x:2,y:1,w:1,h:1}],previousId:"tutorial-straight",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:17},{id:"r2-010",contentRevision:2,order:10,mode:"campaign-200-r2",geometry:"square",features:["walls"],title:"\u7ED5\u8FC7\u53BB\u5C31\u597D",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:15,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,clue:8},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,clue:1}],walls:[["c1","c4"]],previousId:"campaign200-008",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:12},{mode:"campaign-200-r2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:20,id:"r2-011",order:11,geometry:"square",features:["direction"],title:"\u5F15\u5BFC \xB7 \u4E0A\u4E0B\u76F4\u884C",caption:"\u7AD6\u901A\u9053\u5FC5\u987B\u4ECE\u4E0A\u3001\u4E0B\u4E24\u4FA7\u8FDB\u51FA\u3002",tutorial:"vertical",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:0,y:1,w:1,h:1,direction:"du"},{id:"t2",x:0,y:2,w:1,h:1},{id:"t3",x:1,y:0,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1},{id:"t5",x:1,y:2,w:1,h:1}],previousId:"tutorial-straight",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:17},{id:"r2-012",contentRevision:2,order:12,mode:"campaign-200-r2",geometry:"square",features:["direction"],title:"\u901A\u9053\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,direction:"lr"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,clue:1},{id:"c6",x:0,y:2,w:1,h:1,clue:6},{id:"c7",x:1,y:2,w:1,h:1}],previousId:"campaign200-012",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:12},{mode:"campaign-200-r2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:20,id:"r2-013",order:13,geometry:"square",features:["direction"],title:"\u5F15\u5BFC \xB7 \u6309\u62D0\u89D2\u8FDB\u51FA",caption:"\u62D0\u89D2\u8FDE\u63A5\u54EA\u4E24\u8FB9\uFF0C\u5C31\u4ECE\u54EA\u4E24\u8FB9\u8FDB\u51FA\uFF0C\u53EF\u53CD\u5411\u3002",tutorial:"corner",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:2,y:0,w:1,h:1},{id:"t3",x:0,y:1,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1,direction:"lu"},{id:"t5",x:2,y:1,w:1,h:1}],previousId:"tutorial-corner",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:17},{id:"r2-014",contentRevision:2,order:14,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053\u518D\u63A5\u529B",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:13},{id:"c2",x:2,y:0,w:1,h:1,direction:"lr"},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1,direction:"lu"},{id:"c10",x:2,y:2,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1,clue:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1},{id:"c14",x:2,y:3,w:1,h:1}],walls:[["c10","c11"]],previousId:"campaign200-067",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:20},{id:"r2-015",contentRevision:2,order:15,mode:"campaign-200-r2",geometry:"square",features:["direction"],title:"\u8BA4\u6E05\u62D0\u89D2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,direction:"dl"},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,clue:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1,clue:5},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1}],previousId:"campaign200-025",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:13},{id:"r2-016",contentRevision:2,order:16,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1,clue:10},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,direction:"ru"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1}],walls:[["c2","c6"]],previousId:"campaign200-097",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:27},{mode:"campaign-200-r2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:32,id:"r2-017",order:17,geometry:"blocks",features:["big","alternation"],title:"\u5F15\u5BFC \xB7 \u84DD\u6A59\u4EA4\u66FF",caption:"\u84DD\u8272\u3001\u6A59\u8272\u4EA4\u66FF\u8D70\uFF0C\u76F8\u90BB\u540C\u8272\u4E5F\u4E0D\u80FD\u8FDE\u7EED\u7ECF\u8FC7\u3002",tutorial:"colour",cells:[{id:"t0",x:0,y:1,w:1,h:1,clue:1,category:"circle"},{id:"t1",x:0,y:0,w:2,h:1,category:"triangle"},{id:"t2",x:1,y:1,w:1,h:1,category:"circle"}],previousId:"tutorial-colour",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:0},{id:"r2-018",contentRevision:2,order:18,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u82B1\u56ED",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:40,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,direction:"dl"},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,clue:12},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1,clue:1}],walls:[["c5","c6"]],previousId:"campaign200-130",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:40},{id:"r2-019",contentRevision:2,order:19,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u53CC\u8272 \xB7 \u5899\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u56DE\u843D",targetDifficulty:22,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle",clue:12},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:2,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:1,w:1,h:2,category:"triangle"},{id:"c8",x:0,y:2,w:1,h:1,category:"circle"},{id:"c9",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c10",x:2,y:2,w:1,h:1,category:"circle"},{id:"c11",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:1,y:3,w:1,h:1,category:"circle"},{id:"c13",x:2,y:3,w:1,h:1,category:"triangle"},{id:"c14",x:3,y:3,w:1,h:1,clue:1,category:"circle"}],walls:[["c6","c7"]],previousId:"campaign200-185",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:20},{id:"r2-020",contentRevision:2,order:20,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:27,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle",direction:"dr"},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:2,y:1,w:1,h:1,clue:1,category:"circle"},{id:"c7",x:3,y:1,w:1,h:1,category:"triangle",clue:2},{id:"c8",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:2,w:1,h:1,category:"circle"},{id:"c10",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:3,y:2,w:1,h:2,category:"circle"},{id:"c12",x:0,y:3,w:1,h:1,category:"circle",clue:11},{id:"c13",x:1,y:3,w:2,h:1,category:"triangle"}],previousId:"campaign200-134",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:27},{id:"r2-021",contentRevision:2,order:21,mode:"campaign-200-r2",geometry:"blocks",features:["big","walls"],title:"\u5BF9\u79F0\u5C0F\u82B1\u56ED",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,clue:7},{id:"c5",x:0,y:2,w:1,h:1},{id:"c6",x:1,y:2,w:1,h:1},{id:"c7",x:2,y:2,w:1,h:1},{id:"c8",x:3,y:2,w:1,h:1,clue:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1}],walls:[["c1","c2"]],previousId:"campaign200-023",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:31},{id:"r2-022",contentRevision:2,order:22,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"circle"},{id:"c1",x:1,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:2,y:0,w:1,h:1,category:"circle",clue:7},{id:"c3",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:0,y:1,w:1,h:2,category:"triangle"},{id:"c5",x:1,y:1,w:1,h:1,category:"circle"},{id:"c6",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:3,y:1,w:1,h:1,category:"circle"},{id:"c8",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:2,y:2,w:1,h:1,category:"circle"},{id:"c10",x:3,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:0,y:3,w:1,h:1,clue:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"circle"},{id:"c13",x:2,y:3,w:1,h:1,category:"triangle",direction:"ru"},{id:"c14",x:3,y:3,w:1,h:1,category:"circle"}],previousId:"campaign200-145",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:32},{geometry:"blocks",cells:[{id:"t0",x:0,y:1,w:1,h:1,clue:1},{id:"t1",x:0,y:0,w:2,h:1,parity:"even"},{id:"t2",x:1,y:1,w:1,h:1}],features:["big","parity"],mode:"campaign-200-r2",tutorial:"parity",caption:"\u5947/\u5076\u8981\u6C42\u8FD9\u4E00\u683C\u7684\u8BBF\u95EE\u6B65\u53F7\u4E3A\u5947\u6570/\u5076\u6570\u3002",previousId:null,id:"r2-023",order:23,chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:32,objectiveScore:4,title:"\u5F15\u5BFC \xB7 \u5947\u5076\u6B65\u53F7"},{id:"r2-024",contentRevision:2,order:24,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","direction"],title:"\u5947\u5076 \xB7 \u901A\u9053\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,parity:"odd"},{id:"c1",x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],clue:2},{id:"c2",x:0,y:1,w:1,h:1},{id:"c3",x:2,y:1,w:1,h:1,clue:1},{id:"c4",x:0,y:2,w:1,h:1},{id:"c5",x:1,y:2,w:1,h:1},{id:"c6",x:2,y:2,w:1,h:1},{id:"c7",x:0,y:3,w:1,h:1,direction:"ru"},{id:"c8",x:1,y:3,w:1,h:1,direction:"lr"},{id:"c9",x:2,y:3,w:1,h:1}],previousId:"campaign200-036",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:33},{id:"r2-025",contentRevision:2,order:25,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u4E24\u89D2\u76F8\u63A5",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1,direction:"dl"},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,direction:"ru"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1,clue:1}],walls:[["c4","c8"]],previousId:"campaign200-040",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:33},{id:"r2-026",contentRevision:2,order:26,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","direction"],title:"\u53CC\u8272 \xB7 \u901A\u9053\u7684\u82B1\u56ED",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:1,y:0,w:1,h:1,category:"circle",direction:"lr"},{id:"c3",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:2,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],category:"triangle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:0,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:2,w:1,h:1,clue:1,category:"circle"},{id:"c8",x:1,y:2,w:1,h:1,category:"circle"},{id:"c9",x:0,y:2,w:1,h:1,category:"triangle",direction:"ru"}],previousId:"campaign200-030",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:29},{id:"r2-027",contentRevision:2,order:27,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u53CC\u8272 \xB7 \u5899\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle",clue:6},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:2,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c8",x:0,y:2,w:1,h:2,category:"triangle"},{id:"c9",x:1,y:2,w:2,h:1,category:"triangle"},{id:"c10",x:3,y:2,w:1,h:1,clue:1,category:"circle"},{id:"c11",x:1,y:3,w:1,h:1,category:"circle"}],walls:[["c1","c5"],["c6","c9"]],previousId:"campaign200-196",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:29},{id:"r2-028",contentRevision:2,order:28,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u82B1\u56ED",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:40,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c2",x:3,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:2},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,clue:1},{id:"c11",x:1,y:3,w:1,h:1},{id:"c12",x:3,y:3,w:1,h:1,parity:"even"}],walls:[["c5","c9"]],previousId:"campaign200-090",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:40},{geometry:"square",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:0,y:1,w:1,h:1},{id:"t3",x:1,y:1,w:1,h:1}],features:["rhythm-door"],mode:"campaign-200-r2",doors:[{edge:["t2","t3"],initialOpen:!1}],tutorial:"rhythm-door",caption:"\u95E8\u968F\u843D\u683C\u5207\u6362\uFF1B\u5F00\u65F6\u901A\u8FC7\u540E\u4FDD\u6301\u5F00\u542F\uFF0C\u64A4\u9500\u7A7F\u95E8\u624D\u6062\u590D\u5207\u6362\u3002",previousId:null,id:"r2-029",order:29,chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:22,objectiveScore:4,title:"\u5F15\u5BFC \xB7 \u95E8\u968F\u811A\u6B65\u5207\u6362"},{id:"r2-030",contentRevision:2,order:30,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:27,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:2,h:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1,parity:"odd"},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1,direction:"lu"},{id:"c11",x:0,y:3,w:1,h:1,clue:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:1,h:1}],doors:[{edge:["c0","c1"],initialOpen:!1}],walls:[["c5","c6"]],previousId:"campaign200-095",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:28},{id:"r2-031",contentRevision:2,order:31,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door","walls"],title:"\u5899\u548C\u95E8\u5206\u5F00\u770B",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:0,y:2,w:1,h:1},{id:"c6",x:1,y:2,w:1,h:1},{id:"c7",x:2,y:2,w:1,h:1},{id:"c8",x:3,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1,clue:10},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1}],doors:[{edge:["c5","c9"],initialOpen:!1}],walls:[["c0","c1"]],previousId:"campaign200-055",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:32},{id:"r2-032",contentRevision:2,order:32,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,clue:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle",direction:"dl"},{id:"c2",x:0,y:0,w:2,h:1,category:"circle",clue:5},{id:"c3",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c4",x:2,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:0,y:1,w:1,h:2,category:"triangle"},{id:"c7",x:3,y:2,w:1,h:1,category:"circle"},{id:"c8",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:2,w:1,h:1,category:"circle"},{id:"c10",x:3,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:2,y:3,w:1,h:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c13",x:0,y:3,w:1,h:1,category:"circle"}],doors:[{edge:["c11","c10"],initialOpen:!1}],walls:[["c6","c9"]],previousId:"campaign200-105",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:31},{id:"r2-033",contentRevision:2,order:33,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,clue:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,clue:3},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1,direction:"lu"}],doors:[{edge:["c4","c1"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-115",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-034",contentRevision:2,order:34,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:1,category:"triangle"},{id:"c1",x:0,y:1,w:1,h:1,category:"circle"},{id:"c2",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c3",x:0,y:3,w:1,h:1,category:"circle"},{id:"c4",x:1,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c6",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c7",x:2,y:0,w:1,h:1,clue:1,category:"circle"},{id:"c8",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c9",x:2,y:2,w:2,h:1,category:"circle"},{id:"c10",x:2,y:3,w:1,h:1,category:"circle"},{id:"c11",x:3,y:0,w:1,h:1,category:"triangle",direction:"dl"},{id:"c12",x:3,y:1,w:1,h:1,category:"circle"},{id:"c13",x:3,y:3,w:1,h:1,category:"triangle"}],doors:[{edge:["c3","c6"],initialOpen:!1}],walls:[["c8","c9"]],previousId:"campaign200-127",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{geometry:"hex",features:[],cells:[{id:"t0",q:0,r:0,clue:1},{id:"t1",q:1,r:0},{id:"t2",q:2,r:0,clue:4},{id:"t3",q:0,r:1},{id:"t4",q:1,r:1},{id:"t5",q:2,r:1,clue:6}],tutorial:"hex",caption:"\u516D\u8FB9\u5F62\u6709\u516D\u4E2A\u5171\u8FB9\u65B9\u5411\uFF0C\u6BCF\u683C\u4E00\u6B65\u3002",previousId:null,id:"r2-035",order:35,chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",mode:"campaign-200-r2",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:42,objectiveScore:19,title:"\u5F15\u5BFC \xB7 \u516D\u5411\u5171\u8FB9"},{id:"r2-036",contentRevision:2,order:36,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door","parity"],title:"\u95E8 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,parity:"odd"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c5",x:2,y:1,w:1,h:1,clue:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1},{id:"c11",x:1,y:3,w:1,h:1,clue:11}],doors:[{edge:["c11","c10"],initialOpen:!1}],previousId:"campaign200-042",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-037",contentRevision:2,order:37,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"circle",direction:"dr"},{id:"c1",x:1,y:0,w:1,h:1,category:"triangle",direction:"lr"},{id:"c2",x:2,y:0,w:1,h:1,category:"circle"},{id:"c3",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:0,y:1,w:1,h:1,category:"triangle"},{id:"c5",x:1,y:1,w:1,h:1,category:"circle"},{id:"c6",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:3,y:1,w:1,h:1,category:"circle"},{id:"c8",x:0,y:2,w:1,h:1,category:"circle"},{id:"c9",x:1,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],category:"circle"},{id:"c10",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:2,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:3,y:3,w:1,h:1,clue:1,category:"circle"}],previousId:"campaign200-123",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-038",contentRevision:2,order:38,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u4E24\u4E2A\u53CC\u8272\u67A2\u7EBD",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:50,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:2,category:"triangle"},{id:"c1",x:1,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:2,y:0,w:1,h:1,category:"circle"},{id:"c3",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:1,y:1,w:1,h:1,category:"circle",clue:11},{id:"c5",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:3,y:1,w:1,h:1,category:"circle"},{id:"c7",x:0,y:2,w:1,h:1,category:"circle"},{id:"c8",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:2,y:2,w:1,h:1,category:"circle"},{id:"c10",x:3,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:1,y:3,w:1,h:1,category:"circle"},{id:"c13",x:2,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],category:"circle"},{id:"c14",x:0,y:4,w:1,h:1,clue:1,category:"circle"},{id:"c15",x:1,y:4,w:1,h:1,category:"triangle"}],walls:[["c9","c10"],["c4","c5"]],previousId:"campaign200-073",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:46},{id:"r2-039",contentRevision:2,order:39,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u56DE\u843D",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,direction:"dr"},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,clue:7},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1}],doors:[{edge:["c5","c4"],initialOpen:!1}],walls:[["c8","c9"]],previousId:"campaign200-137",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-040",contentRevision:2,order:40,mode:"campaign-200-r2",geometry:"square",features:["direction"],title:"\u4E0A\u4E0B\u901A\u9053",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:37,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,direction:"du"},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1,clue:1}],previousId:"campaign200-017",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:37},{id:"r2-041",contentRevision:2,order:41,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,parity:"odd"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,clue:3},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:2,h:1},{id:"c14",x:3,y:3,w:1,h:1,clue:1}],doors:[{edge:["c3","c7"],initialOpen:!1}],walls:[["c4","c8"]],previousId:"campaign200-107",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-042",contentRevision:2,order:42,mode:"campaign-200-r2",geometry:"blocks",features:["big","walls"],title:"\u7B2C\u4E00\u5EA7\u6865",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:11},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:2,h:2},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:3,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1},{id:"c12",x:3,y:3,w:1,h:1,clue:1}],walls:[["c1","c5"],["c5","c10"]],previousId:"campaign200-050",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:41},{id:"r2-043",contentRevision:2,order:43,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:2,h:1},{id:"c2",x:3,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,parity:"odd"},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1,clue:4},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1,clue:1},{id:"c12",x:1,y:3,w:1,h:1}],walls:[["c1","c4"]],previousId:"campaign200-121",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:41},{id:"r2-044",contentRevision:2,order:44,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,direction:"ru"},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,direction:"lr"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1,clue:1}],doors:[{edge:["c4","c0"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-126",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:43},{geometry:"square",features:[],cells:[{id:"t0",x:0,y:0,w:1,h:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:2,y:0,w:1,h:1},{id:"t3",x:0,y:1,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1},{id:"t5",x:2,y:1,w:1,h:1,clue:4},{id:"t6",x:0,y:2,w:1,h:1},{id:"t7",x:1,y:2,w:1,h:1,clue:8}],tutorial:"unknown-start",caption:"\u6CA1\u6709\u6570\u5B571\u65F6\u8981\u627E\u8D77\u70B9\uFF1B\u5148\u770B\u6570\u5B57\u7EBF\u7D22\uFF0C\u627E\u51FA\u7B2C\u4E00\u6B65\u3002",previousId:null,id:"r2-045",order:45,chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",mode:"campaign-200-r2",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:42,objectiveScore:25,title:"\u5F15\u5BFC \xB7 \u4ECE\u54EA\u91CC\u51FA\u53D1"},{id:"r2-046",contentRevision:2,order:46,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:1},{id:"c1",x:2,y:0,w:1,h:1},{id:"c2",x:3,y:0,w:1,h:1,parity:"odd"},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:2,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1},{id:"c11",x:1,y:3,w:1,h:1,clue:1}],walls:[["c0","c1"]],previousId:"campaign200-154",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:41},{id:"r2-047",contentRevision:2,order:47,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u82B1\u56ED",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:1,w:1,h:2},{id:"c1",x:0,y:0,w:1,h:1,direction:"dr"},{id:"c2",x:1,y:3,w:1,h:1},{id:"c3",x:1,y:2,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:1,y:0,w:1,h:1,clue:5},{id:"c6",x:2,y:3,w:1,h:1},{id:"c7",x:2,y:2,w:1,h:1},{id:"c8",x:2,y:1,w:1,h:1},{id:"c9",x:2,y:0,w:1,h:1},{id:"c10",x:3,y:3,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:3,y:0,w:1,h:1},{id:"c13",x:4,y:2,w:1,h:2,parity:"even"},{id:"c14",x:4,y:1,w:1,h:1,clue:1},{id:"c15",x:4,y:0,w:1,h:1}],doors:[{edge:["c2","c3"],initialOpen:!1}],walls:[["c3","c7"]],previousId:"campaign200-150",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-048",contentRevision:2,order:48,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door"],title:"\u5927\u5757\u6539\u53D8\u8282\u62CD",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u5CF0\u503C",targetDifficulty:50,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:2,clue:13},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1,clue:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:2,h:2},{id:"c13",x:3,y:3,w:1,h:1},{id:"c14",x:0,y:4,w:1,h:1}],doors:[{edge:["c14","c11"],initialOpen:!1}],previousId:"campaign200-076",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:69},{id:"r2-049",contentRevision:2,order:49,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u5C0F\u5F84",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:0,y:1,w:1,h:1},{id:"c2",x:0,y:2,w:1,h:1,clue:8},{id:"c3",x:0,y:3,w:2,h:1},{id:"c4",x:1,y:0,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:1,y:2,w:1,h:1},{id:"c7",x:2,y:0,w:1,h:1},{id:"c8",x:2,y:1,w:1,h:1,direction:"lu"},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:2,y:3,w:2,h:1,parity:"even"},{id:"c11",x:3,y:0,w:1,h:1,clue:1},{id:"c12",x:3,y:1,w:1,h:1},{id:"c13",x:3,y:2,w:1,h:1}],doors:[{edge:["c4","c7"],initialOpen:!1}],walls:[["c4","c5"]],previousId:"campaign200-139",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-050",contentRevision:2,order:50,mode:"campaign-200-r2",geometry:"square",features:["rhythm-door"],title:"\u95E8\u968F\u811A\u6B65\u5F00\u5173",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:37,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:8},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,clue:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1}],doors:[{edge:["c2","c1"],initialOpen:!1}],previousId:"campaign200-043",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:37},{id:"r2-051",contentRevision:2,order:51,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,direction:"dr"},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,clue:13},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:2,h:1},{id:"c9",x:2,y:2,w:1,h:1,clue:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:1,h:1,parity:"odd"},{id:"c14",x:3,y:3,w:1,h:1}],previousId:"campaign200-103",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:43},{id:"r2-052",contentRevision:2,order:52,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,clue:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,direction:"lu"},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1}],walls:[["c1","c4"]],previousId:"campaign200-194",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:44},{id:"r2-053",contentRevision:2,order:53,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u53CC\u8272\u8DE8\u533A",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:2,category:"triangle"},{id:"c1",x:2,y:0,w:1,h:1,category:"circle"},{id:"c2",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:2,y:1,w:1,h:2,category:"circle",clue:9},{id:"c4",x:3,y:1,w:1,h:1,category:"circle"},{id:"c5",x:0,y:2,w:1,h:1,category:"circle"},{id:"c6",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c7",x:3,y:2,w:1,h:1,category:"triangle"},{id:"c8",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:3,w:1,h:1,category:"circle"},{id:"c10",x:2,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:3,y:3,w:1,h:1,category:"circle"},{id:"c12",x:0,y:4,w:1,h:1,category:"circle"},{id:"c13",x:1,y:4,w:1,h:1,category:"triangle"},{id:"c14",x:2,y:4,w:1,h:1,clue:1,category:"circle"}],walls:[["c9","c10"],["c3","c6"]],previousId:"campaign200-068",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:44},{id:"r2-054",contentRevision:2,order:54,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:1},{id:"c1",x:2,y:0,w:1,h:1,clue:11},{id:"c2",x:3,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,parity:"odd"},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:2},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:3,y:3,w:1,h:1},{id:"c14",x:0,y:4,w:1,h:1,clue:1}],doors:[{edge:["c1","c5"],initialOpen:!1}],walls:[["c3","c4"]],previousId:"campaign200-182",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:44},{id:"r2-055",contentRevision:2,order:55,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u4EA4\u9519",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,clue:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:1,y:0,w:1,h:1,category:"circle"},{id:"c3",x:0,y:0,w:1,h:1,category:"triangle",direction:"dr"},{id:"c4",x:3,y:1,w:1,h:2,category:"circle"},{id:"c5",x:2,y:1,w:1,h:1,category:"circle"},{id:"c6",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:0,y:1,w:1,h:1,category:"circle"},{id:"c8",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:2,w:1,h:2,category:"triangle"},{id:"c10",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:3,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:2,y:3,w:1,h:1,category:"circle"},{id:"c13",x:0,y:3,w:1,h:1,category:"circle"}],doors:[{edge:["c13","c10"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-138",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:39},{id:"r2-056",contentRevision:2,order:56,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,clue:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,parity:"odd"},{id:"c11",x:1,y:3,w:1,h:1}],doors:[{edge:["c7","c11"],initialOpen:!1}],walls:[["c3","c4"]],previousId:"campaign200-063",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:39},{id:"r2-057",contentRevision:2,order:57,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door"],title:"\u987A\u7740\u8282\u62CD\u6536\u5C3E",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:2,h:2},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1,clue:11},{id:"c13",x:0,y:4,w:1,h:1,clue:1}],doors:[{edge:["c7","c3"],initialOpen:!1}],previousId:"campaign200-058",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:38},{id:"r2-058",contentRevision:2,order:58,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076\u5206\u914D\u533A\u57DF",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u5CF0\u503C",targetDifficulty:50,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1,parity:"even"},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,parity:"odd"},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:2,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]]},{id:"c14",x:0,y:4,w:1,h:1},{id:"c15",x:1,y:4,w:1,h:1},{id:"c16",x:3,y:4,w:1,h:1,clue:1}],walls:[["c8","c9"],["c12","c15"]],previousId:"campaign200-077",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:60},{id:"r2-059",contentRevision:2,order:59,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u5C0F\u5F84",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,direction:"lr"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,direction:"lu"},{id:"c9",x:0,y:3,w:1,h:1,clue:1}],doors:[{edge:["c1","c2"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-159",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-060",contentRevision:2,order:60,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u5C0F\u5F84",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:37,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,direction:"dr"},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1,parity:"even"},{id:"c4",x:1,y:1,w:1,h:1,clue:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:2,clue:3},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:1,y:3,w:1,h:1},{id:"c10",x:2,y:3,w:1,h:1}],previousId:"campaign200-169",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:36},{id:"r2-061",contentRevision:2,order:61,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door","direction"],title:"\u95E8 \xB7 \u901A\u9053\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c1",x:2,y:0,w:1,h:1},{id:"c2",x:3,y:0,w:1,h:1,clue:1},{id:"c3",x:1,y:1,w:1,h:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1,clue:7},{id:"c8",x:2,y:2,w:1,h:1,direction:"lr"},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1},{id:"c11",x:1,y:3,w:1,h:1,direction:"lu"}],doors:[{edge:["c9","c8"],initialOpen:!1}],previousId:"campaign200-045",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:57},{id:"r2-062",contentRevision:2,order:62,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u4EA4\u9519",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:2,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:0,y:0,w:1,h:1},{id:"c3",x:3,y:1,w:1,h:1,clue:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:0,y:1,w:1,h:1},{id:"c7",x:3,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:0,y:2,w:1,h:1},{id:"c11",x:3,y:3,w:1,h:1,direction:"lu"},{id:"c12",x:2,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1},{id:"c14",x:0,y:3,w:1,h:1},{id:"c15",x:2,y:4,w:1,h:1},{id:"c16",x:1,y:4,w:1,h:1}],doors:[{edge:["c15","c12"],initialOpen:!1}],walls:[["c8","c12"],["c5","c6"]],previousId:"campaign200-148",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:57},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:2,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:3,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle"},{x:2,y:3,w:1,h:1,id:"c16",category:"circle"},{x:3,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"circle"},{x:1,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"circle",direction:"lu"},{x:4,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c17","c18"]],previousId:null,id:"r2-063",order:63,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:57,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 63",caption:""},{id:"r2-064",contentRevision:2,order:64,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,parity:"odd"},{id:"c3",x:3,y:0,w:1,h:2},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1,parity:"odd"},{id:"c11",x:0,y:3,w:2,h:1},{id:"c12",x:2,y:3,w:1,h:1},{id:"c13",x:3,y:3,w:1,h:1,clue:1}],walls:[["c6","c9"],["c2","c6"]],previousId:"campaign200-176",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:56},{id:"r2-065",contentRevision:2,order:65,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","parity"],title:"\u53CC\u8272 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:0,y:1,w:1,h:2,category:"circle"},{id:"c4",x:1,y:1,w:1,h:1,category:"circle",parity:"odd"},{id:"c5",x:2,y:1,w:1,h:1,category:"circle"},{id:"c6",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c7",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c8",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:3,w:1,h:1,category:"circle"}],previousId:"campaign200-111",playerBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",estimatedBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",objectiveScore:60},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,clue:1,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:2,r:0,category:"triangle"},{id:"c11",q:2,r:1,category:"circle"},{id:"c12",q:2,r:2,category:"triangle"},{id:"c13",q:2,r:3,category:"circle"},{id:"c14",q:2,r:4,category:"triangle"},{id:"c15",q:3,r:0,category:"circle"},{id:"c16",q:3,r:1,category:"triangle",clue:18},{id:"c17",q:3,r:2,category:"circle"},{id:"c18",q:3,r:3,category:"triangle"},{id:"c19",q:3,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c11","c12"]],previousId:null,id:"r2-066",order:66,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:58,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 66",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14",direction:"lu"},{x:0,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17",clue:1},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21",direction:"ru"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c8","c7"],initialOpen:!1}],previousId:null,id:"r2-067",order:67,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:58,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 67",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",clue:1},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",direction:"dr"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",direction:"lu"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14",direction:"du"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"}],features:["direction","walls"],contentRevision:2,walls:[["c13","c18"],["c6","c11"]],previousId:null,id:"r2-068",order:68,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u5CF0\u503C",targetDifficulty:65,objectiveScore:65,title:"\u65B9\u683C \xB7 \u4EA4\u9519\u6311\u6218 68",caption:""},{id:"r2-069",contentRevision:2,order:69,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:47,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,parity:"odd"},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,clue:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1,clue:5},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]]},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1}],walls:[["c1","c5"]],previousId:"campaign200-165",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:47},{id:"r2-070",contentRevision:2,order:70,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:52,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:2},{id:"c2",x:2,y:0,w:2,h:1,parity:"odd"},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,clue:1},{id:"c11",x:1,y:3,w:1,h:1,parity:"odd"},{id:"c12",x:2,y:3,w:1,h:1},{id:"c13",x:3,y:3,w:1,h:1,direction:"lu"}],previousId:"campaign200-092",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:52},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:2,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",clue:1,category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c7",category:"circle"},{x:5,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c12",category:"circle"},{x:5,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle",clue:17},{x:2,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle"},{x:0,y:4,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c22",category:"circle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c18","c24"],["c16","c22"],["c12","c18"]],previousId:null,id:"r2-071",order:71,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:57,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 71",caption:""},{id:"r2-072",contentRevision:2,order:72,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:0,y:1,w:1,h:1,category:"circle"},{id:"c2",x:0,y:2,w:1,h:1,category:"triangle",direction:"dr"},{id:"c3",x:0,y:3,w:1,h:1,clue:1,category:"circle"},{id:"c4",x:1,y:0,w:1,h:1,category:"circle",direction:"lr"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:1,y:2,w:1,h:1,category:"circle"},{id:"c7",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c8",x:2,y:0,w:2,h:1,category:"triangle"},{id:"c9",x:2,y:1,w:1,h:1,category:"circle"},{id:"c10",x:2,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],category:"circle"},{id:"c11",x:3,y:1,w:1,h:1,category:"triangle"}],doors:[{edge:["c1","c0"],initialOpen:!1}],walls:[["c5","c9"]],previousId:"campaign200-072",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:55},{id:"r2-073",contentRevision:2,order:73,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:1,y:0,w:2,h:1,category:"circle"},{id:"c2",x:3,y:0,w:1,h:1,category:"circle"},{id:"c3",x:0,y:1,w:1,h:1,category:"circle"},{id:"c4",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c5",x:2,y:1,w:1,h:1,category:"circle"},{id:"c6",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c8",x:1,y:2,w:1,h:1,category:"circle"},{id:"c9",x:2,y:2,w:1,h:1,category:"triangle",direction:"lu"},{id:"c10",x:3,y:2,w:1,h:1,category:"circle"},{id:"c11",x:0,y:3,w:1,h:1,clue:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c13",x:2,y:3,w:1,h:1,category:"circle"},{id:"c14",x:3,y:3,w:1,h:1,category:"triangle"}],previousId:"campaign200-101",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:55},{id:"r2-074",contentRevision:2,order:74,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u4EA4\u9519",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:2,h:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:2},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:2,y:3,w:1,h:1,parity:"odd"},{id:"c13",x:3,y:3,w:1,h:1}],doors:[{edge:["c10","c6"],initialOpen:!1}],walls:[["c8","c12"]],previousId:"campaign200-118",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:55},{mode:"campaign-200-r2",geometry:"square",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:1},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9",direction:"ru"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12",clue:17},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19",clue:8},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["direction","walls"],contentRevision:2,walls:[["c1","c2"]],previousId:null,id:"r2-075",order:75,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:59,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 75",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:12},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9",parity:"even"},{x:5,y:1,w:1,h:2,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12",clue:1},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:2,h:1,id:"c25"}],features:["big","parity","walls"],contentRevision:2,walls:[["c6","c12"],["c5","c6"]],previousId:null,id:"r2-076",order:76,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:58,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 76",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:2,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"circle"},{x:4,y:2,w:1,h:1,id:"c14",clue:1,category:"circle"},{x:5,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c16",category:"circle"},{x:2,y:3,w:1,h:1,id:"c17",category:"triangle",direction:"ru"},{x:3,y:3,w:1,h:1,id:"c18",category:"circle",clue:9},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c22",category:"circle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c22","c21"],initialOpen:!1}],previousId:null,id:"r2-077",order:77,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:56,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 77",caption:""},{id:"r2-078",contentRevision:2,order:78,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","rhythm-door"],title:"\u5148\u5B9A\u5947\u5076\uFF0C\u518D\u5B9A\u8282\u62CD",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u5CF0\u503C",targetDifficulty:65,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,parity:"odd"},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,clue:8},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1,clue:1},{id:"c10",x:2,y:2,w:1,h:1,parity:"even"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]]},{id:"c13",x:2,y:3,w:1,h:1},{id:"c14",x:3,y:3,w:1,h:1},{id:"c15",x:1,y:4,w:1,h:1},{id:"c16",x:2,y:4,w:2,h:1}],doors:[{edge:["c3","c7"],initialOpen:!1}],previousId:"campaign200-085",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:59},{id:"r2-079",contentRevision:2,order:79,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u4EA4\u9519",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:47,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle",direction:"dr"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:2,h:1,category:"triangle"},{id:"c5",x:2,y:1,w:1,h:1,clue:1,category:"circle"},{id:"c6",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:0,y:2,w:1,h:1,category:"circle"},{id:"c8",x:1,y:2,w:2,h:1,category:"triangle"},{id:"c9",x:3,y:2,w:1,h:1,category:"circle"},{id:"c10",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:1,y:3,w:1,h:1,category:"circle"},{id:"c12",x:2,y:3,w:1,h:1,category:"circle"},{id:"c13",x:3,y:3,w:1,h:1,category:"triangle"},{id:"c14",x:0,y:4,w:1,h:1,category:"circle"},{id:"c15",x:1,y:4,w:1,h:1,category:"triangle"}],previousId:"campaign200-178",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:47},{id:"r2-080",contentRevision:2,order:80,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u4EA4\u9519",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:52,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:10},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1},{id:"c14",x:2,y:3,w:1,h:1,direction:"lr"},{id:"c15",x:3,y:3,w:1,h:1,direction:"lu"},{id:"c16",x:0,y:4,w:1,h:1,clue:1}],walls:[["c4","c5"],["c6","c7"]],previousId:"campaign200-108",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:52},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:1,y:2,w:1,h:1,id:"c9"},{x:2,y:2,w:1,h:1,id:"c10"},{x:3,y:2,w:1,h:1,id:"c11"},{x:4,y:2,w:1,h:1,id:"c12"},{x:0,y:3,w:1,h:1,id:"c13"},{x:1,y:3,w:1,h:1,id:"c14",direction:"dr"},{x:2,y:3,w:1,h:1,id:"c15"},{x:3,y:3,w:1,h:1,id:"c16"},{x:4,y:3,w:1,h:1,id:"c17"},{x:0,y:4,w:1,h:1,id:"c18"},{x:1,y:4,w:1,h:1,id:"c19"},{x:3,y:4,w:1,h:1,id:"c20"},{x:4,y:4,w:1,h:1,id:"c21"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c7","c11"],initialOpen:!1}],walls:[["c1","c2"]],previousId:null,id:"r2-081",order:81,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 81",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:1,y:0,w:1,h:1,id:"c0"},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3",clue:1},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",direction:"dl"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25"}],features:["direction","walls"],contentRevision:2,walls:[["c4","c5"]],previousId:null,id:"r2-082",order:82,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:56,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 82",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:0,y:1,w:1,h:1,id:"c3"},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:3,y:1,w:1,h:1,id:"c6"},{x:0,y:2,w:1,h:1,id:"c7",parity:"even"},{x:1,y:2,w:1,h:1,id:"c8"},{x:2,y:2,w:1,h:1,id:"c9"},{x:3,y:2,w:1,h:2,id:"c10"},{x:0,y:3,w:1,h:1,id:"c11"},{x:1,y:3,w:1,h:1,id:"c12",direction:"ru"},{x:2,y:3,w:1,h:1,id:"c13"},{x:4,y:3,w:1,h:1,id:"c14"},{x:0,y:4,w:1,h:1,id:"c15"},{x:1,y:4,w:1,h:1,id:"c16"},{x:2,y:4,w:1,h:1,id:"c17"},{x:3,y:4,w:1,h:1,id:"c18"},{x:4,y:4,w:1,h:1,id:"c19"}],features:["big","direction","parity","walls"],contentRevision:2,walls:[["c3","c7"]],previousId:null,id:"r2-083",order:83,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 83",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:2,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"circle"},{x:1,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c6",category:"circle",direction:"du"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:0,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c8",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c10",category:"circle"},{x:4,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c12",category:"circle"},{x:2,y:3,w:1,h:1,id:"c13",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c15",category:"circle"},{x:0,y:4,w:1,h:1,id:"c16",category:"circle"},{x:1,y:4,w:1,h:1,id:"c17",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c18",category:"circle"},{x:3,y:4,w:2,h:1,id:"c19",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c6","c1"],initialOpen:!1}],previousId:null,id:"r2-084",order:84,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 84",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:2,h:1,id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:2,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle",direction:"lu"},{x:2,y:2,w:1,h:1,id:"c11",clue:1,category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"circle",clue:21},{x:1,y:3,w:1,h:1,id:"c15",category:"triangle",clue:22},{x:2,y:3,w:1,h:1,id:"c16",category:"circle"},{x:3,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c20",category:"circle"},{x:2,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"circle"},{x:4,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","direction","alternation"],contentRevision:2,previousId:null,id:"r2-085",order:85,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 85",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c5",category:"circle"},{x:1,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c9",category:"circle"},{x:0,y:2,w:1,h:1,id:"c10",category:"triangle",direction:"du"},{x:1,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c11",category:"circle"},{x:3,y:2,w:2,h:1,id:"c12",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c13",category:"circle"},{x:2,y:3,w:1,h:1,id:"c14",category:"circle"},{x:3,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c16",category:"circle"},{x:0,y:4,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c18",category:"circle"},{x:2,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c20",category:"circle"},{x:4,y:4,w:1,h:1,id:"c21",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c13","c10"],initialOpen:!1}],previousId:null,id:"r2-086",order:86,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 86",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7",parity:"even"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17",clue:3},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:2,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20",clue:1},{x:3,y:4,w:1,h:1,id:"c21"},{x:4,y:4,w:1,h:1,id:"c22"},{x:5,y:4,w:1,h:1,id:"c23"}],features:["big","parity","walls"],contentRevision:2,walls:[["c9","c10"]],previousId:null,id:"r2-087",order:87,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 87",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4,clue:20},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0,clue:1},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4,parity:"odd"},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:8},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3,clue:12},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5,clue:16}],features:["parity","walls"],contentRevision:2,walls:[["c3","c9"],["c19","c20"]],previousId:null,id:"r2-088",order:88,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u5CF0\u503C",targetDifficulty:65,objectiveScore:65,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 88",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:4,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:5,y:0,w:1,h:2,id:"c3",category:"circle"},{x:0,y:1,w:2,h:1,id:"c4",category:"circle"},{x:2,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c8",category:"circle"},{x:1,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c10",category:"circle"},{x:3,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c12",category:"circle"},{x:5,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle"},{x:2,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle",clue:19},{x:0,y:4,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c23",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c4","c5"]],previousId:null,id:"r2-089",order:89,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u56DE\u843D",targetDifficulty:47,objectiveScore:47,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 89",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:2,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:0,y:2,w:1,h:1,id:"c8",category:"circle"},{x:1,y:2,w:2,h:1,id:"c9",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c10",category:"circle"},{x:4,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c13",category:"circle"},{x:2,y:3,w:1,h:1,id:"c14",clue:1,category:"circle"},{x:3,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c16",category:"circle",direction:"du"},{x:0,y:4,w:1,h:1,id:"c17",category:"circle"},{x:1,y:4,w:1,h:1,id:"c18",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c20",category:"circle"},{x:4,y:4,w:1,h:1,id:"c21",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c8","c12"],initialOpen:!1}],previousId:null,id:"r2-090",order:90,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u6536\u675F",targetDifficulty:52,objectiveScore:53,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 90",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6",parity:"odd"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11",clue:1},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13",direction:"dr"},{x:3,y:2,w:1,h:1,id:"c14",direction:"lu"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:1,y:4,w:2,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-091",order:91,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:57,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 91",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:1,category:"triangle"},{id:"c12",q:2,r:2,category:"circle"},{id:"c13",q:2,r:3,category:"triangle"},{id:"c14",q:2,r:4,category:"circle"},{id:"c15",q:2,r:5,category:"triangle"},{id:"c16",q:3,r:1,category:"circle"},{id:"c17",q:3,r:2,category:"triangle"},{id:"c18",q:3,r:3,category:"circle"},{id:"c19",q:3,r:4,category:"circle"},{id:"c20",q:3,r:5,category:"circle"},{id:"c21",q:4,r:0,category:"triangle"},{id:"c22",q:4,r:1,category:"circle"},{id:"c23",q:4,r:3,category:"triangle"},{id:"c24",q:4,r:4,category:"triangle"},{id:"c25",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c2","c6"]],previousId:null,id:"r2-092",order:92,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:55,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 92",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:2,category:"circle"},{id:"c2",q:0,r:3,category:"triangle"},{id:"c3",q:0,r:5,category:"triangle"},{id:"c4",q:1,r:0,category:"circle"},{id:"c5",q:1,r:1,category:"triangle"},{id:"c6",q:1,r:2,category:"circle"},{id:"c7",q:1,r:3,category:"triangle"},{id:"c8",q:1,r:4,category:"circle"},{id:"c9",q:1,r:5,category:"circle"},{id:"c10",q:2,r:1,category:"triangle"},{id:"c11",q:2,r:2,clue:1,category:"circle"},{id:"c12",q:2,r:3,category:"triangle"},{id:"c13",q:2,r:4,category:"circle"},{id:"c14",q:2,r:5,category:"triangle"},{id:"c15",q:3,r:0,category:"circle"},{id:"c16",q:3,r:1,category:"triangle"},{id:"c17",q:3,r:2,category:"circle"},{id:"c18",q:3,r:3,category:"triangle"},{id:"c19",q:3,r:4,category:"circle"},{id:"c20",q:3,r:5,category:"triangle"},{id:"c21",q:4,r:0,category:"circle"},{id:"c22",q:4,r:1,category:"triangle"},{id:"c23",q:4,r:2,category:"circle"},{id:"c24",q:4,r:3,category:"triangle"},{id:"c25",q:4,r:4,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c13","c12"],initialOpen:!1}],walls:[["c18","c23"]],previousId:null,id:"r2-093",order:93,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:59,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 93",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17",clue:13},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21",clue:1},{x:2,y:4,w:1,h:1,id:"c22",direction:"ru"},{x:3,y:4,w:1,h:1,id:"c23"}],features:["direction","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-094",order:94,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:61,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 94",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",direction:"lr"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",parity:"even"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",clue:1},{x:3,y:2,w:2,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15",clue:7},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c1","c2"],initialOpen:!1}],previousId:null,id:"r2-095",order:95,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 95",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c1",category:"circle"},{x:3,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c3",category:"circle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:3,y:1,w:1,h:2,id:"c6",category:"triangle"},{x:4,y:1,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c7",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c8",category:"circle"},{x:1,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c10",category:"circle"},{x:5,y:2,w:1,h:1,id:"c11",clue:1,category:"circle"},{x:0,y:3,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c13",category:"circle"},{x:2,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c15",category:"circle"},{x:4,y:3,w:1,h:1,id:"c16",category:"triangle",clue:22},{x:5,y:3,w:1,h:1,id:"c17",category:"circle"},{x:0,y:4,w:1,h:1,id:"c18",category:"circle"},{x:1,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c20",category:"circle"},{x:3,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c22",category:"circle"},{x:5,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c16","c22"],["c13","c14"]],previousId:null,id:"r2-096",order:96,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 96",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:1,clue:26},{id:"c7",q:1,r:2,clue:24},{id:"c8",q:1,r:3},{id:"c9",q:1,r:4},{id:"c10",q:1,r:5},{id:"c11",q:2,r:0,clue:7},{id:"c12",q:2,r:1},{id:"c13",q:2,r:2},{id:"c14",q:2,r:3,clue:1},{id:"c15",q:2,r:4},{id:"c16",q:2,r:5},{id:"c17",q:3,r:0},{id:"c18",q:3,r:1},{id:"c19",q:3,r:2},{id:"c20",q:3,r:3},{id:"c21",q:3,r:4,clue:15},{id:"c22",q:3,r:5},{id:"c23",q:4,r:0,parity:"even"},{id:"c24",q:4,r:1},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4},{id:"c27",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c14","c15"]],previousId:null,id:"r2-097",order:97,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:56,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 97",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle"},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"circle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"circle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle",clue:22},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,clue:1,category:"circle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"triangle"},{id:"c22",q:3,r:4,category:"circle"},{id:"c23",q:3,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c20","c21"],["c4","c10"]],previousId:null,id:"r2-098",order:98,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u5CF0\u503C",targetDifficulty:65,objectiveScore:64,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 98",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"circle"},{x:1,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"triangle",clue:22},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c11",category:"circle"},{x:2,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c13",category:"circle"},{x:4,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c21",category:"circle"},{x:2,y:4,w:2,h:1,id:"c22",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c23",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c16","c21"],["c12","c17"]],previousId:null,id:"r2-099",order:99,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u56DE\u843D",targetDifficulty:47,objectiveScore:50,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 99",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",direction:"lr"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6",clue:9},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16",clue:1},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"}],features:["direction","walls"],contentRevision:2,walls:[["c9","c14"]],previousId:null,id:"r2-100",order:100,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u6536\u675F",targetDifficulty:52,objectiveScore:51,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 100",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0"},{x:2,y:0,w:1,h:1,id:"c1"},{x:4,y:0,w:2,h:1,id:"c2"},{x:0,y:1,w:1,h:1,id:"c3"},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:3,y:1,w:1,h:1,id:"c6"},{x:4,y:1,w:1,h:1,id:"c7",clue:1},{x:5,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:2,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13",direction:"dr"},{x:5,y:2,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17",parity:"even"},{x:4,y:3,w:1,h:1,id:"c18"},{x:5,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c3","c9"],initialOpen:!1}],previousId:null,id:"r2-101",order:101,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 101",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,clue:1,category:"circle"},{id:"c12",q:2,r:1,category:"triangle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"circle"},{id:"c15",q:2,r:4,category:"triangle",clue:24},{id:"c16",q:2,r:5,category:"circle"},{id:"c17",q:3,r:0,category:"circle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"triangle",clue:26},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle"},{id:"c23",q:4,r:0,category:"triangle"},{id:"c24",q:4,r:1,category:"circle"},{id:"c25",q:4,r:2,category:"circle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c20","c21"]],previousId:null,id:"r2-102",order:102,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 102",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3,clue:1},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:1},{id:"c7",q:1,r:2},{id:"c8",q:1,r:3},{id:"c9",q:1,r:4,parity:"odd"},{id:"c10",q:1,r:5},{id:"c11",q:2,r:0},{id:"c12",q:2,r:2,clue:9},{id:"c13",q:2,r:3,clue:7},{id:"c14",q:2,r:4},{id:"c15",q:2,r:5},{id:"c16",q:3,r:0},{id:"c17",q:3,r:1},{id:"c18",q:3,r:2},{id:"c19",q:3,r:3},{id:"c20",q:3,r:4},{id:"c21",q:3,r:5},{id:"c22",q:4,r:0},{id:"c23",q:4,r:1},{id:"c24",q:4,r:2},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4},{id:"c27",q:4,r:5}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c20","c15"],initialOpen:!1}],walls:[["c5","c9"]],previousId:null,id:"r2-103",order:103,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 103",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle",clue:26},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:1,category:"circle"},{id:"c12",q:2,r:2,category:"triangle"},{id:"c13",q:2,r:3,category:"circle"},{id:"c14",q:2,r:4,category:"triangle"},{id:"c15",q:2,r:5,category:"circle"},{id:"c16",q:3,r:0,category:"circle"},{id:"c17",q:3,r:1,category:"triangle"},{id:"c18",q:3,r:2,category:"circle"},{id:"c19",q:3,r:3,category:"triangle"},{id:"c20",q:3,r:4,category:"circle"},{id:"c21",q:3,r:5,category:"triangle"},{id:"c22",q:4,r:0,category:"triangle"},{id:"c23",q:4,r:1,category:"circle"},{id:"c24",q:4,r:2,category:"triangle"},{id:"c25",q:4,r:3,clue:1,category:"circle"},{id:"c26",q:4,r:4,category:"triangle"},{id:"c27",q:4,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c3","c8"]],previousId:null,id:"r2-104",order:104,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 104",caption:""},{id:"r2-105",contentRevision:2,order:105,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",role:"\u7EC3\u4E60",targetDifficulty:62,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,parity:"even"},{id:"c1",x:1,y:0,w:1,h:2},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:3,y:1,w:1,h:1,clue:12},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1,direction:"dl"},{id:"c11",x:0,y:3,w:1,h:1,parity:"odd"},{id:"c12",x:1,y:3,w:2,h:1},{id:"c13",x:3,y:3,w:1,h:1}],previousId:"campaign200-136",playerBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",estimatedBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",objectiveScore:88},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle",clue:23},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c6",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c7",clue:1,category:"circle"},{x:4,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"triangle",direction:"lr"},{x:3,y:2,w:1,h:2,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle",clue:19},{x:0,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c21",category:"circle"},{x:2,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c4","c5"],initialOpen:!1}],previousId:null,id:"r2-106",order:106,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 106",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle",clue:24},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle",clue:3},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,clue:1,category:"circle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"circle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"triangle"},{id:"c19",q:3,r:1,category:"circle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:1,category:"triangle"},{id:"c26",q:4,r:2,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c19","c25"]],previousId:null,id:"r2-107",order:107,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 107",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:2,id:"c1",parity:"even"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",parity:"even"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",clue:15},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:2,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",clue:1},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c14","c20"]],previousId:null,id:"r2-108",order:108,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:82,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 108",caption:""},{id:"r2-109",contentRevision:2,order:109,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u5C0F\u5F84",chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",role:"\u56DE\u843D",targetDifficulty:56,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:1,y:0,w:1,h:1,category:"circle"},{id:"c3",x:0,y:0,w:1,h:2,category:"triangle"},{id:"c4",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c5",x:2,y:1,w:1,h:1,clue:1,category:"circle"},{id:"c6",x:1,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:2,w:1,h:1,category:"circle"},{id:"c8",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:0,y:2,w:2,h:1,category:"triangle"},{id:"c10",x:3,y:3,w:1,h:1,category:"triangle",direction:"lu"},{id:"c11",x:2,y:3,w:1,h:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c13",x:0,y:3,w:1,h:1,category:"circle"}],doors:[{edge:["c2","c3"],initialOpen:!1}],walls:[["c4","c5"]],previousId:"campaign200-149",playerBand:"\u7565\u96BE",estimatedBand:"\u7565\u96BE",objectiveScore:65},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1",clue:9},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",direction:"du"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:1,y:4,w:1,h:1,id:"c24",clue:1},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c1","c7"],["c9","c10"]],previousId:null,id:"r2-110",order:110,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:60,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 110",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,clue:1,category:"circle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,category:"triangle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"triangle",clue:16},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"circle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"triangle"},{id:"c22",q:3,r:5,category:"circle"},{id:"c23",q:4,r:0,category:"triangle"},{id:"c24",q:4,r:1,category:"circle"},{id:"c25",q:4,r:3,category:"triangle",clue:26},{id:"c26",q:4,r:4,category:"circle",clue:25},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-111",order:111,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 111",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:2,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5",clue:23},{x:1,y:1,w:1,h:1,id:"c6",direction:"ru"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",parity:"odd"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:2,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24",direction:"lr"},{x:5,y:4,w:1,h:1,id:"c25",clue:1}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-112",order:112,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 112",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5",clue:1},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7",direction:"du"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:2,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24",direction:"lr"},{x:5,y:4,w:1,h:1,id:"c25",parity:"odd"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c8","c14"],initialOpen:!1}],previousId:null,id:"r2-113",order:113,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:83,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 113",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1,clue:3},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3,clue:1},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1,clue:7},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5,clue:24},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,parity:"odd"},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1,clue:11},{id:"c20",q:3,r:2,clue:16},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:27},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0,clue:12},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c5","c10"]],previousId:null,id:"r2-114",order:114,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 114",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",parity:"odd"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:2,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21",clue:22},{x:3,y:4,w:1,h:1,id:"c22",clue:21},{x:4,y:4,w:1,h:1,id:"c23"}],features:["big","parity","walls"],contentRevision:2,walls:[["c7","c11"],["c20","c21"]],previousId:null,id:"r2-115",order:115,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 115",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",direction:"du"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9",clue:6},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13",clue:1},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:2,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:2,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26",parity:"odd"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-116",order:116,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 116",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,clue:1,category:"circle"},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle",clue:9},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"circle"},{id:"c11",q:2,r:0,category:"triangle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"triangle"},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle",clue:26},{id:"c23",q:4,r:0,category:"circle"},{id:"c24",q:4,r:1,category:"circle"},{id:"c25",q:4,r:2,category:"triangle"},{id:"c26",q:4,r:4,category:"triangle"},{id:"c27",q:4,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c19","c24"]],previousId:null,id:"r2-117",order:117,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:60,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 117",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1,clue:7},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0,parity:"even"},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,clue:22},{id:"c16",q:2,r:4,clue:19},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c4","c10"],["c2","c8"]],previousId:null,id:"r2-118",order:118,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:83,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 118",caption:""},{id:"r2-119",contentRevision:2,order:119,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u4EA4\u9519",chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",role:"\u56DE\u843D",targetDifficulty:56,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:2},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,clue:10},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1,clue:1},{id:"c10",x:3,y:2,w:1,h:2,parity:"odd"},{id:"c11",x:0,y:3,w:1,h:1,direction:"ru"},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:1,h:1}],previousId:"campaign200-158",playerBand:"\u7565\u96BE",estimatedBand:"\u7565\u96BE",objectiveScore:49},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:1,r:0,clue:19},{id:"c6",q:1,r:1},{id:"c7",q:1,r:2},{id:"c8",q:1,r:3,parity:"even"},{id:"c9",q:1,r:4},{id:"c10",q:2,r:0},{id:"c11",q:2,r:1},{id:"c12",q:2,r:2,clue:11},{id:"c13",q:2,r:3},{id:"c14",q:2,r:4},{id:"c15",q:2,r:5},{id:"c16",q:3,r:0},{id:"c17",q:3,r:1},{id:"c18",q:3,r:2,clue:9},{id:"c19",q:3,r:3},{id:"c20",q:3,r:4,clue:1},{id:"c21",q:3,r:5},{id:"c22",q:4,r:0},{id:"c23",q:4,r:1},{id:"c24",q:4,r:2},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4,clue:4},{id:"c27",q:4,r:5}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c22","c16"],initialOpen:!1}],walls:[["c6","c10"]],previousId:null,id:"r2-120",order:120,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:59,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 120",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,category:"triangle"},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,clue:1,category:"circle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"triangle"},{id:"c19",q:3,r:1,category:"circle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"circle"},{id:"c23",q:3,r:5,category:"triangle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c22","c16"],initialOpen:!1}],walls:[["c3","c9"]],previousId:null,id:"r2-121",order:121,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 121",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4",direction:"ru"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:4,y:1,w:1,h:1,id:"c7"},{x:5,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12",direction:"lr"},{x:4,y:2,w:1,h:1,id:"c13"},{x:5,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25",clue:24}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c25"],initialOpen:!1}],previousId:null,id:"r2-122",order:122,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 122",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",direction:"ru"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9",clue:1},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20",clue:26},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c18"],initialOpen:!1}],walls:[["c8","c9"]],previousId:null,id:"r2-123",order:123,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:82,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 123",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:2,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7",parity:"even"},{x:4,y:1,w:1,h:1,id:"c8",direction:"lu"},{x:0,y:2,w:1,h:1,id:"c9",clue:1},{x:1,y:2,w:1,h:1,id:"c10",clue:19},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-124",order:124,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 124",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle",clue:28},{x:2,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:3,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:5,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c10",category:"circle"},{x:3,y:2,w:1,h:1,id:"c11",clue:1,category:"circle"},{x:5,y:2,w:1,h:1,id:"c12",category:"circle"},{x:0,y:3,w:1,h:1,id:"c13",category:"circle"},{x:1,y:3,w:1,h:2,id:"c14",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c17",category:"circle"},{x:5,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c20",category:"circle"},{x:3,y:4,w:1,h:1,id:"c21",category:"circle"},{x:4,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c23",category:"circle"},{x:0,y:5,w:1,h:1,id:"c24",category:"circle"},{x:1,y:5,w:1,h:1,id:"c25",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c26",category:"circle"},{x:3,y:5,w:1,h:1,id:"c27",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c28",category:"circle"},{x:5,y:5,w:1,h:1,id:"c29",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c1","c5"],["c22","c28"]],previousId:null,id:"r2-125",order:125,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 125",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,clue:1,category:"circle"},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"circle"},{id:"c11",q:1,r:5,category:"triangle",clue:8},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"circle",clue:21},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"triangle"},{id:"c25",q:4,r:1,category:"circle"},{id:"c26",q:4,r:2,category:"triangle"},{id:"c27",q:4,r:3,category:"circle"},{id:"c28",q:4,r:4,category:"triangle"},{id:"c29",q:4,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c7","c8"],initialOpen:!1}],walls:[["c17","c22"],["c20","c26"]],previousId:null,id:"r2-126",order:126,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:63,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 126",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,clue:1,category:"circle"},{id:"c7",q:1,r:1,category:"circle",clue:27},{id:"c8",q:1,r:2,category:"triangle",clue:28},{id:"c9",q:1,r:3,category:"circle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"triangle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:1,category:"triangle"},{id:"c26",q:4,r:2,category:"circle"},{id:"c27",q:4,r:3,category:"circle"},{id:"c28",q:4,r:4,category:"triangle",clue:12},{id:"c29",q:4,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c14","c19"]],previousId:null,id:"r2-127",order:127,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:63,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 127",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1,clue:22},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2,clue:16},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5,parity:"odd"},{id:"c18",q:3,r:0,clue:19},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3,clue:9},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5,clue:1}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c20","c14"],initialOpen:!1}],walls:[["c1","c6"],["c14","c15"]],previousId:null,id:"r2-128",order:128,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:80,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 128",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",clue:1,category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle",clue:13},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle"},{x:0,y:2,w:1,h:2,id:"c12",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c13",category:"circle"},{x:2,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c15",category:"circle"},{x:4,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c17",category:"circle"},{x:1,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:2,y:3,w:1,h:2,id:"c19",category:"circle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:5,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c0","c1"]],previousId:null,id:"r2-129",order:129,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:56,objectiveScore:58,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 129",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7",clue:1},{x:3,y:1,w:1,h:1,id:"c8",direction:"du"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17",direction:"dr"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c0","c1"]],previousId:null,id:"r2-130",order:130,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:59,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 130",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6",clue:1},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:5,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17",clue:23},{x:3,y:3,w:1,h:1,id:"c18",direction:"du"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c25"],initialOpen:!1}],walls:[["c4","c5"],["c5","c6"]],previousId:null,id:"r2-131",order:131,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 131",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2,clue:1},{id:"c3",q:0,r:3,clue:7},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4,parity:"even"},{id:"c11",q:1,r:5,clue:11},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:24},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:3,r:0,clue:26},{id:"c18",q:3,r:1},{id:"c19",q:3,r:2},{id:"c20",q:3,r:3,clue:19},{id:"c21",q:3,r:4},{id:"c22",q:3,r:5},{id:"c23",q:4,r:0},{id:"c24",q:4,r:2},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4},{id:"c27",q:4,r:5}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c11","c10"],initialOpen:!1}],walls:[["c17","c18"]],previousId:null,id:"r2-132",order:132,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 132",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2,clue:25},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5,clue:13},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3,clue:17},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0,clue:28},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4,clue:11},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2,clue:1},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:9},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2,parity:"odd"},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c3","c8"],["c21","c22"]],previousId:null,id:"r2-133",order:133,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:81,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 133",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:23},{x:1,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15",clue:1},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23",direction:"lr"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c6","c7"]],previousId:null,id:"r2-134",order:134,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 134",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0"},{x:3,y:0,w:1,h:1,id:"c1"},{x:4,y:0,w:1,h:1,id:"c2"},{x:5,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8",parity:"even"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13",clue:1},{x:4,y:2,w:2,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["big","parity","walls"],contentRevision:2,walls:[["c16","c17"]],previousId:null,id:"r2-135",order:135,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 135",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c1",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"circle"},{x:2,y:1,w:1,h:1,id:"c6",category:"circle",direction:"dr"},{x:3,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"circle"},{x:5,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c11",category:"circle"},{x:2,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c13",category:"circle"},{x:4,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c15",clue:1,category:"circle"},{x:0,y:3,w:1,h:1,id:"c16",category:"circle"},{x:1,y:3,w:1,h:2,id:"c17",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c18",category:"circle"},{x:3,y:3,w:1,h:1,id:"c19",category:"triangle",direction:"du"},{x:4,y:3,w:1,h:1,id:"c20",category:"circle"},{x:5,y:3,w:1,h:1,id:"c21",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c22",category:"triangle",clue:18},{x:3,y:4,w:1,h:1,id:"c23",category:"circle"},{x:4,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c25",category:"circle"}],features:["big","direction","alternation"],contentRevision:2,previousId:null,id:"r2-136",order:136,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 136",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",clue:1},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13",parity:"even"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:2,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:1,y:4,w:1,h:1,id:"c24"},{x:2,y:4,w:1,h:1,id:"c25"},{x:3,y:4,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"},{x:0,y:5,w:1,h:1,id:"c28"},{x:2,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c16","c17"],["c9","c15"],["c18","c23"]],previousId:null,id:"r2-137",order:137,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 137",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",clue:21},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9",direction:"lu"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c13",parity:"odd"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:2,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c23","c24"],initialOpen:!1}],previousId:null,id:"r2-138",order:138,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:79,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 138",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:2,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",parity:"even"},{x:2,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:2,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21",clue:1},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["big","parity","walls"],contentRevision:2,walls:[["c8","c13"]],previousId:null,id:"r2-139",order:139,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:56,objectiveScore:53,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 139",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16",clue:1},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18",clue:26},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20",direction:"lu"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29",clue:4}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c12","c18"],initialOpen:!1}],walls:[["c9","c15"]],previousId:null,id:"r2-140",order:140,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:60,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 140",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,clue:1,category:"circle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"triangle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"circle"},{id:"c19",q:3,r:2,category:"triangle"},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:4,r:0,category:"circle"},{id:"c23",q:4,r:1,category:"triangle"},{id:"c24",q:4,r:2,category:"triangle"},{id:"c25",q:4,r:3,category:"circle"},{id:"c26",q:4,r:4,category:"circle"},{id:"c27",q:4,r:5,category:"triangle",clue:30},{id:"c28",q:5,r:1,category:"circle"},{id:"c29",q:5,r:3,category:"triangle"},{id:"c30",q:5,r:4,category:"triangle"},{id:"c31",q:5,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c6","c7"],initialOpen:!1}],walls:[["c6","c12"]],previousId:null,id:"r2-141",order:141,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:67,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 141",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:2,category:"circle"},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"circle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"circle"},{id:"c23",q:4,r:0,category:"circle"},{id:"c24",q:4,r:1,category:"triangle"},{id:"c25",q:4,r:2,category:"circle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c6","c11"]],previousId:null,id:"r2-142",order:142,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:67,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 142",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2",clue:1},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",direction:"lr"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22",clue:26},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:3,y:4,w:1,h:1,id:"c26"},{x:4,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c15","c16"]],previousId:null,id:"r2-143",order:143,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:67,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 143",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"circle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"triangle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,clue:1,category:"circle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:1,category:"triangle"},{id:"c26",q:4,r:4,category:"circle"},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-144",order:144,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 144",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:2,y:0,w:2,h:1,id:"c0"},{x:4,y:0,w:1,h:1,id:"c1"},{x:0,y:1,w:1,h:1,id:"c2"},{x:1,y:1,w:1,h:1,id:"c3"},{x:2,y:1,w:1,h:1,id:"c4"},{x:3,y:1,w:1,h:1,id:"c5",direction:"lr"},{x:4,y:1,w:1,h:1,id:"c6"},{x:0,y:2,w:2,h:1,id:"c7"},{x:2,y:2,w:1,h:1,id:"c8"},{x:3,y:2,w:1,h:1,id:"c9"},{x:4,y:2,w:1,h:1,id:"c10"},{x:0,y:3,w:1,h:1,id:"c11"},{x:1,y:3,w:1,h:1,id:"c12"},{x:2,y:3,w:1,h:1,id:"c13"},{x:3,y:3,w:1,h:1,id:"c14"},{x:4,y:3,w:1,h:1,id:"c15"},{x:0,y:4,w:1,h:1,id:"c16"},{x:1,y:4,w:1,h:1,id:"c17",parity:"odd"},{x:2,y:4,w:1,h:1,id:"c18"},{x:3,y:4,w:1,h:1,id:"c19"}],features:["big","direction","parity","walls"],contentRevision:2,walls:[["c2","c7"]],previousId:null,id:"r2-145",order:145,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",estimatedBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:84,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 145",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c12"},{x:5,y:2,w:1,h:1,id:"c13",clue:1},{x:0,y:3,w:1,h:1,id:"c14",parity:"odd"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:4,y:3,w:1,h:2,id:"c17"},{x:5,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:5,y:4,w:1,h:1,id:"c23"},{x:0,y:5,w:1,h:1,id:"c24"},{x:1,y:5,w:1,h:1,id:"c25"},{x:2,y:5,w:1,h:1,id:"c26"},{x:3,y:5,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c20","c25"]],previousId:null,id:"r2-146",order:146,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 146",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:1,category:"triangle"},{id:"c1",q:0,r:2,clue:1,category:"circle"},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:0,category:"triangle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"triangle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"triangle",clue:18},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"circle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"triangle"},{id:"c22",q:3,r:5,category:"circle"},{id:"c23",q:4,r:1,category:"circle"},{id:"c24",q:4,r:2,category:"triangle"},{id:"c25",q:4,r:3,category:"circle"},{id:"c26",q:4,r:4,category:"circle"},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c7","c13"]],previousId:null,id:"r2-147",order:147,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 147",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle",direction:"dl"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c9",category:"circle"},{x:0,y:2,w:1,h:1,id:"c10",category:"circle"},{x:1,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:2,y:2,w:2,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle"},{x:2,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c16",category:"circle"},{x:4,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"circle"},{x:1,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c22",category:"circle"},{x:5,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c24",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c25",category:"circle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle",direction:"ru"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c29","c28"],initialOpen:!1}],previousId:null,id:"r2-148",order:148,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:80,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 148",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:2,h:1,id:"c0"},{x:3,y:0,w:1,h:1,id:"c1"},{x:4,y:0,w:1,h:1,id:"c2"},{x:5,y:0,w:1,h:1,id:"c3",clue:1},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15",clue:9},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17",clue:24},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:2,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",parity:"even"},{x:5,y:4,w:1,h:1,id:"c26"},{x:1,y:5,w:1,h:1,id:"c27"},{x:2,y:5,w:1,h:1,id:"c28"},{x:3,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-149",order:149,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 149",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:2,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c3",category:"circle"},{x:5,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:2,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:4,y:2,w:1,h:1,id:"c11",category:"circle"},{x:5,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c13",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c15",category:"circle"},{x:3,y:3,w:1,h:1,id:"c16",clue:1,category:"circle"},{x:4,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"circle"},{x:2,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c22",category:"circle"},{x:5,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c24",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c25",category:"circle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c27","c28"]],previousId:null,id:"r2-150",order:150,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 150",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",clue:1},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8",direction:"du"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11",clue:8},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20",clue:17},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c25","c19"],initialOpen:!1}],walls:[["c6","c7"]],previousId:null,id:"r2-151",order:151,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 151",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle",clue:3},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",clue:1,category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle"},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle",direction:"lu"},{x:0,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c13",category:"circle"},{x:2,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c15",category:"circle"},{x:4,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c17",category:"circle"},{x:1,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c19",category:"circle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle",direction:"du"},{x:0,y:4,w:2,h:1,id:"c22",category:"circle"},{x:2,y:4,w:1,h:1,id:"c23",category:"circle"},{x:3,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c26",category:"circle"},{x:0,y:5,w:1,h:1,id:"c27",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c28",category:"circle"},{x:2,y:5,w:1,h:1,id:"c29",category:"triangle"},{x:3,y:5,w:2,h:1,id:"c30",category:"circle"},{x:5,y:5,w:1,h:1,id:"c31",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c9","c10"]],previousId:null,id:"r2-152",order:152,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 152",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,clue:1,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"circle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"triangle"},{id:"c16",q:2,r:5,category:"circle",clue:27},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle",clue:19},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle"},{id:"c23",q:4,r:0,category:"circle"},{id:"c24",q:4,r:1,category:"triangle"},{id:"c25",q:4,r:2,category:"triangle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"},{id:"c28",q:5,r:1,category:"circle"},{id:"c29",q:5,r:2,category:"triangle"},{id:"c30",q:5,r:3,category:"circle"},{id:"c31",q:5,r:4,category:"triangle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c30","c31"],initialOpen:!1}],walls:[["c19","c25"]],previousId:null,id:"r2-153",order:153,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:80,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 153",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:2,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12",parity:"even"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:2,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18",clue:8},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25",clue:1},{x:5,y:4,w:1,h:1,id:"c26"},{x:0,y:5,w:1,h:1,id:"c27"},{x:1,y:5,w:1,h:1,id:"c28"},{x:3,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c9","c15"]],previousId:null,id:"r2-154",order:154,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 154",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:3,category:"triangle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle",clue:24},{id:"c5",q:1,r:0,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"triangle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"triangle"},{id:"c16",q:3,r:0,category:"triangle"},{id:"c17",q:3,r:1,category:"circle"},{id:"c18",q:3,r:2,category:"triangle",clue:10},{id:"c19",q:3,r:3,category:"circle"},{id:"c20",q:3,r:4,category:"circle"},{id:"c21",q:3,r:5,category:"triangle"},{id:"c22",q:4,r:0,category:"circle"},{id:"c23",q:4,r:1,category:"triangle"},{id:"c24",q:4,r:2,category:"circle"},{id:"c25",q:4,r:3,category:"triangle"},{id:"c26",q:4,r:4,category:"triangle",clue:30},{id:"c27",q:4,r:5,category:"circle"},{id:"c28",q:5,r:2,category:"triangle"},{id:"c29",q:5,r:3,category:"circle"},{id:"c30",q:5,r:4,category:"circle"},{id:"c31",q:5,r:5,category:"triangle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c9","c8"],initialOpen:!1}],walls:[["c12","c17"]],previousId:null,id:"r2-155",order:155,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 155",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle"},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"circle"},{id:"c10",q:1,r:4,category:"triangle",clue:16},{id:"c11",q:1,r:5,category:"circle"},{id:"c12",q:2,r:0,category:"circle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"triangle"},{id:"c16",q:2,r:4,category:"triangle",clue:26},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"triangle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:2,category:"circle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c22","c27"]],previousId:null,id:"r2-156",order:156,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 156",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2",clue:14},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17",clue:1},{x:0,y:3,w:1,h:2,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19",parity:"odd"},{x:2,y:3,w:2,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21",clue:26},{x:5,y:3,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c2","c8"],["c11","c17"]],previousId:null,id:"r2-157",order:157,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 157",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",parity:"even"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:2,h:1,id:"c13"},{x:3,y:2,w:2,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17",clue:1},{x:2,y:3,w:1,h:1,id:"c18",direction:"dl"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",clue:26},{x:4,y:4,w:1,h:1,id:"c26",clue:25},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c5","c11"],initialOpen:!1}],previousId:null,id:"r2-158",order:158,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:85,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 158",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle",clue:21},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle"},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:2,w:2,h:1,id:"c13",category:"circle"},{x:3,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c15",category:"triangle",direction:"du"},{x:5,y:2,w:1,h:1,id:"c16",category:"circle"},{x:0,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"circle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:5,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:0,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c29",category:"circle"},{x:3,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c31",clue:1,category:"circle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c5","c11"],initialOpen:!1}],previousId:null,id:"r2-159",order:159,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:62,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 159",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",clue:28},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10",parity:"odd"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c13"},{x:3,y:2,w:1,h:1,id:"c14",clue:11},{x:4,y:2,w:1,h:2,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:5,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21",clue:1},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"},{x:0,y:5,w:1,h:1,id:"c26"},{x:1,y:5,w:1,h:1,id:"c27"},{x:2,y:5,w:1,h:1,id:"c28"},{x:3,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c8","c13"]],previousId:null,id:"r2-160",order:160,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 160",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",direction:"dl"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13",clue:1},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15",clue:9},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c10","c16"],initialOpen:!1}],previousId:null,id:"r2-161",order:161,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 161",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1,clue:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3,clue:19},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:10},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3,clue:23},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0,parity:"odd"},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3,clue:27},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c10","c15"],["c28","c29"]],previousId:null,id:"r2-162",order:162,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 162",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:0,y:1,w:1,h:1,id:"c3",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c4",category:"circle"},{x:2,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:5,y:1,w:2,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c11",category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:6,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c17",category:"circle",clue:19},{x:2,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c19",category:"circle"},{x:4,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c21",clue:1,category:"circle"},{x:6,y:3,w:1,h:1,id:"c22",category:"circle"},{x:0,y:4,w:1,h:1,id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c25",category:"circle"},{x:3,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c27",category:"circle"},{x:5,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:6,y:4,w:1,h:1,id:"c29",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c31",category:"circle"},{x:2,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c33",category:"circle"},{x:4,y:5,w:1,h:1,id:"c34",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c3","c4"],["c27","c28"]],previousId:null,id:"r2-163",order:163,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:82,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 163",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",clue:1,category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"circle"},{x:3,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c15",category:"circle",direction:"lr"},{x:5,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:2,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"circle"},{x:4,y:3,w:1,h:1,id:"c21",category:"triangle",clue:16},{x:5,y:3,w:1,h:1,id:"c22",category:"circle"},{x:1,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:2,y:4,w:2,h:1,id:"c24",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c25",category:"circle"},{x:5,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c27",category:"circle"},{x:1,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c29",category:"circle"},{x:4,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c31",category:"circle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c18","c19"]],previousId:null,id:"r2-164",order:164,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 164",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:24},{x:2,y:0,w:1,h:1,id:"c1"},{x:5,y:0,w:1,h:1,id:"c2"},{x:0,y:1,w:1,h:1,id:"c3",clue:1},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:3,y:1,w:1,h:1,id:"c6"},{x:4,y:1,w:1,h:1,id:"c7"},{x:5,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17",parity:"even"},{x:4,y:3,w:1,h:1,id:"c18"},{x:5,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22",direction:"dr"},{x:3,y:4,w:2,h:1,id:"c23"},{x:5,y:4,w:1,h:2,id:"c24"},{x:0,y:5,w:1,h:1,id:"c25"},{x:1,y:5,w:1,h:1,id:"c26"},{x:2,y:5,w:1,h:1,id:"c27"},{x:3,y:5,w:1,h:1,id:"c28"},{x:4,y:5,w:1,h:1,id:"c29"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-165",order:165,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 165",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9",direction:"du"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18",clue:1},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22",clue:26},{x:1,y:4,w:1,h:1,id:"c23",clue:25},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",direction:"lr"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c27","c21"],initialOpen:!1}],previousId:null,id:"r2-166",order:166,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 166",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8",clue:15},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17",clue:1},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20",clue:24},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24",direction:"lu"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c12","c13"]],previousId:null,id:"r2-167",order:167,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:70,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 167",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:1},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4",parity:"odd"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:2,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",clue:23},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13",clue:26},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c18","c24"]],previousId:null,id:"r2-168",order:168,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:86,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 168",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:1,category:"triangle"},{id:"c1",q:0,r:2,category:"circle"},{id:"c2",q:0,r:3,category:"triangle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,clue:1,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:4,category:"circle"},{id:"c9",q:1,r:5,category:"triangle"},{id:"c10",q:2,r:0,category:"triangle"},{id:"c11",q:2,r:1,category:"circle"},{id:"c12",q:2,r:2,category:"triangle"},{id:"c13",q:2,r:3,category:"circle"},{id:"c14",q:2,r:4,category:"circle"},{id:"c15",q:2,r:5,category:"triangle"},{id:"c16",q:3,r:0,category:"circle"},{id:"c17",q:3,r:1,category:"triangle"},{id:"c18",q:3,r:2,category:"triangle"},{id:"c19",q:3,r:4,category:"triangle"},{id:"c20",q:3,r:5,category:"circle"},{id:"c21",q:4,r:0,category:"circle"},{id:"c22",q:4,r:1,category:"triangle"},{id:"c23",q:4,r:2,category:"circle"},{id:"c24",q:4,r:3,category:"triangle"},{id:"c25",q:4,r:4,category:"circle"},{id:"c26",q:4,r:5,category:"triangle"},{id:"c27",q:5,r:0,category:"circle"},{id:"c28",q:5,r:1,category:"triangle"},{id:"c29",q:5,r:3,category:"circle"},{id:"c30",q:5,r:4,category:"triangle"},{id:"c31",q:5,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c21","c22"],initialOpen:!1}],walls:[["c1","c6"]],previousId:null,id:"r2-169",order:169,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:60,title:"\u516D\u8FB9 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 169",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",clue:15},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8",direction:"lu"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c11","c17"],initialOpen:!1}],walls:[["c10","c11"]],previousId:null,id:"r2-170",order:170,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:66,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 170",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:0,y:3,w:1,h:1,id:"c14",category:"circle"},{x:1,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle"},{x:0,y:4,w:2,h:1,id:"c20",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c21",category:"circle"},{x:3,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c23",category:"circle"},{x:5,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c25",clue:1,category:"circle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c17","c18"],["c8","c9"],["c18","c23"]],previousId:null,id:"r2-171",order:171,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 171",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:2,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:3,y:0,w:1,h:2,id:"c1",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c3",category:"circle"},{x:0,y:1,w:1,h:1,id:"c4",category:"circle"},{x:1,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:5,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"triangle",direction:"lu"},{x:3,y:2,w:1,h:1,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c19",category:"circle"},{x:5,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c21",category:"triangle",clue:30},{x:1,y:4,w:1,h:1,id:"c22",category:"circle"},{x:2,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c24",category:"circle"},{x:4,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c26",category:"circle"},{x:0,y:5,w:1,h:1,id:"c27",category:"circle"},{x:1,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c29",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c30",category:"circle"},{x:5,y:5,w:1,h:1,id:"c31",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c17","c23"]],previousId:null,id:"r2-172",order:172,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 172",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:2,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:2,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6",clue:26},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",parity:"odd"},{x:3,y:2,w:1,h:1,id:"c13",direction:"dr"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15",clue:1},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23",clue:20},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c14","c13"],initialOpen:!1}],previousId:null,id:"r2-173",order:173,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 173",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1",direction:"lr"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5",clue:1},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11",clue:26},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22",clue:24},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c15","c20"],["c9","c10"]],previousId:null,id:"r2-174",order:174,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:70,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 174",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle",clue:6},{x:2,y:0,w:1,h:1,id:"c2",category:"circle",direction:"dl"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",clue:1,category:"circle"},{x:2,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c9",category:"circle"},{x:4,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c11",category:"circle"},{x:0,y:2,w:1,h:1,id:"c12",category:"circle"},{x:1,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c14",category:"circle"},{x:3,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c16",category:"circle"},{x:5,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c18",category:"circle"},{x:1,y:3,w:1,h:1,id:"c19",category:"triangle",clue:24},{x:2,y:3,w:2,h:1,id:"c20",category:"circle"},{x:4,y:3,w:1,h:1,id:"c21",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c22",category:"circle"},{x:0,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c24",category:"circle"},{x:2,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c26",category:"circle"},{x:4,y:4,w:2,h:1,id:"c27",category:"triangle"}],features:["big","direction","alternation"],contentRevision:2,previousId:null,id:"r2-175",order:175,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:70,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 175",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",category:"circle"},{x:2,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:3,y:1,w:1,h:2,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"triangle",clue:26},{x:5,y:1,w:1,h:1,id:"c11",category:"circle"},{x:0,y:2,w:1,h:1,id:"c12",category:"circle"},{x:1,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c14",category:"circle"},{x:4,y:2,w:1,h:1,id:"c15",category:"circle"},{x:5,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle",clue:6},{x:3,y:3,w:1,h:1,id:"c20",category:"circle"},{x:4,y:3,w:2,h:1,id:"c21",clue:1,category:"circle"},{x:0,y:4,w:1,h:1,id:"c22",category:"circle"},{x:1,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c24",category:"circle"},{x:3,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c26",category:"circle"},{x:5,y:4,w:1,h:1,id:"c27",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c1","c7"]],previousId:null,id:"r2-176",order:176,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:71,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 176",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"circle"},{x:3,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c15",clue:1,category:"circle"},{x:5,y:2,w:1,h:2,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle",direction:"lr"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:0,y:4,w:1,h:1,id:"c22",category:"circle"},{x:1,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c24",category:"circle"},{x:3,y:4,w:1,h:2,id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:0,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c29",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c30",category:"circle"},{x:5,y:5,w:1,h:1,id:"c31",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-177",order:177,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:71,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 177",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",parity:"even"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",clue:1},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:2,id:"c13"},{x:2,y:2,w:1,h:2,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15",direction:"lu"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19",clue:18},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c20","c19"],initialOpen:!1}],previousId:null,id:"r2-178",order:178,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:86,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 178",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c3"},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:5,y:1,w:1,h:1,id:"c6",clue:1},{x:0,y:2,w:1,h:1,id:"c7"},{x:1,y:2,w:1,h:1,id:"c8"},{x:2,y:2,w:1,h:1,id:"c9"},{x:3,y:2,w:1,h:1,id:"c10"},{x:4,y:2,w:1,h:1,id:"c11"},{x:5,y:2,w:1,h:1,id:"c12"},{x:0,y:3,w:1,h:1,id:"c13"},{x:1,y:3,w:1,h:1,id:"c14"},{x:2,y:3,w:1,h:1,id:"c15"},{x:3,y:3,w:1,h:1,id:"c16"},{x:4,y:3,w:1,h:1,id:"c17"},{x:5,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"},{x:5,y:4,w:1,h:2,id:"c24",parity:"odd"},{x:0,y:5,w:1,h:1,id:"c25"},{x:1,y:5,w:1,h:1,id:"c26"},{x:2,y:5,w:1,h:1,id:"c27"},{x:3,y:5,w:1,h:1,id:"c28"},{x:4,y:5,w:1,h:1,id:"c29"}],features:["big","parity","walls"],contentRevision:2,walls:[["c27","c28"]],previousId:null,id:"r2-179",order:179,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 179",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"circle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"triangle"},{id:"c14",q:2,r:3,category:"circle"},{id:"c15",q:2,r:4,category:"triangle"},{id:"c16",q:2,r:5,category:"circle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle"},{id:"c23",q:4,r:0,clue:1,category:"circle"},{id:"c24",q:4,r:4,category:"triangle",clue:14},{id:"c25",q:4,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c7","c8"],initialOpen:!1}],walls:[["c9","c10"],["c9","c15"]],previousId:null,id:"r2-180",order:180,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 180",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",clue:1,category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"circle"},{x:5,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:6,y:1,w:1,h:1,id:"c11",category:"circle"},{x:0,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c13",category:"circle"},{x:2,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c14",category:"circle"},{x:4,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c16",category:"circle"},{x:6,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c18",category:"circle"},{x:1,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:5,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:6,y:3,w:1,h:1,id:"c23",category:"circle"},{x:0,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:1,y:4,w:2,h:1,id:"c25",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c33",category:"circle"},{x:5,y:5,w:1,h:1,id:"c34",category:"triangle",clue:22},{x:6,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c22","c23"]],previousId:null,id:"r2-181",order:181,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 181",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",clue:23},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16",clue:1},{x:5,y:2,w:1,h:1,id:"c17",direction:"dl"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c12","c18"],initialOpen:!1}],walls:[["c1","c7"]],previousId:null,id:"r2-182",order:182,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:72,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 182",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4,clue:12},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2,clue:17},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:18},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4,parity:"odd"},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2,clue:1},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:7},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c15","c16"]],previousId:null,id:"r2-183",order:183,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:72,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 183",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c5",category:"triangle",clue:32},{x:2,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c7",clue:1,category:"circle"},{x:4,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c9",category:"circle"},{x:6,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c11",category:"circle"},{x:2,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:2,h:1,id:"c13",category:"triangle"},{x:6,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c19",category:"circle"},{x:5,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:6,y:3,w:1,h:1,id:"c21",category:"circle"},{x:0,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c23",category:"circle"},{x:2,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c33",category:"circle"},{x:5,y:5,w:1,h:1,id:"c34",category:"triangle"},{x:6,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c15","c16"],["c24","c31"]],previousId:null,id:"r2-184",order:184,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 184",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0,clue:18},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2,parity:"even"},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0,clue:20},{id:"c13",q:2,r:1,clue:22},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,clue:11},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5,clue:4}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c5","c4"],initialOpen:!1}],walls:[["c13","c14"]],previousId:null,id:"r2-185",order:185,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",estimatedBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:81,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 185",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2,clue:13},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3,clue:17},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,parity:"odd"},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1,clue:5},{id:"c20",q:3,r:2,clue:1},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:28},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c19","c24"],["c1","c2"]],previousId:null,id:"r2-186",order:186,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:72,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 186",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:3,y:0,w:1,h:1,id:"c2",category:"circle",clue:11},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c4",category:"circle"},{x:6,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle"},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle"},{x:6,y:1,w:1,h:1,id:"c12",category:"circle",direction:"lu"},{x:0,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c14",category:"circle"},{x:2,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c16",category:"circle"},{x:4,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c18",category:"circle"},{x:6,y:2,w:1,h:1,id:"c19",category:"triangle"},{x:0,y:3,w:1,h:2,id:"c20",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c21",category:"circle"},{x:4,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:5,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c25",category:"circle"},{x:3,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c33",category:"circle"},{x:5,y:5,w:1,h:1,id:"c34",category:"triangle"},{x:6,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c31","c30"],initialOpen:!1}],previousId:null,id:"r2-187",order:187,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 187",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:2,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12",clue:20},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14",direction:"du"},{x:4,y:2,w:1,h:1,id:"c15",clue:1},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20",parity:"odd"},{x:4,y:3,w:2,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24",direction:"lr"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c23"],initialOpen:!1}],previousId:null,id:"r2-188",order:188,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 188",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c1",category:"circle"},{x:3,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c3",category:"circle"},{x:0,y:1,w:1,h:1,id:"c4",category:"circle"},{x:2,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c8",clue:1,category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"circle"},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c20",category:"circle"},{x:0,y:4,w:1,h:1,id:"c21",category:"circle"},{x:1,y:4,w:2,h:1,id:"c22",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c25",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c26",category:"circle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c1","c2"]],previousId:null,id:"r2-189",order:189,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 189",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"circle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"triangle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"triangle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,clue:1,category:"circle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c13","c14"],["c11","c16"]],previousId:null,id:"r2-190",order:190,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 190",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:6,y:0,w:1,h:1,id:"c6",category:"circle"},{x:0,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c8",category:"circle"},{x:2,y:1,w:1,h:1,id:"c9",category:"triangle",clue:16},{x:3,y:1,w:1,h:1,id:"c10",category:"circle"},{x:4,y:1,w:1,h:1,id:"c11",category:"triangle",clue:14},{x:5,y:1,w:1,h:1,id:"c12",category:"circle"},{x:6,y:1,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c14",category:"circle"},{x:1,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c16",category:"circle"},{x:3,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c18",category:"circle"},{x:5,y:2,w:1,h:1,id:"c19",category:"triangle",direction:"lu"},{x:6,y:2,w:1,h:1,id:"c20",category:"circle"},{x:1,y:3,w:1,h:1,id:"c21",category:"circle"},{x:2,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c23",category:"circle"},{x:4,y:3,w:1,h:1,id:"c24",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c25",category:"circle"},{x:6,y:3,w:1,h:1,id:"c26",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c27",category:"circle"},{x:1,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c29",category:"circle"},{x:3,y:4,w:1,h:1,id:"c30",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c31",category:"circle"},{x:5,y:4,w:1,h:1,id:"c32",category:"triangle"},{x:0,y:5,w:2,h:1,id:"c33",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c34",category:"circle"},{x:4,y:5,w:1,h:1,id:"c35",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c21","c22"],initialOpen:!1}],previousId:null,id:"r2-191",order:191,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 191",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:2,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:5,y:0,w:1,h:1,id:"c3"},{x:6,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:6,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12",direction:"du"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14",clue:1},{x:4,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c15",parity:"odd"},{x:6,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19",direction:"lu"},{x:3,y:3,w:1,h:1,id:"c20"},{x:6,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"},{x:6,y:4,w:1,h:1,id:"c28"},{x:0,y:5,w:1,h:1,id:"c29"},{x:1,y:5,w:1,h:1,id:"c30"},{x:2,y:5,w:1,h:1,id:"c31"},{x:3,y:5,w:1,h:1,id:"c32",direction:"ru"},{x:4,y:5,w:1,h:1,id:"c33"},{x:5,y:5,w:1,h:1,id:"c34"},{x:6,y:5,w:1,h:1,id:"c35"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c23","c24"],initialOpen:!1}],previousId:null,id:"r2-192",order:192,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:71,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 192",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:2,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:1,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c12",category:"circle"},{x:3,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c14",category:"circle"},{x:5,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c17",category:"circle"},{x:2,y:3,w:1,h:1,id:"c18",category:"triangle",clue:28},{x:3,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c19",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c20",category:"circle"},{x:0,y:4,w:1,h:1,id:"c21",category:"circle"},{x:1,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c23",category:"circle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c19","c20"],["c3","c8"]],previousId:null,id:"r2-193",order:193,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 193",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1,clue:27},{id:"c8",q:1,r:2,clue:1},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4,clue:12},{id:"c11",q:1,r:5,clue:22},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2,clue:9},{id:"c15",q:2,r:3,clue:11},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,parity:"odd"},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c0","c1"],["c20","c25"]],previousId:null,id:"r2-194",order:194,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:59,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 194",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:2,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c9",category:"circle"},{x:5,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c14",category:"circle"},{x:4,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c17",category:"circle"},{x:2,y:3,w:1,h:1,id:"c18",category:"circle"},{x:3,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"circle"},{x:2,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c23",category:"circle"},{x:4,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c25",category:"circle"},{x:1,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c27",category:"circle"},{x:3,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c19","c20"]],previousId:null,id:"r2-195",order:195,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:59,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 195",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",clue:1},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22",clue:23},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24",clue:4},{x:1,y:4,w:1,h:1,id:"c25",direction:"lu"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls"],contentRevision:2,walls:[["c13","c14"]],previousId:null,id:"r2-196",order:196,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:59,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 196",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:5,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:6,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c11",category:"circle"},{x:6,y:1,w:1,h:1,id:"c12",category:"triangle",clue:34},{x:0,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c14",category:"circle"},{x:2,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c16",category:"circle",direction:"du"},{x:4,y:2,w:1,h:1,id:"c17",category:"circle"},{x:5,y:2,w:1,h:1,id:"c18",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c19",category:"circle"},{x:1,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c20",category:"circle"},{x:3,y:3,w:2,h:1,id:"c21",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c22",category:"circle"},{x:6,y:3,w:1,h:1,id:"c23",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"circle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"circle"},{x:4,y:5,w:1,h:1,id:"c33",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c34",category:"circle"},{x:6,y:5,w:1,h:1,id:"c35",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c14","c7"],initialOpen:!1}],previousId:null,id:"r2-197",order:197,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 197",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:2,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9",clue:26},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11",parity:"even"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:2,id:"c13",clue:1},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20",direction:"du"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c21","c16"],initialOpen:!1}],previousId:null,id:"r2-198",order:198,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 198",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,clue:1,category:"circle"},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"circle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"triangle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,category:"circle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"triangle"},{id:"c22",q:3,r:4,category:"triangle",clue:22},{id:"c23",q:3,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c15","c20"]],previousId:null,id:"r2-199",order:199,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:68,title:"\u516D\u8FB9 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 199",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",clue:1,category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c10",category:"circle"},{x:1,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c12",category:"circle",direction:"ru"},{x:3,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c16",category:"circle"},{x:2,y:3,w:1,h:2,id:"c17",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c18",category:"circle"},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"circle"},{x:4,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c5","c10"],["c3","c8"]],previousId:null,id:"r2-200",order:200,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:68,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 200",caption:""}],playOrder:["r2-001","r2-002","r2-003","r2-004","r2-005","r2-006","r2-007","r2-008","r2-009","r2-010","r2-011","r2-012","r2-013","r2-014","r2-015","r2-016","r2-017","r2-018","r2-019","r2-020","r2-021","r2-022","r2-023","r2-024","r2-025","r2-026","r2-027","r2-028","r2-029","r2-030","r2-031","r2-032","r2-033","r2-034","r2-035","r2-036","r2-037","r2-038","r2-039","r2-040","r2-041","r2-042","r2-043","r2-044","r2-045","r2-046","r2-047","r2-048","r2-049","r2-050","r2-051","r2-052","r2-053","r2-054","r2-055","r2-056","r2-057","r2-058","r2-059","r2-060","r2-061","r2-062","r2-063","r2-064","r2-065","r2-066","r2-067","r2-068","r2-069","r2-070","r2-071","r2-072","r2-073","r2-074","r2-075","r2-076","r2-077","r2-078","r2-079","r2-080","r2-081","r2-082","r2-083","r2-084","r2-085","r2-086","r2-087","r2-088","r2-089","r2-090","r2-091","r2-092","r2-093","r2-094","r2-095","r2-096","r2-097","r2-098","r2-099","r2-100","r2-101","r2-102","r2-103","r2-104","r2-105","r2-106","r2-107","r2-108","r2-109","r2-110","r2-111","r2-112","r2-113","r2-114","r2-115","r2-116","r2-117","r2-118","r2-119","r2-120","r2-121","r2-122","r2-123","r2-124","r2-125","r2-126","r2-127","r2-128","r2-129","r2-130","r2-131","r2-132","r2-133","r2-134","r2-135","r2-136","r2-137","r2-138","r2-139","r2-140","r2-141","r2-142","r2-143","r2-144","r2-145","r2-146","r2-147","r2-148","r2-149","r2-150","r2-151","r2-152","r2-153","r2-154","r2-155","r2-156","r2-157","r2-158","r2-159","r2-160","r2-161","r2-162","r2-163","r2-164","r2-165","r2-166","r2-167","r2-168","r2-169","r2-170","r2-171","r2-172","r2-173","r2-174","r2-175","r2-176","r2-177","r2-178","r2-179","r2-180","r2-181","r2-182","r2-183","r2-184","r2-185","r2-186","r2-187","r2-188","r2-189","r2-190","r2-191","r2-192","r2-193","r2-194","r2-195","r2-196","r2-197","r2-198","r2-199","r2-200"]};var jc={basic:"\u4ECE\u6570\u5B57 1 \u5F00\u59CB\uFF0C\u6309\u4F4F\u6ED1\u52A8\uFF0C\u628A\u6240\u6709\u683C\u5B50\u8FDE\u8D77\u6765\u3002\u53EA\u80FD\u8D70\u5230\u8FB9\u6328\u7740\u8FB9\u7684\u683C\u5B50\uFF0C\u4E0D\u80FD\u659C\u7740\u8D70\u3002\u6BCF\u683C\u53EA\u80FD\u7ECF\u8FC7\u4E00\u6B21\u3002",walls:"\u9ED1\u9EC4\u6761\u7EB9\u662F\u4E00\u5835\u5899\uFF0C\u4E0D\u80FD\u76F4\u63A5\u7A7F\u8FC7\u53BB\u3002\u8BF7\u4ECE\u522B\u7684\u683C\u5B50\u7ED5\u5230\u5899\u7684\u53E6\u4E00\u8FB9\u3002",straight:"\u753B\u7740\u6A2A\u7EBF\u7684\u683C\u5B50\u53EA\u80FD\u6A2A\u7740\u7A7F\u8FC7\uFF1A\u4ECE\u5DE6\u8FB9\u8FDB\u3001\u53F3\u8FB9\u51FA\uFF0C\u4E5F\u53EF\u4EE5\u53CD\u8FC7\u6765\u3002\u4E0D\u80FD\u5728\u91CC\u9762\u8F6C\u5F2F\uFF0C\u4E5F\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002",vertical:"\u753B\u7740\u7AD6\u7EBF\u7684\u683C\u5B50\u53EA\u80FD\u7AD6\u7740\u7A7F\u8FC7\uFF1A\u4ECE\u4E0A\u8FB9\u8FDB\u3001\u4E0B\u8FB9\u51FA\uFF0C\u4E5F\u53EF\u4EE5\u53CD\u8FC7\u6765\u3002\u4E0D\u80FD\u5728\u91CC\u9762\u8F6C\u5F2F\uFF0C\u4E5F\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002",corner:"\u8FD9\u4E2A\u683C\u5B50\u91CC\u753B\u7740\u4E00\u6761\u8F6C\u5F2F\u7684\u7EBF\u3002\u6CBF\u8FD9\u6761\u7EBF\uFF0C\u4ECE\u4E00\u7AEF\u8FDB\u5165\u3001\u53E6\u4E00\u7AEF\u79BB\u5F00\uFF1B\u6B63\u7740\u8D70\u3001\u53CD\u7740\u8D70\u90FD\u53EF\u4EE5\u3002\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002",colour:"\u6BCF\u8D70\u4E00\u6B65\u90FD\u8981\u6362\u989C\u8272\uFF1A\u84DD\u8272 \u2192 \u6A59\u8272 \u2192 \u84DD\u8272\u3002\u540C\u4E00\u79CD\u989C\u8272\u7684\u4E24\u4E2A\u683C\u5B50\uFF0C\u5373\u4F7F\u6328\u7740\uFF0C\u4E5F\u4E0D\u80FD\u8FDE\u7EED\u8D70\u3002",parity:"\u4ECE\u8D77\u70B9\u5F00\u59CB\u6570\uFF0C\u7B2C\u4E00\u4E2A\u683C\u5B50\u7B97\u7B2C 1 \u6B65\u3002\u201C\u5947\u201D\u683C\u5FC5\u987B\u5728\u7B2C 1\u30013\u30015\u2026\u6B65\u7ECF\u8FC7\uFF1B\u201C\u5076\u201D\u683C\u5FC5\u987B\u5728\u7B2C 2\u30014\u30016\u2026\u6B65\u7ECF\u8FC7\u3002","rhythm-door":"\u95E8\u4E00\u5F00\u59CB\u662F\u5173\u7740\u7684\u3002\u6BCF\u8D70\u8FDB\u4E00\u4E2A\u683C\u5B50\uFF0C\u95E8\u5C31\u5F00\u3001\u5173\u5207\u6362\u4E00\u6B21\uFF1B\u8D77\u70B9\u4E5F\u7B97\u4E00\u6B65\u3002\u53EA\u6709\u663E\u793A\u201C\u5F00\u201D\u65F6\u624D\u80FD\u7A7F\u8FC7\u3002\u7A7F\u8FC7\u540E\uFF0C\u95E8\u4F1A\u4FDD\u6301\u6253\u5F00\uFF1B\u5982\u679C\u9000\u56DE\u5230\u7A7F\u95E8\u4E4B\u524D\uFF0C\u95E8\u53C8\u4F1A\u7EE7\u7EED\u5207\u6362\u3002",hex:"\u516D\u8FB9\u5F62\u7684\u6BCF\u6761\u8FB9\u65C1\u8FB9\u90FD\u53EF\u80FD\u6709\u4E00\u4E2A\u683C\u5B50\u3002\u53EA\u8981\u4E24\u4E2A\u683C\u5B50\u6709\u4E00\u6574\u6761\u8FB9\u6328\u5728\u4E00\u8D77\uFF0C\u5C31\u80FD\u76F4\u63A5\u8D70\u8FC7\u53BB\u3002\u6BCF\u7ECF\u8FC7\u4E00\u4E2A\u683C\u5B50\u7B97\u4E00\u6B65\u3002","unknown-start":"\u8FD9\u4E00\u5173\u6CA1\u6709\u6570\u5B57 1\uFF0C\u53EF\u4EE5\u81EA\u5DF1\u9009\u8D77\u70B9\u3002\u5148\u770B\u770B\u5176\u4ED6\u6570\u5B57\uFF0C\u8BD5\u7740\u627E\u51FA\u4ECE\u54EA\u91CC\u5F00\u59CB\uFF0C\u624D\u80FD\u6309\u6B63\u786E\u7684\u6B65\u6570\u5230\u8FBE\u5B83\u4EEC\u3002"};function ei(c){let e=["\u6309\u4F4F\u6ED1\u52A8\uFF0C\u628A\u6240\u6709\u683C\u5B50\u8FDE\u6210\u4E00\u6761\u7EBF\u3002\u6BCF\u4E2A\u683C\u5B50\u53EA\u80FD\u7ECF\u8FC7\u4E00\u6B21\u3002",c.geometry==="hex"?"\u516D\u8FB9\u5F62\u4E4B\u95F4\uFF0C\u6709\u4E00\u6574\u6761\u8FB9\u6328\u5728\u4E00\u8D77\u624D\u80FD\u8D70\u8FC7\u53BB\u3002":"\u53EA\u80FD\u8D70\u5230\u8FB9\u6328\u7740\u8FB9\u7684\u683C\u5B50\uFF0C\u4E0D\u80FD\u659C\u7740\u8D70\u3002","\u683C\u5B50\u91CC\u7684\u6570\u5B57\u8868\u793A\u7B2C\u51E0\u6B65\u5230\u8FD9\u91CC\u3002\u4F8B\u5982\u6570\u5B57 5\uFF0C\u5FC5\u987B\u5728\u7B2C 5 \u6B65\u8D70\u5230\u5B83\u3002"];c.geometry==="blocks"&&e.push("\u4E00\u4E2A\u5927\u683C\u6216\u4E0D\u89C4\u5219\u5F62\u72B6\u7684\u683C\u5B50\uFF0C\u6574\u4E2A\u7B97\u4E00\u6B65\u3002");for(let[i,a]of[["direction","corner"],["alternation","colour"],["parity","parity"],["walls","walls"],["rhythm-door","rhythm-door"]])c.features.includes(i)&&e.push(i==="direction"?"\u6709\u7EBF\u6761\u7684\u683C\u5B50\uFF0C\u8981\u6CBF\u56FE\u4E2D\u7684\u7EBF\u4ECE\u4E00\u7AEF\u8FDB\u5165\u3001\u53E6\u4E00\u7AEF\u79BB\u5F00\uFF1B\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002":jc[a]);return c.cells.some(i=>i.clue===1)||e.push(jc["unknown-start"]),e.push("\u8D70\u9519\u4E86\uFF0C\u53EF\u4EE5\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\u5F80\u56DE\u9000\uFF1B\u4E5F\u53EF\u4EE5\u70B9\u201C\u64A4\u9500\u201D\u9000\u4E00\u6B65\uFF0C\u70B9\u201C\u91CD\u5F00\u201D\u91CD\u65B0\u5F00\u59CB\u3002"),e.join(` -`)}var br={\u56FA\u5B9A\u6570\u5B57\u6B65\u53F7\u4E0D\u7B26:"\u5230\u8FBE\u6570\u5B57\u683C\u7684\u6B65\u6570\u4E0D\u5BF9",\u8BE5\u683C\u6B65\u53F7\u5947\u5076\u4E0D\u7B26:"\u8D70\u5230\u201C\u5947\u201D\u683C\u8981\u6570\u5230 1\u30013\u30015\u2026\uFF1B\u8D70\u5230\u201C\u5076\u201D\u683C\u8981\u6570\u5230 2\u30014\u30016\u2026",\u8FDB\u51FA\u65B9\u5411\u4E0D\u7B26:"\u8BF7\u6CBF\u683C\u5B50\u91CC\u753B\u7684\u7EBF\uFF0C\u4ECE\u4E00\u7AEF\u8FDB\u5165\u3001\u53E6\u4E00\u7AEF\u79BB\u5F00",\u8FD9\u4E00\u6B65\u95E8\u662F\u5173\u95ED\u7684:"\u95E8\u73B0\u5728\u5173\u7740\uFF0C\u8BF7\u5148\u8D70\u5230\u522B\u7684\u683C\u5B50\uFF0C\u8BA9\u95E8\u5207\u6362\u5230\u201C\u5F00\u201D",\u84DD\u6A59\u989C\u8272\u5FC5\u987B\u4EA4\u66FF:"\u6BCF\u4E00\u6B65\u90FD\u8981\u6362\u989C\u8272\uFF1A\u84DD\u8272\u548C\u6A59\u8272\u4EA4\u66FF\u8D70","\u89C4\u5219\u4E0D\u7B26\uFF0C\u8BF7\u6CBF\u6765\u65F6\u8DEF\u9000\u56DE\u4E0A\u4E00\u683C\u518D\u8BD5\u3002":"\u8FD9\u4E00\u6B65\u4E0D\u7B26\u5408\u89C4\u5219\uFF0C\u8BF7\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\u9000\u56DE\u4E0A\u4E00\u683C\u518D\u8BD5\u3002","\u4E0B\u4E00\u6B65\u5728\u9EC4\u8272\u8FB9\u6846\u683C\uFF1B\u63D0\u793A\u4E0D\u4F1A\u81EA\u52A8\u753B\u8DEF\u3002":"\u4E0B\u4E00\u6B65\u8D70\u5230\u9EC4\u8272\u8FB9\u6846\u7684\u683C\u5B50\uFF0C\u8BF7\u81EA\u5DF1\u8FDE\u8FC7\u53BB\u3002","\u8BF7\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\u9EC4\u8272\u8FB9\u6846\u683C\uFF0C\u518D\u7EE7\u7EED\u3002":"\u8BF7\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\uFF0C\u4E00\u683C\u4E00\u683C\u9000\u56DE\u9EC4\u8272\u8FB9\u6846\u5904\uFF0C\u518D\u8BD5\u53E6\u4E00\u6761\u8DEF\u3002","\u8D77\u70B9\u9700\u8981\u8C03\u6574\uFF0C\u8BF7\u91CD\u5F00\u5E76\u4ECE\u9EC4\u8272\u8FB9\u6846\u683C\u5F00\u59CB\u3002":"\u8D77\u70B9\u9009\u9519\u4E86\u3002\u8BF7\u70B9\u201C\u91CD\u5F00\u201D\uFF0C\u4ECE\u9EC4\u8272\u8FB9\u6846\u7684\u683C\u5B50\u5F00\u59CB\u3002","\u95E8\u73B0\u5728\u5173\u95ED\uFF1B\u7ED5\u884C\u843D\u683C\u540E\u4F1A\u5207\u6362\u3002":"\u95E8\u73B0\u5728\u5173\u7740\u3002\u5148\u8D70\u5230\u522B\u7684\u683C\u5B50\uFF0C\u95E8\u5C31\u4F1A\u5F00\u3001\u5173\u5207\u6362\u4E00\u6B21\u3002","\u9ED1\u9EC4\u5899\u4E0D\u80FD\u7A7F\u8FC7\uFF0C\u8BF7\u4ECE\u53E6\u4E00\u4FA7\u7ED5\u884C\u3002":jc.walls,"\u540C\u8272\u683C\u4E0D\u80FD\u8FDE\u7EED\u7ECF\u8FC7\uFF0C\u8BF7\u6362\u53E6\u4E00\u79CD\u989C\u8272\u3002":"\u4E0B\u4E00\u6B65\u8981\u6362\u989C\u8272\uFF1A\u84DD\u683C\u4E4B\u540E\u8D70\u6A59\u683C\uFF0C\u6A59\u683C\u4E4B\u540E\u8D70\u84DD\u683C\u3002"};function h1(c){let e=String(c);for(let[i,a]of Object.entries(br))e=e.split(i).join(a);return e.replaceAll("\uFF0C\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\u3002","\u3002\u8BF7\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\u9000\u56DE\u3002").replaceAll("\u8BBF\u95EE\u6B65\u53F7","\u7B2C\u51E0\u6B65\u7ECF\u8FC7").replaceAll("\u6B65\u53F7","\u6B65\u6570").replaceAll("\u8BA4\u6E05\u5F02\u5F62\u5171\u8FB9","\u627E\u51FA\u4E0D\u89C4\u5219\u683C\u5B50\u65C1\u8FB9\u80FD\u8D70\u7684\u683C\u5B50").replaceAll("\u516D\u5411\u5171\u8FB9","\u516D\u8FB9\u5F62\u600E\u4E48\u8D70").replaceAll("\u5171\u8FB9","\u8FB9\u6328\u7740\u8FB9")}for(let c of Pc.levels)c.tutorial&&(c.caption=jc[c.tutorial]||c.caption),c.title=h1(c.title);var pe=wx.getPerformance?wx.getPerformance():{now:()=>Date.now()};Array.prototype.at||Object.defineProperty(Array.prototype,"at",{value:function(c){return c=Math.trunc(c)||0,this[c<0?this.length+c:c]},configurable:!0,writable:!0});var uc=wx.createCanvas(),ue=wx.createCanvas(),s1=new Map,xe=()=>{};function ii(c){xe=c}var We=class{constructor(e=""){this.id=e,this.children=[],this.handlers={},this.value="",this.style={},this.className="",this.textContent="",this.hidden=!1,this.disabled=!1}set textContent(e){let i=h1(e);i!==this._text&&(this._text=i,xe())}get textContent(){return this._text||""}set className(e){e!==this._className&&(this._className=e,xe())}get className(){return this._className||""}set hidden(e){e!==this._hidden&&(this._hidden=e,xe())}get hidden(){return this._hidden||!1}set disabled(e){e!==this._disabled&&(this._disabled=e,xe())}get disabled(){return this._disabled||!1}replaceChildren(...e){this.children=e}append(...e){this.children.push(...e)}addEventListener(e,i){this.handlers[e]=i}setAttribute(){}setPointerCapture(){}getBoundingClientRect(){return{left:0,top:0,width:this.clientWidth,height:this.clientHeight}}click(){var e;this.disabled||(e=this.onclick)==null||e.call(this)}},dc={getElementById(c){return s1.has(c)||s1.set(c,new We(c)),s1.get(c)},createElement(){return new We}},Le=dc.getElementById("board");Le.getContext=()=>ue.getContext("2d");for(let c of["width","height"])Object.defineProperty(Le,c,{get:()=>ue[c],set:e=>{ue[c]=e}});Le.clientWidth=375;Le.clientHeight=440;dc.getElementById("screen-play").className="screen hidden";dc.getElementById("rules-sheet").hidden=!0;dc.getElementById("feedback-sheet").hidden=!0;var pc={getItem(c){try{return wx.getStorageSync(c)||null}catch{return null}},setItem(c,e){try{wx.setStorageSync(c,String(e))}catch{}},removeItem(c){wx.removeStorageSync(c)}},_={devicePixelRatio:1,handlers:{},addEventListener(c,e){this.handlers[c]=e},AudioContext:wx.createWebAudioContext?function(){return wx.createWebAudioContext()}:void 0};function ri(c){let e=wx.env.USER_DATA_PATH+"/NumberSwipe-campaign-200-r2-records.json";try{wx.getFileSystemManager().writeFileSync(e,JSON.stringify(c,null,2),"utf8"),wx.shareFileMessage?wx.shareFileMessage({filePath:e,fileName:"NumberSwipe-r2-\u8BD5\u73A9\u8BB0\u5F55.json"}):wx.showModal({title:"\u8BB0\u5F55\u5DF2\u4FDD\u5B58",content:e,showCancel:!1})}catch{wx.showToast({title:"\u8BB0\u5F55\u5BFC\u51FA\u5931\u8D25",icon:"none"})}}function ti(c,e,i,a,t){let r=c.filter(y=>y.id===e),o=y=>{let s=!1;for(let g=0,u=y.length-1;ga!=b>a&&i<(m-w)*(a-x)/(b-x)+w&&(s=!s)}return s};if(!r.some(y=>o(y.p)))return!1;let d=[];for(let y of r)for(let s=0;sMath.hypot(y[0]-s[0],y[1]-s[1])<.01,n=d.filter(([y,s],g)=>!d.some(([u,w],x)=>g!==x&&l(y,w)&&l(s,u))),h=Math.min(3,.06*t);return n.every(([y,s])=>{let g=s[0]-y[0],u=s[1]-y[1],w=g*g+u*u,x=w?Math.max(0,Math.min(1,((i-y[0])*g+(a-y[1])*u)/w)):0;return Math.hypot(i-y[0]-g*x,a-y[1]-u*x)>=h})}var Ac=new Map,g1=0,vr=4*1024*1024;function ai(c,e,i,a,t,r){Oc(c,t,800,!0),c.textAlign="left",c.textBaseline="alphabetic";let o=String(e),d=l1(c,o,t),l=r===p.onPrimary;if(!Number.isFinite(d.actualBoundingBoxAscent)||!Number.isFinite(d.actualBoundingBoxRight)||typeof wx=="undefined"){c.save(),l&&(c.shadowColor="rgba(255,255,255,.5)",c.shadowBlur=2),ic(c,o,i,a,t,r,800,!0),c.restore();return}let n=[o,t.toFixed(3),r,c.font].join("|"),h=Ac.get(n);if(h)Ac.delete(n),Ac.set(n,h);else{let s=d.actualBoundingBoxLeft+d.actualBoundingBoxRight,g=d.actualBoundingBoxAscent+d.actualBoundingBoxDescent,u=l?Math.max(.8,Math.min(2.6,t*.055)):0,w=Math.ceil(u*3+3),x=wx.createCanvas();x.width=Math.ceil((s+2*w)*2),x.height=Math.ceil((g+2*w)*2);let m=x.getContext("2d");m.setTransform(2,0,0,2,0,0),Oc(m,t,800,!0),m.textAlign="left",m.textBaseline="alphabetic";let b=m.createLinearGradient(0,w,0,w+g);if(b&&typeof b.addColorStop=="function"?(b.addColorStop(0,l?"#FFFFFF":"#65583F"),b.addColorStop(.48,l?"#FFFDFE":r),b.addColorStop(1,l?"#F0EEFF":"#4C402D"),m.fillStyle=b):m.fillStyle=r,m.fillText(o,w+d.actualBoundingBoxLeft,w+d.actualBoundingBoxAscent),!l)try{let k=m.getImageData(0,0,x.width,x.height);if(k!=null&&k.data){for(let I=0;I>>0)%17-8;for(let D=0;D<3;D++)k.data[v+D]+=B*.32}m.putImageData(k,0,0)}}catch{}let f=wx.createCanvas();f.width=x.width,f.height=x.height;let q=f.getContext("2d");for(l&&(q.shadowColor="rgba(61,43,146,.46)",q.shadowBlur=1.2*2,q.shadowOffsetY=.7*2,q.drawImage(x,0,0),q.shadowColor="rgba(255,255,255,.58)",q.shadowBlur=u*2,q.shadowOffsetY=0,q.drawImage(x,0,0),q.shadowColor="rgba(0,0,0,0)",q.shadowBlur=0),q.drawImage(x,0,0),h={canvas:f,pad:w,w:s,h:g,res:2},Ac.set(n,h),g1+=f.width*f.height*4;g1>vr&&Ac.size>1;){let k=Ac.keys().next().value,I=Ac.get(k);Ac.delete(k),g1-=I.canvas.width*I.canvas.height*4}}c.drawImage(h.canvas,i-h.w/2-h.pad,a-h.h/2-h.pad,h.canvas.width/h.res,h.canvas.height/h.res)}var oi=new WeakMap,x1={liveRenders:0,previewRenders:0},G={reducedMotion:!1},Br=c=>new Set(c.flatMap(e=>e.cells));function ni(c,e,i){let a=c.category!==void 0;return{fill:a?c.category==="circle"?p.categoryBlueFace:p.categoryOrangeFace:i?p.danger:e?p.primary:p.cellFace,depth:a||!e&&!i?p.cellDepth:i?p.dangerDepth:p.primaryDepth,ink:!a&&(e||i)?p.onPrimary:p.ink,category:a}}function di(c,e,i,a=!1){if(a)return;c.save();let t=i.slice(1).map((r,o)=>({a:i[o],b:r}));if(A.enhanced&&!G.reducedMotion)for(let r of e.feedbackEvents||[])r.kind==="undo"&&r.from&&e.now-r.timeo.a===r.from&&o.b===r.cell)&&t.push({a:r.from,b:r.cell,undo:r});for(let r of t){let o=Oe(e,r.a,r.b);if(!o)continue;let[d,l]=o.segments[0],n=L(d,l),h=(l[0]-d[0])/n,y=(l[1]-d[1])/n,s=-y,g=h,[u,w]=o.entry,x=Math.min(e.pitch*Y.referenceMatch.bridgeRatio,n*.6)/2,m=(e.feedbackEvents||[]).findLast(M=>M.from===r.a&&M.cell===r.b&&["move","checkpoint"].includes(M.kind)),b=!A.enhanced||G.reducedMotion?1:r.undo?1-U(0,(e.now-r.undo.time)/W.undoMs,1):m?U(0,(e.now-m.time)/W.bridgeMs,1):1,f=(e.inset+1.2)*b;if(f<.01)continue;let q=c.createLinearGradient(u-h*x,w-y*x,u+h*x,w+y*x);q!=null&&q.addColorStop&&(q.addColorStop(0,"#7D70EF"),q.addColorStop(.12,"#9386F8"),q.addColorStop(.34,"#ABA0FF"),q.addColorStop(.55,"#978BFA"),q.addColorStop(.8,p.primary),q.addColorStop(1,"#786BEC")),c.fillStyle=q!=null&&q.addColorStop?q:p.primary;let k=24,I=f*2/k;for(let M=0;My[1]),h=c.createLinearGradient(0,Math.min(...n),0,Math.max(...n));if(h&&typeof h.addColorStop=="function"){let y=s=>"#"+[1,3,5].map(g=>U(0,parseInt(i.fill.slice(g,g+2),16)+s,255).toString(16).padStart(2,"0")).join("");h.addColorStop(0,y(3)),h.addColorStop(.25,i.fill),h.addColorStop(.75,i.fill),h.addColorStop(1,y(-3)),e.paints.set(i.fill,h)}else e.paints.set(i.fill,i.fill)}Rc(c,e.rings,e.radius),c.fillStyle=e.paints.get(i.fill),c.fill(),c.save(),Rc(c,e.rings,e.radius),c.clip(),c.lineCap="round",c.lineWidth=Y.material.bevelWidth,c.strokeStyle=a.steps.has(e.cell.id)&&!i.category?p.primaryEdge:p.cellBevel;for(let n of e.rings)for(let h=0;h=-.25)continue;let x=Math.min(e.radius,g*.3);c.beginPath(),c.moveTo(y[0]+(s[0]-y[0])*x/g-u*.7,y[1]+(s[1]-y[1])*x/g-w*.7),c.lineTo(s[0]-(s[0]-y[0])*x/g-u*.7,s[1]-(s[1]-y[1])*x/g-w*.7),c.stroke()}c.restore()}c.restore()}}function He(c,e,i,a,t,r,o,d=800,l=!1){c.save(),l?ai(c,i,a,t,r,o):ic(c,i,a,t,r,o,d);let n=c.measureText(String(i)).width;c.restore(),e.keepouts.push({x:a-n/2-3,y:t-r*.6-2,w:n+6,h:r*1.2+4})}function kr(c,e,i,a){let t=e.indexOf(i.id);if(t<0)return"idle";if(t===0||a.has(i.id))return"error";let r=$c(c,i.id,e[t-1]);return!i.direction.includes(r)||tx[f]);if(c.beginPath(),c.moveTo(s+m[0]*u,g+m[1]*u),c.lineTo(s,g),c.lineTo(s+b[0]*u,g+b[1]*u),c.lineCap="round",c.lineJoin="round",c.lineWidth=U(7,l*.17,10),c.strokeStyle=w==="error"?p.dangerSoft:n?p.primaryEdge:p.surfaceMuted,c.stroke(),c.lineWidth=U(3.5,l*.085,5),c.strokeStyle=w==="error"?p.danger:y,c.stroke(),e.channels.push({cell:r.id,kind:r.direction,center:[s,g],radius:u,state:w}),e.keepouts.push({x:s-u-4,y:g-u-4,w:u*2+8,h:u*2+8}),h){let f=String(h).length>1,q=Math.min(l*(f?.22:.26),f?18:21),k=q*(f?1.35:.85),I=Math.min(1.8,l*.018),M=o+l*.21,v=d-l*.25;mc(c,M-k/2-I,v-q*.55-I,k+I*2,q*1.1+I*2,Math.min(4,l*.05)),c.fillStyle=n&&!a.category?p.primaryPressed:p.surface,c.fill(),He(c,e,h,M,v,q,y,800,!0)}}else{let s=h?l*(h>=10?.44:.5):l*.42,g=d+(!a.category&&r.parity&&h?-l*.1:0);h&&He(c,e,h,o,g,s,y,800,!0),r.parity&&He(c,e,r.parity==="odd"?"\u5947":"\u5076",o,h?d+l*.26:d,h?U(11,l*.2,13):s,y,700)}if(e.errors.has(r.id)){let s=o-l*.32,g=d-l*.31;c.beginPath(),c.arc(s,g,7,0,Math.PI*2),c.fillStyle=p.danger,c.fill(),He(c,e,"!",s,g,11,p.onPrimary,800)}}function hi(c,e){if(!c)return 0;let i=G.reducedMotion?1:U(0,(e-c.started)/Y.motionMs.door,1);return c.from+(c.to-c.from)*(1-(1-i)**3)}function u1(c,e,i,a=Date.now()){c.save();let t=(r,o)=>{var n;let d=Oe(e,...r);if(!d)return;let l=o==="open"||o==="latched";for(let[h,y]of d.segments){let s=L(h,y),g=x=>[h[0]+(y[0]-h[0])*x,h[1]+(y[1]-h[1])*x];c.lineCap="butt",c.lineWidth=U(5,e.pitch*.13,8),c.strokeStyle=o==="wall"?p.wallInk:l?p.doorOpen:p.doorClosed,c.beginPath();let u=(n=e.doorTransitions)==null?void 0:n.get(r.join("|")),w=o==="wall"?0:hi(u,a)*.5;if(w>0?(c.moveTo(...g(.06)),c.lineTo(...g(.5-w/2)),c.moveTo(...g(.5+w/2)),c.lineTo(...g(.94))):(c.moveTo(...g(.06)),c.lineTo(...g(.94))),c.stroke(),o==="wall"){let x=-(y[1]-h[1])/s,m=(y[0]-h[0])/s,b=(y[0]-h[0])/s,f=(y[1]-h[1])/s;c.strokeStyle=p.wallStripe,c.lineWidth=2;for(let q=7;q(l.feedbackSequence||0)){if(y.kind==="complete")l.bursts=[];else if(y.kind==="undo")l.bursts=l.bursts.filter(s=>s.cell!==y.cell);else if(y.kind==="checkpoint"&&y.ribbon!==!1&&!G.reducedMotion){let s=l.byId.get(y.cell);s&&l.bursts.push({cell:y.cell,point:s.center,started:y.time,seed:y.step})}l.feedbackSequence=y.sequence}l.bursts=l.bursts.slice(-W.maxRibbons)}l.bursts||(l.bursts=[]);let h=l.lastPath||[];if(!A.enhanced&&!o&&!G.reducedMotion&&i.length===h.length+1&&h.every((y,s)=>y===i[s])){let y=l.byId.get(i.at(-1));(y==null?void 0:y.cell.clue)>1&&y.cell.clue===i.length&&!xc(e,i).length&&l.bursts.push({cell:y.cell.id,point:y.center,started:r,seed:i.length})}l.lastPath=[...i],l.bursts=l.bursts.filter(y=>r-y.started[y,s+1])),l.errors=Br(xc(e,i)),l.keepouts=[],l.channels=[],l.views=l.cells.map(y=>({cell:y.cell.id,...ni(y.cell,l.steps.get(y.cell.id),l.errors.has(y.cell.id)),error:l.errors.has(y.cell.id),category:y.cell.category||null,cellUnit:l.pitch})),c.clearRect(0,0,a,t),c.save();for(let y=0;yw1(c,l.cells[y],l.views[y],l));di(c,l,i);for(let y=0;y0||l.feedbackEvents.some(y=>r-y.time<(y.kind==="checkpoint"||y.kind==="complete"?W.checkpointMs:W.moveMs))||[...l.doorTransitions.values()].some(y=>y.from!==y.to&&r-y.startede.includes(d.cell.id)).map(d=>({rings:d.rings,radius:d.radius,depth:c.depth,maskPad:U(3,c.pitch*.065,7)+1})),reducedMotion:G.reducedMotion};return li.set(c,{key:a,keepouts:c.keepouts,value:o}),o}function Sr(c,e,i){if(G.reducedMotion)return;let a=["#FF986B","#A093FF","#FFD45C","#B9DBB2","#FFF9E8"];c.save(),c.lineCap="round";for(let t of e.bursts){let r=Math.max(0,(i-t.started)/W.ribbonMs),o=1-(1-r)**2;for(let d=0;d<22;d++){let l=d/22*Math.PI*2,n=e.pitch*(.38+d%5*.12),h=t.point[0]+Math.cos(l)*n*o,y=t.point[1]+Math.sin(l)*n*o+e.pitch*.16*r*r;c.globalAlpha=Math.min(1,(1-r)*2.2),c.strokeStyle=a[(d+t.seed)%a.length],c.lineWidth=Math.max(2,e.pitch*.035),c.beginPath(),c.moveTo(h-2,y-3),c.quadraticCurveTo(h+Math.sin(d+r*8)*4,y,h+2,y+3),c.stroke()}}c.restore()}function Mr(c,e=!1){return e||c<=0||c>=W.checkpointMs?1:1+(W.checkpointMaxScale-1)*Math.sin(Math.PI*c/W.checkpointMs)}function Tr(c,e,i,a,t){let r=A.enhanced&&e.feedbackEvents.findLast(d=>d.cell===i.cell.id||d.kind==="undo"&&d.from===i.cell.id),o=G.reducedMotion||!r||r.kind==="undo"&&r.from&&r.from!==i.cell.id?1:r.kind==="checkpoint"||r.kind==="complete"?Mr(a-r.time):Ir(a-r.time);if(o===1){t();return}c.save(),c.translate(...i.center),c.scale(o,o),c.translate(-i.center[0],-i.center[1]),t(),c.restore()}function Ir(c){return c<0||c>=W.moveMs?1:1+(W.moveMaxScale-1)*Math.sin(Math.PI*c/W.moveMs)}function*gi(c,e,i,a){let t={...i1(e,i,a),level:e,steps:new Map,errors:new Set,channels:[],keepouts:[]};t.depth=e.geometry==="hex"?U(1.2,t.pitch*.028,2.2):U(3,t.pitch*Y.referenceMatch.cellDepthRatio,Y.referenceMatch.cellDepthMax),yield;for(let r of t.cells){let o=ni(r.cell,void 0,!1);w1(c,r,o,t),yi(c,t,r,o,[]),yield}}var wi={sourceSHA256:"0adf0c10a0677a922539fd5578808a8852d889fdc2afdcc8ce73848880d00f10",routes:{"r2-001":["t0","t1","t2"],"r2-002":["c3","c6","c2","c1","c0","c4","c5","c8","c7","c9"],"r2-003":["c1","c2","c5","c4","c7","c6","c3","c0"],"r2-004":["c3","c0","c1","c2","c4","c7","c6","c5"],"r2-005":["t0","t2","t3","t1"],"r2-006":["c6","c7","c8","c5","c4","c3","c0","c1","c2"],"r2-007":["c0","c3","c4","c1","c2","c5","c8","c7","c6","c9","c10"],"r2-008":["c10","c6","c3","c0","c1","c2","c5","c9","c8","c7","c4"],"r2-009":["t0","t1","t2","t5","t4","t3"],"r2-010":["c8","c7","c6","c3","c0","c1","c2","c5","c4"],"r2-011":["t0","t1","t2","t5","t4","t3"],"r2-012":["c5","c2","c1","c0","c3","c6","c7","c4"],"r2-013":["t0","t3","t4","t1","t2","t5"],"r2-014":["c11","c7","c6","c10","c14","c13","c12","c8","c9","c5","c4","c0","c1","c2","c3"],"r2-015":["c4","c7","c10","c9","c6","c3","c0","c1","c2","c5","c8"],"r2-016":["c3","c2","c1","c0","c4","c8","c12","c13","c9","c5","c6","c10","c11","c7"],"r2-017":["t0","t1","t2"],"r2-018":["c12","c8","c4","c0","c1","c5","c9","c10","c6","c2","c3","c7","c11"],"r2-019":["c14","c13","c12","c11","c8","c9","c10","c7","c3","c2","c1","c0","c4","c5","c6"],"r2-020":["c6","c7","c3","c2","c1","c0","c4","c5","c9","c8","c12","c13","c11","c10"],"r2-021":["c8","c2","c7","c11","c10","c6","c4","c1","c0","c3","c5","c9"],"r2-022":["c11","c4","c0","c1","c5","c6","c2","c3","c7","c10","c14","c13","c9","c8","c12"],"r2-023":["t0","t1","t2"],"r2-024":["c3","c1","c0","c2","c4","c7","c8","c9","c6","c5"],"r2-025":["c12","c8","c9","c5","c6","c10","c11","c7","c3","c2","c1","c0","c4"],"r2-026":["c7","c4","c0","c1","c2","c3","c6","c9","c8","c5"],"r2-027":["c10","c9","c11","c8","c4","c0","c1","c2","c3","c7","c6","c5"],"r2-028":["c10","c11","c7","c6","c3","c0","c1","c2","c5","c4","c8","c12","c9"],"r2-029":["t0","t1","t3","t2"],"r2-030":["c11","c12","c13","c9","c10","c6","c3","c2","c5","c8","c7","c4","c0","c1"],"r2-031":["c0","c3","c4","c1","c2","c8","c7","c6","c5","c9","c10","c11"],"r2-032":["c0","c3","c4","c1","c2","c6","c13","c12","c11","c10","c7","c8","c9","c5"],"r2-033":["c2","c5","c8","c11","c10","c7","c4","c1","c0","c3","c6","c9"],"r2-034":["c7","c11","c12","c8","c4","c0","c1","c2","c3","c6","c10","c13","c9","c5"],"r2-035":["t0","t3","t1","t2","t4","t5"],"r2-036":["c5","c8","c9","c6","c3","c2","c1","c0","c4","c7","c11","c10"],"r2-037":["c12","c11","c9","c10","c8","c4","c0","c1","c2","c3","c7","c6","c5"],"r2-038":["c14","c11","c12","c15","c13","c10","c6","c3","c2","c1","c4","c0","c7","c8","c9","c5"],"r2-039":["c0","c1","c2","c3","c7","c11","c10","c6","c5","c4","c8","c12","c13","c9"],"r2-040":["c9","c6","c3","c0","c1","c4","c7","c8","c5","c2"],"r2-041":["c14","c11","c10","c13","c12","c8","c9","c5","c4","c0","c1","c2","c3","c7","c6"],"r2-042":["c12","c11","c10","c9","c7","c5","c4","c0","c1","c2","c3","c6","c8"],"r2-043":["c11","c12","c8","c7","c3","c4","c5","c9","c10","c6","c2","c1","c0"],"r2-044":["c12","c8","c9","c10","c11","c7","c3","c2","c6","c5","c4","c0","c1"],"r2-045":["t0","t1","t2","t5","t4","t3","t6","t7"],"r2-046":["c11","c10","c6","c3","c0","c4","c7","c8","c9","c5","c2","c1"],"r2-047":["c14","c15","c12","c9","c5","c1","c0","c4","c8","c7","c11","c13","c10","c6","c2","c3"],"r2-048":["c9","c8","c5","c6","c2","c3","c7","c10","c13","c12","c14","c11","c4","c0","c1"],"r2-049":["c11","c12","c13","c10","c9","c6","c3","c2","c1","c0","c4","c7","c8","c5"],"r2-050":["c4","c3","c6","c7","c8","c5","c2","c1","c0"],"r2-051":["c9","c8","c11","c12","c13","c14","c10","c7","c3","c2","c6","c5","c4","c0","c1"],"r2-052":["c2","c5","c4","c7","c8","c11","c10","c9","c6","c3","c0","c1"],"r2-053":["c14","c13","c12","c8","c9","c6","c5","c0","c3","c10","c11","c7","c4","c2","c1"],"r2-054":["c14","c11","c7","c8","c12","c9","c13","c10","c6","c2","c1","c5","c4","c0","c3"],"r2-055":["c0","c1","c5","c8","c4","c11","c12","c9","c13","c10","c7","c3","c2","c6"],"r2-056":["c8","c9","c5","c2","c1","c4","c7","c11","c10","c6","c3","c0"],"r2-057":["c13","c11","c8","c4","c0","c1","c2","c6","c5","c9","c12","c10","c7","c3"],"r2-058":["c16","c13","c15","c14","c11","c12","c9","c5","c6","c10","c7","c3","c2","c1","c0","c4","c8"],"r2-059":["c9","c6","c3","c0","c1","c2","c5","c8","c7","c4"],"r2-060":["c4","c7","c6","c3","c0","c1","c2","c5","c8","c10","c9"],"r2-061":["c2","c1","c4","c5","c9","c8","c7","c11","c10","c6","c0","c3"],"r2-062":["c3","c4","c0","c1","c2","c6","c10","c14","c13","c16","c15","c12","c11","c7","c8","c9","c5"],"r2-063":["c0","c5","c9","c14","c19","c20","c15","c10","c6","c1","c2","c11","c16","c21","c22","c17","c12","c7","c3","c4","c8","c13","c18","c23"],"r2-064":["c13","c12","c11","c7","c8","c9","c10","c3","c2","c1","c0","c4","c5","c6"],"r2-065":["c4","c6","c9","c8","c3","c0","c1","c2","c5","c7"],"r2-066":["c5","c0","c1","c2","c3","c4","c8","c9","c13","c14","c19","c18","c17","c12","c7","c6","c11","c16","c15","c10"],"r2-067":["c17","c18","c23","c22","c21","c16","c12","c13","c14","c9","c4","c3","c8","c7","c2","c1","c0","c5","c6","c11","c10","c15","c19","c20"],"r2-068":["c4","c3","c2","c1","c0","c5","c6","c7","c12","c11","c10","c15","c16","c17","c18","c19","c14","c9","c8","c13"],"r2-069":["c2","c1","c0","c4","c5","c9","c8","c11","c12","c10","c6","c7","c3"],"r2-070":["c10","c6","c3","c0","c1","c7","c11","c12","c13","c9","c8","c4","c2","c5"],"r2-071":["c2","c3","c4","c5","c8","c13","c12","c11","c17","c16","c7","c6","c1","c0","c9","c10","c15","c14","c20","c21","c22","c23","c24","c25","c19","c18"],"r2-072":["c3","c2","c6","c5","c1","c0","c4","c8","c9","c11","c10","c7"],"r2-073":["c11","c7","c3","c0","c1","c4","c5","c9","c8","c12","c13","c14","c10","c6","c2"],"r2-074":["c1","c0","c4","c7","c11","c8","c5","c9","c12","c13","c10","c6","c3","c2"],"r2-075":["c0","c5","c4","c9","c10","c15","c14","c19","c20","c21","c22","c23","c18","c17","c16","c11","c12","c13","c8","c3","c2","c7","c6","c1"],"r2-076":["c12","c13","c18","c19","c14","c8","c3","c2","c7","c6","c1","c0","c5","c11","c16","c17","c22","c23","c24","c25","c21","c20","c15","c9","c10","c4"],"r2-077":["c14","c15","c10","c9","c8","c7","c13","c17","c18","c19","c20","c25","c24","c23","c22","c21","c16","c12","c11","c6","c0","c1","c2","c3","c4","c5"],"r2-078":["c9","c5","c4","c0","c1","c2","c3","c7","c6","c10","c11","c14","c13","c16","c15","c12","c8"],"r2-079":["c5","c2","c3","c6","c9","c13","c12","c8","c11","c15","c14","c10","c7","c4","c1","c0"],"r2-080":["c16","c12","c8","c4","c0","c1","c5","c6","c2","c3","c7","c11","c15","c14","c13","c9","c10"],"r2-081":["c0","c1","c5","c9","c10","c6","c2","c3","c4","c8","c7","c11","c12","c17","c21","c20","c16","c15","c14","c19","c18","c13"],"r2-082":["c3","c2","c1","c0","c5","c6","c7","c13","c14","c8","c9","c15","c21","c20","c25","c24","c19","c18","c12","c11","c17","c23","c22","c16","c10","c4"],"r2-083":["c0","c3","c4","c1","c2","c5","c6","c10","c14","c19","c18","c17","c16","c15","c11","c7","c8","c12","c13","c9"],"r2-084":["c0","c5","c4","c8","c16","c17","c12","c13","c18","c19","c15","c14","c10","c9","c6","c1","c2","c3","c7","c11"],"r2-085":["c11","c6","c5","c10","c9","c4","c0","c1","c2","c3","c8","c7","c12","c13","c18","c23","c22","c21","c20","c19","c14","c15","c16","c17"],"r2-086":["c1","c2","c3","c4","c9","c8","c7","c6","c11","c12","c16","c21","c20","c15","c14","c19","c18","c17","c13","c10","c5","c0"],"r2-087":["c20","c16","c17","c12","c11","c5","c0","c1","c6","c7","c2","c3","c4","c9","c8","c13","c18","c21","c22","c23","c19","c14","c15","c10"],"r2-088":["c6","c0","c1","c2","c7","c12","c18","c13","c19","c14","c20","c21","c15","c16","c22","c23","c17","c11","c5","c4","c10","c9","c8","c3"],"r2-089":["c1","c0","c4","c9","c8","c14","c20","c21","c15","c16","c10","c5","c6","c11","c17","c22","c23","c18","c19","c13","c12","c7","c3","c2"],"r2-090":["c14","c19","c20","c21","c16","c11","c7","c3","c2","c6","c5","c1","c0","c4","c8","c12","c17","c18","c13","c9","c10","c15"],"r2-091":["c11","c12","c6","c7","c8","c14","c13","c19","c18","c17","c23","c24","c25","c20","c21","c26","c27","c22","c16","c15","c9","c10","c5","c4","c3","c2","c1","c0"],"r2-092":["c0","c5","c1","c2","c3","c4","c8","c9","c10","c15","c14","c13","c12","c7","c6","c11","c16","c21","c22","c17","c18","c23","c19","c24","c20","c25"],"r2-093":["c11","c7","c8","c3","c9","c14","c13","c12","c17","c18","c19","c20","c25","c24","c23","c22","c21","c16","c15","c10","c6","c2","c1","c5","c4","c0"],"r2-094":["c21","c20","c15","c10","c5","c0","c1","c2","c7","c6","c11","c16","c17","c22","c23","c18","c19","c14","c9","c4","c3","c8","c13","c12"],"r2-095":["c12","c11","c10","c14","c19","c20","c15","c16","c21","c22","c23","c18","c17","c13","c9","c8","c7","c6","c5","c0","c1","c2","c3","c4"],"r2-096":["c11","c7","c3","c2","c1","c0","c5","c4","c8","c12","c18","c19","c13","c9","c10","c14","c20","c21","c22","c23","c17","c16","c15","c6"],"r2-097":["c14","c19","c24","c23","c18","c17","c11","c12","c13","c8","c9","c15","c20","c25","c21","c26","c27","c22","c16","c10","c5","c4","c3","c7","c2","c6","c1","c0"],"r2-098":["c18","c19","c20","c14","c13","c12","c6","c0","c1","c7","c2","c3","c8","c9","c4","c5","c11","c10","c15","c21","c22","c16","c17","c23"],"r2-099":["c0","c1","c2","c3","c4","c9","c14","c19","c23","c22","c21","c20","c15","c10","c5","c6","c11","c16","c17","c18","c13","c8","c7","c12"],"r2-100":["c16","c17","c18","c19","c14","c13","c12","c11","c6","c7","c8","c9","c4","c3","c2","c1","c0","c5","c10","c15"],"r2-101":["c7","c6","c12","c17","c16","c15","c10","c11","c5","c1","c0","c4","c3","c9","c20","c21","c22","c23","c24","c25","c19","c18","c13","c14","c8","c2"],"r2-102":["c11","c5","c0","c1","c6","c12","c17","c23","c24","c18","c13","c7","c2","c8","c3","c4","c9","c10","c16","c22","c27","c26","c21","c15","c14","c19","c25","c20"],"r2-103":["c3","c4","c5","c10","c9","c14","c13","c8","c12","c17","c18","c19","c20","c15","c21","c27","c26","c25","c24","c23","c22","c16","c11","c6","c7","c2","c1","c0"],"r2-104":["c25","c24","c23","c22","c16","c17","c11","c12","c18","c19","c20","c26","c27","c21","c15","c14","c10","c4","c3","c9","c13","c8","c2","c7","c6","c1","c0","c5"],"r2-105":["c11","c7","c4","c0","c1","c8","c12","c13","c10","c9","c5","c6","c3","c2"],"r2-106":["c7","c3","c2","c1","c0","c6","c15","c20","c21","c22","c17","c16","c10","c11","c12","c23","c24","c25","c19","c18","c13","c8","c4","c5","c9","c14"],"r2-107":["c9","c3","c4","c5","c11","c10","c15","c16","c17","c23","c27","c22","c21","c26","c20","c25","c24","c18","c19","c14","c13","c12","c6","c0","c1","c7","c2","c8"],"r2-108":["c25","c24","c23","c22","c17","c18","c19","c20","c26","c27","c21","c16","c15","c9","c8","c14","c13","c12","c11","c6","c0","c1","c7","c2","c3","c4","c5","c10"],"r2-109":["c5","c8","c11","c10","c7","c4","c0","c1","c2","c3","c6","c9","c13","c12"],"r2-110":["c24","c23","c17","c18","c13","c12","c6","c0","c1","c2","c3","c4","c5","c11","c10","c16","c21","c22","c27","c26","c25","c20","c19","c14","c15","c9","c8","c7"],"r2-111":["c5","c0","c1","c2","c6","c11","c17","c23","c24","c18","c12","c7","c3","c4","c8","c13","c19","c14","c9","c10","c15","c16","c22","c27","c26","c25","c20","c21"],"r2-112":["c25","c24","c23","c22","c18","c17","c12","c13","c14","c19","c20","c15","c10","c4","c3","c9","c8","c2","c7","c6","c1","c0","c5","c11","c16","c21"],"r2-113":["c5","c0","c1","c6","c12","c11","c10","c16","c21","c17","c18","c19","c13","c7","c2","c3","c4","c9","c8","c14","c15","c20","c25","c24","c23","c22"],"r2-114":["c3","c2","c1","c0","c6","c12","c7","c8","c13","c18","c19","c24","c25","c26","c21","c20","c14","c9","c15","c16","c10","c4","c5","c11","c17","c23","c22","c27","c28","c29"],"r2-115":["c0","c5","c10","c14","c19","c20","c15","c11","c6","c1","c2","c7","c12","c8","c3","c4","c9","c13","c18","c23","c22","c21","c16","c17"],"r2-116":["c13","c7","c1","c2","c3","c9","c8","c14","c15","c21","c16","c10","c4","c5","c11","c17","c22","c27","c26","c25","c24","c20","c19","c23","c18","c12","c6","c0"],"r2-117":["c4","c5","c10","c9","c3","c2","c1","c0","c6","c11","c7","c8","c12","c17","c23","c18","c24","c25","c20","c19","c13","c14","c15","c16","c21","c22","c27","c26"],"r2-118":["c0","c1","c6","c12","c18","c13","c7","c2","c3","c8","c9","c4","c5","c10","c11","c17","c23","c22","c16","c21","c20","c15","c14","c19"],"r2-119":["c9","c6","c5","c4","c8","c11","c12","c13","c10","c7","c3","c2","c1","c0"],"r2-120":["c20","c21","c27","c26","c25","c19","c24","c23","c18","c13","c12","c17","c22","c16","c10","c11","c7","c6","c5","c0","c1","c2","c3","c8","c4","c9","c14","c15"],"r2-121":["c12","c18","c19","c13","c7","c6","c0","c1","c2","c8","c3","c4","c5","c11","c17","c23","c22","c16","c21","c20","c14","c9","c15","c10"],"r2-122":["c0","c4","c5","c6","c1","c2","c3","c7","c8","c14","c13","c12","c11","c10","c9","c15","c21","c22","c16","c17","c18","c23","c24","c25","c20","c19"],"r2-123":["c9","c15","c14","c8","c7","c6","c0","c1","c2","c3","c4","c5","c11","c17","c23","c29","c28","c27","c26","c25","c24","c18","c12","c13","c19","c20","c21","c22","c16","c10"],"r2-124":["c9","c5","c0","c1","c6","c2","c3","c4","c8","c7","c12","c13","c18","c23","c22","c17","c16","c11","c10","c15","c14","c19","c20","c21"],"r2-125":["c11","c6","c7","c8","c12","c18","c17","c16","c21","c22","c23","c29","c28","c27","c26","c25","c24","c19","c13","c14","c20","c15","c10","c9","c5","c4","c0","c1","c2","c3"],"r2-126":["c6","c0","c1","c2","c3","c4","c5","c11","c10","c16","c17","c23","c29","c28","c27","c22","c21","c26","c25","c24","c18","c12","c7","c8","c13","c19","c20","c14","c15","c9"],"r2-127":["c6","c0","c1","c2","c3","c4","c5","c11","c17","c23","c29","c28","c27","c22","c16","c10","c9","c15","c21","c20","c26","c25","c24","c19","c18","c12","c7","c8","c14","c13"],"r2-128":["c23","c22","c17","c11","c5","c4","c10","c16","c21","c15","c20","c14","c9","c3","c2","c8","c13","c19","c18","c12","c7","c1","c0","c6"],"r2-129":["c3","c4","c5","c11","c17","c22","c27","c26","c25","c20","c21","c16","c10","c9","c15","c14","c8","c2","c1","c7","c13","c18","c19","c24","c23","c12","c6","c0"],"r2-130":["c7","c2","c1","c6","c11","c12","c13","c8","c3","c4","c9","c14","c15","c21","c27","c26","c20","c19","c25","c24","c18","c17","c23","c22","c16","c10","c5","c0"],"r2-131":["c6","c11","c12","c18","c24","c25","c19","c20","c14","c13","c8","c7","c3","c2","c1","c0","c4","c9","c15","c21","c22","c23","c17","c16","c10","c5"],"r2-132":["c2","c1","c0","c6","c7","c8","c3","c9","c4","c5","c11","c10","c16","c21","c22","c27","c26","c25","c20","c24","c19","c15","c14","c13","c12","c17","c23","c18"],"r2-133":["c20","c25","c26","c21","c27","c28","c29","c23","c22","c17","c16","c11","c5","c10","c4","c3","c9","c15","c14","c19","c24","c18","c13","c8","c2","c1","c7","c12","c6","c0"],"r2-134":["c15","c9","c10","c4","c3","c2","c8","c7","c13","c14","c19","c20","c21","c27","c26","c25","c24","c23","c22","c16","c11","c5","c0","c1","c6","c12","c17","c18"],"r2-135":["c13","c18","c19","c24","c25","c20","c14","c8","c9","c3","c2","c1","c7","c6","c12","c17","c23","c22","c21","c15","c16","c11","c10","c4","c5","c0"],"r2-136":["c15","c21","c25","c24","c20","c14","c8","c9","c4","c3","c2","c7","c6","c12","c13","c19","c23","c22","c18","c17","c16","c10","c11","c1","c5","c0"],"r2-137":["c3","c4","c5","c11","c17","c22","c27","c31","c30","c26","c29","c25","c20","c14","c15","c21","c16","c10","c9","c8","c2","c1","c0","c6","c7","c13","c12","c18","c19","c24","c23","c28"],"r2-138":["c0","c1","c2","c3","c9","c8","c7","c6","c12","c16","c21","c22","c13","c17","c23","c24","c18","c19","c14","c10","c4","c5","c11","c15","c20","c25"],"r2-139":["c21","c17","c18","c19","c22","c23","c14","c13","c12","c11","c6","c0","c1","c7","c8","c2","c3","c9","c4","c5","c10","c16","c15","c20","c24","c25"],"r2-140":["c16","c17","c23","c29","c28","c22","c21","c15","c14","c20","c19","c13","c7","c8","c9","c10","c11","c5","c4","c3","c2","c1","c0","c6","c12","c18","c24","c25","c26","c27"],"r2-141":["c10","c16","c21","c20","c15","c14","c9","c4","c8","c3","c2","c1","c0","c5","c6","c7","c13","c19","c18","c12","c11","c17","c22","c23","c28","c24","c25","c29","c26","c27","c31","c30"],"r2-142":["c0","c5","c11","c17","c23","c24","c25","c26","c21","c20","c15","c14","c19","c18","c12","c6","c1","c7","c13","c8","c2","c3","c4","c9","c10","c16","c22","c27"],"r2-143":["c2","c1","c0","c6","c7","c8","c14","c13","c12","c18","c24","c25","c19","c20","c21","c15","c9","c3","c4","c5","c11","c10","c16","c17","c23","c22","c27","c26"],"r2-144":["c23","c27","c26","c22","c17","c11","c16","c21","c20","c25","c24","c19","c18","c12","c6","c0","c1","c7","c2","c8","c13","c14","c15","c10","c5","c4","c9","c3"],"r2-145":["c0","c1","c6","c5","c4","c8","c9","c10","c15","c14","c19","c18","c13","c12","c17","c16","c11","c7","c3","c2"],"r2-146":["c13","c18","c23","c17","c22","c27","c26","c25","c24","c19","c20","c21","c16","c15","c14","c10","c11","c6","c5","c0","c1","c2","c3","c7","c12","c8","c9","c4"],"r2-147":["c1","c0","c5","c11","c17","c18","c23","c24","c25","c21","c26","c27","c22","c16","c10","c4","c9","c15","c20","c14","c19","c13","c12","c6","c7","c8","c2","c3"],"r2-148":["c0","c1","c6","c7","c2","c3","c4","c8","c9","c14","c18","c23","c29","c28","c27","c21","c22","c17","c13","c12","c16","c26","c25","c24","c19","c20","c15","c11","c10","c5"],"r2-149":["c3","c9","c8","c2","c1","c7","c13","c14","c15","c21","c26","c20","c19","c25","c24","c18","c12","c6","c0","c5","c4","c10","c11","c17","c16","c22","c23","c27","c28","c29","c30","c31"],"r2-150":["c16","c17","c11","c7","c3","c4","c8","c12","c18","c23","c29","c28","c22","c21","c27","c26","c25","c24","c19","c13","c9","c0","c1","c2","c6","c5","c10","c14","c15","c20"],"r2-151":["c3","c9","c15","c16","c10","c4","c5","c11","c17","c23","c29","c28","c22","c21","c27","c26","c20","c14","c8","c2","c1","c0","c6","c12","c18","c24","c25","c19","c13","c7"],"r2-152":["c3","c2","c1","c0","c6","c7","c8","c9","c15","c20","c19","c14","c13","c12","c17","c18","c22","c27","c28","c29","c23","c24","c30","c31","c26","c25","c21","c16","c10","c11","c5","c4"],"r2-153":["c2","c1","c0","c5","c11","c6","c12","c17","c23","c18","c13","c7","c8","c3","c4","c10","c9","c14","c19","c24","c28","c29","c30","c31","c27","c22","c16","c15","c21","c26","c20","c25"],"r2-154":["c25","c26","c31","c30","c29","c24","c23","c18","c19","c20","c21","c16","c15","c14","c13","c12","c6","c7","c8","c9","c10","c4","c3","c2","c1","c0","c5","c11","c17","c22","c28","c27"],"r2-155":["c0","c1","c5","c6","c11","c16","c22","c23","c17","c18","c24","c28","c29","c25","c19","c14","c9","c8","c13","c12","c7","c2","c3","c4","c10","c15","c20","c21","c27","c26","c30","c31"],"r2-156":["c0","c1","c6","c7","c12","c18","c24","c19","c13","c8","c2","c3","c4","c5","c11","c10","c9","c15","c14","c20","c25","c26","c27","c23","c17","c16","c21","c22"],"r2-157":["c17","c16","c15","c14","c13","c7","c8","c9","c10","c11","c5","c4","c3","c2","c1","c0","c6","c12","c18","c23","c19","c20","c24","c25","c26","c21","c22","c27"],"r2-158":["c17","c18","c24","c23","c22","c16","c12","c6","c0","c1","c7","c13","c8","c2","c3","c4","c5","c11","c10","c9","c14","c15","c21","c27","c26","c25","c19","c20"],"r2-159":["c31","c30","c25","c24","c29","c28","c23","c17","c18","c19","c20","c14","c13","c12","c6","c0","c1","c7","c8","c2","c3","c4","c5","c11","c16","c22","c27","c26","c21","c15","c10","c9"],"r2-160":["c21","c20","c26","c27","c28","c29","c23","c22","c17","c18","c14","c9","c10","c15","c24","c30","c31","c25","c19","c16","c11","c5","c4","c3","c2","c1","c0","c6","c12","c13","c7","c8"],"r2-161":["c13","c7","c6","c0","c1","c2","c8","c14","c15","c9","c3","c4","c5","c11","c10","c16","c17","c23","c29","c28","c22","c21","c27","c26","c20","c19","c25","c24","c18","c12"],"r2-162":["c1","c0","c6","c7","c12","c18","c24","c25","c19","c13","c14","c8","c2","c3","c4","c5","c11","c10","c9","c15","c20","c26","c21","c16","c17","c22","c27","c28","c23","c29"],"r2-163":["c21","c28","c35","c34","c33","c32","c31","c30","c23","c16","c9","c3","c0","c1","c2","c5","c4","c10","c17","c24","c25","c26","c27","c20","c19","c18","c11","c12","c6","c7","c13","c14","c8","c15","c22","c29"],"r2-164":["c2","c1","c0","c5","c11","c17","c27","c28","c29","c24","c25","c30","c31","c26","c22","c21","c20","c19","c13","c14","c15","c16","c10","c9","c4","c3","c8","c7","c6","c12","c18","c23"],"r2-165":["c3","c9","c14","c20","c25","c26","c21","c15","c16","c17","c23","c22","c27","c28","c29","c24","c19","c18","c13","c12","c11","c10","c4","c0","c1","c5","c6","c7","c8","c2"],"r2-166":["c18","c24","c25","c26","c27","c21","c15","c10","c5","c4","c9","c14","c20","c19","c13","c8","c3","c2","c1","c0","c6","c7","c12","c17","c23","c22","c16","c11"],"r2-167":["c17","c12","c6","c0","c1","c7","c13","c18","c23","c24","c19","c14","c15","c9","c8","c2","c3","c4","c5","c11","c10","c16","c21","c20","c25","c26","c27","c22"],"r2-168":["c0","c1","c2","c3","c4","c10","c15","c21","c27","c26","c25","c24","c23","c22","c16","c11","c5","c6","c12","c17","c18","c7","c8","c9","c14","c13","c19","c20"],"r2-169":["c5","c0","c1","c2","c3","c4","c8","c9","c14","c15","c20","c19","c25","c26","c31","c30","c29","c24","c23","c18","c13","c12","c7","c6","c11","c10","c16","c17","c21","c22","c27","c28"],"r2-170":["c0","c1","c2","c8","c7","c6","c12","c13","c14","c15","c16","c10","c9","c3","c4","c5","c11","c17","c23","c25","c24","c22","c21","c20","c19","c18"],"r2-171":["c25","c20","c14","c15","c10","c6","c0","c1","c2","c3","c8","c7","c11","c12","c17","c16","c21","c26","c27","c22","c23","c28","c29","c24","c19","c18","c13","c9","c4","c5"],"r2-172":["c0","c1","c6","c11","c10","c5","c4","c9","c15","c16","c17","c18","c12","c13","c7","c2","c3","c8","c14","c20","c19","c25","c26","c31","c30","c29","c24","c23","c22","c21","c27","c28"],"r2-173":["c15","c5","c4","c3","c8","c9","c14","c13","c19","c20","c21","c27","c26","c25","c24","c18","c12","c11","c17","c23","c22","c16","c10","c0","c1","c6","c7","c2"],"r2-174":["c5","c4","c10","c15","c14","c9","c3","c2","c1","c0","c6","c7","c8","c13","c18","c19","c20","c21","c27","c26","c25","c24","c23","c22","c16","c11","c12","c17"],"r2-175":["c7","c13","c12","c6","c0","c1","c2","c8","c14","c15","c9","c3","c4","c5","c11","c17","c22","c27","c26","c25","c24","c23","c18","c19","c20","c21","c16","c10"],"r2-176":["c21","c27","c26","c25","c24","c19","c20","c9","c14","c8","c7","c13","c18","c23","c22","c17","c12","c6","c0","c1","c2","c3","c4","c5","c11","c10","c15","c16"],"r2-177":["c15","c14","c13","c19","c18","c17","c11","c12","c6","c5","c0","c1","c2","c7","c8","c3","c4","c9","c10","c16","c27","c31","c30","c26","c21","c20","c25","c29","c24","c23","c22","c28"],"r2-178":["c6","c0","c1","c7","c8","c2","c3","c4","c5","c11","c10","c16","c17","c21","c27","c26","c20","c19","c25","c24","c23","c22","c18","c12","c13","c14","c15","c9"],"r2-179":["c6","c12","c11","c10","c3","c2","c5","c9","c15","c16","c17","c18","c24","c23","c29","c28","c22","c21","c27","c26","c25","c19","c20","c14","c13","c7","c8","c4","c1","c0"],"r2-180":["c23","c17","c11","c5","c0","c1","c2","c6","c12","c18","c19","c20","c21","c24","c25","c22","c16","c15","c14","c13","c7","c8","c9","c3","c4","c10"],"r2-181":["c5","c4","c3","c2","c8","c7","c1","c0","c6","c12","c13","c19","c18","c24","c29","c30","c31","c32","c33","c26","c27","c34","c35","c28","c23","c17","c11","c10","c9","c15","c16","c22","c21","c20","c14","c25"],"r2-182":["c16","c17","c23","c22","c21","c15","c9","c10","c11","c5","c4","c3","c2","c1","c0","c6","c12","c18","c24","c25","c19","c13","c7","c8","c14","c20","c26","c27","c28","c29"],"r2-183":["c20","c26","c27","c28","c29","c23","c22","c17","c16","c11","c5","c4","c10","c9","c3","c2","c8","c13","c7","c1","c0","c6","c12","c18","c24","c25","c19","c14","c15","c21"],"r2-184":["c7","c3","c4","c8","c9","c10","c14","c13","c19","c18","c17","c12","c11","c16","c23","c24","c25","c26","c27","c20","c21","c28","c35","c34","c33","c32","c31","c30","c29","c22","c15","c5","c0","c1","c2","c6"],"r2-185":["c20","c21","c22","c23","c17","c11","c5","c4","c10","c16","c15","c9","c3","c8","c2","c1","c0","c6","c7","c12","c18","c13","c19","c14"],"r2-186":["c20","c25","c24","c18","c19","c14","c13","c12","c6","c0","c1","c7","c2","c8","c3","c4","c9","c10","c5","c11","c17","c16","c15","c21","c26","c27","c28","c22","c23","c29"],"r2-187":["c1","c0","c6","c13","c14","c7","c8","c15","c16","c9","c2","c3","c4","c5","c12","c11","c10","c17","c18","c19","c23","c28","c35","c34","c33","c32","c31","c30","c29","c20","c21","c24","c25","c26","c27","c22"],"r2-188":["c15","c10","c11","c16","c21","c27","c26","c25","c24","c23","c22","c17","c18","c19","c20","c14","c9","c8","c13","c12","c7","c6","c0","c1","c2","c3","c4","c5"],"r2-189":["c8","c14","c20","c24","c29","c28","c27","c23","c18","c19","c13","c7","c3","c2","c6","c12","c11","c5","c1","c0","c4","c9","c10","c16","c17","c22","c26","c25","c21","c15"],"r2-190":["c19","c20","c21","c22","c23","c17","c16","c15","c14","c9","c8","c13","c18","c12","c6","c0","c1","c7","c2","c3","c4","c10","c5","c11"],"r2-191":["c0","c7","c14","c15","c21","c22","c16","c17","c23","c24","c18","c19","c12","c11","c10","c9","c8","c1","c2","c3","c4","c5","c6","c13","c20","c26","c25","c32","c31","c35","c34","c30","c29","c28","c27","c33"],"r2-192":["c14","c20","c25","c32","c33","c26","c27","c34","c35","c28","c21","c16","c11","c4","c3","c10","c15","c9","c8","c2","c1","c6","c7","c13","c19","c18","c23","c24","c31","c30","c29","c22","c17","c12","c5","c0"],"r2-193":["c0","c6","c7","c1","c2","c3","c4","c5","c10","c9","c8","c13","c14","c15","c20","c25","c29","c28","c24","c19","c27","c26","c23","c22","c21","c16","c17","c18","c12","c11"],"r2-194":["c8","c13","c12","c18","c24","c25","c19","c20","c14","c9","c15","c10","c16","c21","c26","c27","c22","c28","c29","c23","c17","c11","c5","c4","c3","c2","c7","c1","c6","c0"],"r2-195":["c0","c6","c11","c16","c17","c12","c7","c1","c2","c13","c18","c22","c21","c26","c27","c28","c23","c19","c14","c8","c3","c4","c5","c10","c9","c15","c20","c24","c25","c29"],"r2-196":["c6","c12","c18","c24","c25","c19","c13","c7","c8","c14","c20","c26","c27","c28","c29","c23","c17","c11","c5","c4","c10","c16","c22","c21","c15","c9","c3","c2","c1","c0"],"r2-197":["c1","c0","c6","c13","c19","c24","c29","c30","c31","c25","c20","c15","c14","c7","c8","c2","c3","c9","c16","c21","c27","c26","c32","c33","c34","c35","c28","c23","c22","c18","c17","c10","c11","c12","c5","c4"],"r2-198":["c13","c19","c25","c24","c23","c22","c17","c18","c12","c11","c6","c0","c1","c7","c2","c3","c8","c14","c15","c20","c26","c27","c21","c16","c10","c9","c4","c5"],"r2-199":["c6","c0","c1","c2","c7","c12","c18","c13","c19","c20","c14","c8","c3","c4","c5","c11","c10","c9","c15","c21","c16","c22","c23","c17"],"r2-200":["c8","c7","c12","c13","c18","c19","c14","c9","c4","c3","c2","c1","c0","c5","c6","c11","c10","c15","c20","c21","c16","c17","c22","c23"]}};var f1="variant:campaign-200-r2:v1:resume";function _e(c){try{let e=JSON.parse(c.getItem(f1)||"null");return(e==null?void 0:e.version)===1&&typeof e.levelId=="string"?e:null}catch{return null}}function Ke(c,e,i,a){let t=new Set(e),r=c.findIndex(l=>l.id===(i==null?void 0:i.levelId)),o=c.findIndex(l=>l.id===a);if(r>=0&&!t.has(c[r].id))return{index:r,path:Array.isArray(i.path)?i.path:[]};let d=r>=0?r:o;if(d>=0&&!t.has(c[d].id))return{index:d,path:[]};for(let l=1;l<=c.length;l++){let n=(Math.max(-1,d)+l)%c.length;if(!t.has(c[n].id))return{index:n,path:[]}}return{index:Math.max(0,d),path:[]}}function m1(c,e,i){if(!Array.isArray(e)||e.length>c.cells.length)return[];let a=[];for(let t of e){if(typeof t!="string"||!i(c,a,t))return[];a.push(t)}return a}function xi(c,e,i,a,t,r){let o=_e(c),d=new Set(i);if(d.has(a.id)&&!r&&o&&!d.has(o.levelId)&&e.some(h=>h.id===o.levelId))return;let l=r||d.has(a.id)?Ke(e,i,null,a.id):{index:e.indexOf(a),path:[...t]},n=JSON.stringify({version:1,levelId:e[l.index].id,path:l.path});try{c.getItem(f1)!==n&&c.setItem(f1,n)}catch{}}function ui(c,e,i){let a=new Map(c.cells.map(o=>[o.id,o])),t=e.flatMap((o,d)=>{let l=a.get(o);return d===0||d===e.length-1||l.clue!==void 0||l.direction||l.parity?[d]:[]}),r=0;for(;rc.end)return c=null,null;let o=ui(i,a,t);return o&&o.starti[g]);if(d.some(g=>!g))return;let l=new Set(r),n=e.route.slice(1).map((g,u)=>{let w=e.route[u];return r.some((x,m)=>m>0&&(r[m-1]===w&&x===g||r[m-1]===g&&x===w))}),h=Math.max(4,Math.min(9,a*.13)),y=t%Math.max(1200,(d.length-1)*240)/Math.max(1200,(d.length-1)*240)*(d.length-1);c.save(),c.lineCap="round",c.lineJoin="round";let s=(g,u,w)=>{n[g]||(c.beginPath(),c.moveTo(...d[g]),c.lineTo(...d[g+1]),c.strokeStyle=u,c.lineWidth=w,c.stroke())};for(let g=0;g=0;g--){let u=y-g*.045;if(u<0)continue;let w=Math.min(Math.floor(u),d.length-2),x=u-w;if(n[w])continue;let m=d[w],b=d[w+1],f=m[0]+(b[0]-m[0])*x,q=m[1]+(b[1]-m[1])*x;c.beginPath(),c.arc(f,q,h*(.45+(10-g)*.035),0,Math.PI*2),c.fillStyle=`rgba(255,255,255,${.12+(10-g)*.075})`,c.fill(),g===0&&(c.strokeStyle="rgba(35,36,58,.9)",c.lineWidth=2,c.stroke())}for(let g of[0,d.length-1])l.has(e.route[g])||(c.beginPath(),c.arc(...d[g],Math.max(8,a*.23),0,Math.PI*2),c.strokeStyle="rgba(35,36,58,.72)",c.lineWidth=7,c.stroke(),c.strokeStyle="rgba(255,255,255,.92)",c.lineWidth=3,c.stroke());c.globalCompositeOperation="destination-out",c.fillStyle="#000000";for(let g of e.visitedPolygons||[]){c.beginPath(),c.moveTo(...g[0]);for(let u of g.slice(1))c.lineTo(...u);c.closePath(),c.fill()}c.restore()}var pi=new WeakMap;function fi(c,e,i){let a=JSON.stringify([e,i]),t=pi.get(c.guides)||new Map;if(t.has(a))return t.get(a);let r=(s,g)=>i.some((u,w)=>w>0&&(i[w-1]===s&&u===g||i[w-1]===g&&u===s)),o=c.guides.filter(s=>!r(s.a,s.b)),d=Cr(o,e*.16),l=Math.max(4,Math.min(8,e*.12)),n=0,h=d.flatMap(s=>s.slice(1).map((g,u)=>({a:s[u],b:g,length:L(s[u],g)}))).filter(s=>s.length>.01).map(s=>({...s,start:n,end:n+=s.length})),y={guides:o,runs:d,width:l,segments:h,total:n};return t.set(a,y),t.size>4&&t.delete(t.keys().next().value),pi.set(c.guides,t),y}function Rr(c,e){let{segments:i}=c;if(!i.length)return null;let a=0,t=i.length-1;for(;a>1;i[d].end{c.strokeStyle=m,c.lineWidth=b;for(let f of l)if(f.length){c.beginPath(),c.moveTo(...f[0]);for(let q of f.slice(1))c.lineTo(...q);c.stroke()}};if(c.shadowColor="rgba(148,99,55,.18)",c.shadowBlur=i*.045,c.shadowOffsetY=1.2,y(p.hintRibbonLight,n+5),c.shadowBlur=0,c.shadowOffsetY=0,y(p.hintRibbon,n),c.globalAlpha=.28,y(p.hintRibbonLight,n*.48),c.globalAlpha=1,c.setLineDash([]),!e.reducedMotion){let m=r?fi(e,i,[]):o,b=0,f=(g=l[0])==null?void 0:g[0];if(f&&r){let M=1/0;for(let v of m.segments){let B=L(v.a,f);B=0;v--){let B=M-v*Math.max(.9,n*.3);if(B<0)continue;let D=Rr(r?m:o,B);if(D){let{segment:N,x:R,y:P}=D;c.globalAlpha=(1-v/18)*.85,c.shadowColor="rgba(255,245,215,.65)",c.shadowBlur=v===0?n*1.2:0,c.beginPath(),c.arc(R,P,n*(.23+(16-v)/16*.4),0,Math.PI*2),c.fillStyle=p.hintSpark,c.fill(),v===0&&(c.globalAlpha=1,c.shadowBlur=0,mi(c,N.a,N.b,R,P,n))}}c.globalAlpha=1,c.shadowBlur=0}if(e.reducedMotion)for(let m of d){let b=m.points.at(-1),f=m.points.at(-2);f&&b&&mi(c,f,b,(f[0]+b[0])/2,(f[1]+b[1])/2,n)}c.save(),c.globalCompositeOperation="destination-out";for(let m of[(u=l[0])==null?void 0:u[0],(w=l.at(-1))==null?void 0:w.at(-1)]){if(!m)continue;let b=Math.max(17,i*.46),[f,q]=m,k=c.createRadialGradient(f,q,0,f,q,b);k!=null&&k.addColorStop&&(k.addColorStop(0,"rgba(0,0,0,1)"),k.addColorStop(.55,"rgba(0,0,0,1)"),k.addColorStop(1,"rgba(0,0,0,0)"),c.fillStyle=k,c.fillRect(f-b,q-b,b*2,b*2))}c.restore();let s=(x=l.at(-1))==null?void 0:x.at(-1);if(s){let m=Math.max(9,i*.25);c.beginPath(),c.arc(...s,m,0,Math.PI*2),c.strokeStyle=p.hintRibbonLight,c.lineWidth=5,c.stroke(),c.strokeStyle=p.hintRibbon,c.lineWidth=2.5,c.stroke()}c.globalCompositeOperation="destination-out",c.fillStyle="#000",c.strokeStyle="#000";for(let m of e.visitedShapes||[])for(let b of[0,m.depth])Rc(c,m.rings,m.radius,b),c.fill(),c.lineWidth=m.maskPad?m.maskPad*2:3,c.stroke();for(let m of e.keepouts||[])c.fillRect(m.x,m.y,m.w,m.h);c.restore()}function mi(c,e,i,a,t,r){let o=L(e,i);if(o<1)return;let d=(i[0]-e[0])/o,l=(i[1]-e[1])/o,n=r*.65;c.beginPath(),c.moveTo(a-d*n-l*n,t-l*n+d*n),c.lineTo(a+d*n,t+l*n),c.lineTo(a-d*n+l*n,t-l*n-d*n),c.strokeStyle=p.hintRibbonDepth,c.lineWidth=Math.max(2,r*.38),c.stroke()}function Cr(c,e){let i=[],a;for(let t of c)t.points.length&&(a&&a.b===t.a&&L(i.at(-1).at(-1),t.points[0])<.1?i.at(-1).push(...t.points.slice(1)):i.push([...t.points]),a=t);return i.map(t=>{let r=t.filter((d,l)=>!l||L(d,t[l-1])>.01);if(r.length<3)return r;let o=[r[0]];for(let d=1;dc.id)).map(c=>Kc.levels.find(e=>e.id===c)),b1=$.length;var q1=null,fe=[],me=[],Si="mouse",F=c=>dc.getElementById(c),X=F("board"),Gc=X.getContext("2d"),Ye=!1,S,Jc,T=[],Nc=0;var ie=[],ee=new Map,re=1,Cc=[],B1=!1,qe=null,tc=!1,Yc="variant:campaign-200-r2:v1",qc=new Ne(_,pc,Yc+":sound"),nc=[];try{nc=JSON.parse(pc.getItem(Yc)||"[]")}catch{}A.attach(qc,wx,pc);var Ge=new Map,ze=0,Je=null,Q=null,_c=[];try{_c=JSON.parse(pc.getItem(Yc+":records")||"[]")}catch{}function te(){if(!Q)return;Q.reasoning=F("reasoning").value,Q.elapsedSeconds=Math.round((pe.now()-ze)/1e3),Q.completed=tc;let c={...Q,endedAt:new Date().toISOString()},e=_c.findIndex(i=>i.attemptId===c.attemptId);e>=0?_c[e]=c:_c.push(c);try{pc.setItem(Yc+":records",JSON.stringify(_c.slice(-500)))}catch{}}function Bc(c){F("status").textContent=c,F("status").className="toast show",q1&&clearTimeout(q1),q1=setTimeout(()=>{F("status").className="toast"},1800)}function Ue(){S.tutorial&&!nc.includes(S.id)&&!T.length&&(F("rule-text").textContent=S.caption,F("rules-sheet").hidden=!1),F("screen-select").className="screen hidden",F("screen-play").className="screen enter",gc()}function Fr(){te(),F("screen-select").className="screen enter",F("screen-play").className="screen hidden",k1(),F("status").className="toast"}function Er(){Ge.clear();let c=[...(S.relations||[]).flatMap(e=>[e.from,e.to]),...(S.orderChains||[]).flat()];for(let e of c)Ge.has(e)||Ge.set(e,String.fromCharCode(65+Ge.size))}function Or(){return{attemptId:Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,8),mode:Kc.mode,level:S.id,contentRevision:S.contentRevision,order:S.order,chapter:S.chapter,title:S.title,startedAt:new Date().toISOString(),thinkingBeforeFirstDrawSeconds:null,elapsedSeconds:0,firstError:null,backtracks:0,restarts:0,hints:0,completed:!1,reasoning:""}}function Ve(c,e=!0){if(A.reset(),v1.clear(),Q&&te(),Nc=c,S=$[c],Jc=[...wi.routes[S.id]],!Jc)throw Error("\u6CA1\u6709\u5408\u6CD5\u8DEF\u7EBF");T=[],Cc=[],tc=!1,ze=pe.now(),Je=null,Q=Or(),F("reasoning").value="",Er(),F("goal").textContent=S.title,F("caption").textContent=S.caption||"\u5148\u89C2\u5BDF\uFF0C\u518D\u753B\uFF1B\u9519\u4E86\u53EF\u4EE5\u9000\u56DE\u3002",F("title").textContent="\u6570\u5B57\u4E00\u7B14",F("rule-text").textContent=Pr(S);try{pc.setItem(Yc+":current",S.id)}catch{}Bc(""),Mi(),k1(),e?Ue():gc()}function k1(){let c=F("pack-list");c.replaceChildren();for(let e of Kc.chapters){let i=dc.createElement("section");i.className="pack";let a=dc.createElement("div");a.className="pack-title";let t=dc.createElement("span");t.textContent=e.title;let r=dc.createElement("span");r.className="pack-progress";let o=$.filter(l=>l.chapter===e.id);r.textContent=o.filter(l=>nc.includes(l.id)).length+" / "+o.length,a.append(t,r);let d=dc.createElement("div");d.className="level-grid";for(let l of o){let n=$.indexOf(l),h=dc.createElement("button");h.levelId=l.id,h.textContent=String($.indexOf(l)+1),h.title=l.title,h.className="level-tile"+(nc.includes(l.id)?" cleared":"")+(n===Nc?" current":""),h.onclick=()=>Ve(n),d.append(h)}i.append(a,d),c.append(i)}F("position").textContent=S.chapter+"-"+($.filter(e=>e.chapter===S.chapter).indexOf(S)+1),F("level-sub").textContent=S.chapterTitle+" \xB7 \u7B2C"+(Nc+1)+"\u5173"+(S.tutorial?" \xB7 \u5F15\u5BFC":""),F("progress").textContent=nc.filter(e=>$.some(i=>i.id===e)).length+" / "+b1,F("overall-fill").style.width=nc.filter(e=>$.some(i=>i.id===e)).length/b1*100+"%",F("btn-continue").textContent="\u7EE7\u7EED \xB7 "+S.chapter+"-"+($.filter(e=>e.chapter===S.chapter).indexOf(S)+1),F("level-progress").replaceChildren();for(let e of $.filter(i=>i.chapter===S.chapter)){let i=dc.createElement("i");i.className=(nc.includes(e.id)?"cleared ":"")+(e.id===S.id?"current":""),F("level-progress").append(i)}}var Pr=ei;function Mi(){F("constraints").replaceChildren()}function gc(){var t;if(!S)return;let c=X.clientWidth,e=X.clientHeight;if(!c||!e)return;let i=_.devicePixelRatio||1;X.width!==Math.round(c*i)&&(X.width=Math.round(c*i)),X.height!==Math.round(e*i)&&(X.height=Math.round(e*i)),Gc.setTransform(i,0,0,i,0,0),rc=p1(Gc,S,T,c,e,{preview:Ye}),{polygons:ie,centers:ee,unit:re}=rc,fe=rc.channels,me=rc.views;let a=xc(S,T);Ye||(Ei(),Nr(a),F("remaining-n").textContent=tc?"\u5B8C\u6210":String(S.cells.length-T.length),F("remaining").className="remaining"+(tc?" done":""),(t=S.doors)!=null&&t.length&&Mi(),a.length&&Bc(a[0].message+"\uFF0C\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\u3002"),F("undo").disabled=!T.length,F("next").hidden=!tc||Nc===$.length-1)}function vi(c,e,i){let a=!1;for(let t=0,r=i.length-1;te!=n>e&&c<(l-o)*(e-d)/(n-d)+o&&(a=!a)}return a}function Ti(c,e){var i;return(i=ie.find(a=>{if(S.geometry!=="hex")return vi(c,e,a.p);let[t,r]=ee.get(a.id),o=Si==="touch"?.92:.86;return vi(c,e,a.p.map(([d,l])=>[t+(d-t)*o,r+(l-r)*o]))}))==null?void 0:i.id}function Bi(c,e){A.emit("error",S,c,T.at(-1)===c?T.length:T.length+1),Q.firstError||(Q.firstError={step:T.length+1,cell:c,message:e}),Bc(e)}function Ii(c){var a,t;if(!c||tc)return;let e=T.indexOf(c);if(e!==-1){if(T.length>=2&&e===T.length-2){Q.backtracks++;let r=T.pop();A.emit("undo",S,r,T.length,{from:T.at(-1)}),Cc=[],Bc("\u5DF2\u56DE\u9000\uFF0C\u7EE7\u7EED\u89C2\u5BDF\u5269\u4F59\u683C\u3002"),gc()}return}if(!Fe(S,T,c)){let r=Xc(S);(T.length&&r.adj[r.ids.get(T.at(-1))].includes(r.ids.get(c))||!T.length)&&Bi(c,T.length?(a=S.walls)!=null&&a.some(d=>d.includes(T.at(-1))&&d.includes(c))?"\u8FD9\u662F\u6C38\u4E45\u5899\uFF0C\u4E0D\u80FD\u7A7F\u8FC7\u3002":(t=S.doors)!=null&&t.some(d=>d.edge.includes(T.at(-1))&&d.edge.includes(c))?"\u95E8\u73B0\u5728\u5173\u95ED\uFF1B\u7ED5\u884C\u843D\u683C\u540E\u4F1A\u5207\u6362\u3002":"\u540C\u8272\u683C\u4E0D\u80FD\u8FDE\u7EED\u7ECF\u8FC7\uFF0C\u8BF7\u6362\u53E6\u4E00\u79CD\u989C\u8272\u3002":"\u8BF7\u4ECE\u6570\u5B57 1 \u5F00\u59CB\u3002");return}Je===null&&(Je=pe.now(),Q.thinkingBeforeFirstDrawSeconds=Math.round((Je-ze)/1e3)),T.push(c),Cc=[];let i=xc(S,T);if(i.length)Bi(c,i[0].message);else{let r=S.cells.find(o=>o.id===c);T.length1&&r.clue===T.length||r.parity||r.direction?"checkpoint":"move",S,c,T.length,{from:T.at(-2),ribbon:!!r.parity||r.clue>1&&r.clue===T.length}),Bc("")}if(T.length===S.cells.length&&!i.length){if(tc=!0,Q.completed=!0,Q.elapsedSeconds=Math.round((pe.now()-ze)/1e3),!nc.includes(S.id)){nc.push(S.id);try{pc.setItem(Yc,JSON.stringify(nc))}catch{}}Bc(Nc===$.length-1?b1+"\u5173\u5B8C\u6210\uFF01":"\u5B8C\u6210\uFF01"),A.emit("complete",S,c,T.length,{from:T.at(-2)}),te(),k1()}gc()}function Di(c){let e=X.getBoundingClientRect();return[c.clientX-e.left,c.clientY-e.top]}X.addEventListener("pointerdown",c=>{A.begin();try{c.preventDefault(),qc.unlock(),Si=c.pointerType||"mouse",B1=!0,X.setPointerCapture(c.pointerId),qe=Di(c),Ii(Ti(...qe))}finally{A.end()}});X.addEventListener("pointermove",c=>{A.begin();try{if(!B1)return;c.preventDefault();let e=Di(c),i=qe||e,a=Math.hypot(e[0]-i[0],e[1]-i[1]),t=Math.ceil(a/Math.max(3,re*.1));for(let r=1;r<=t;r++)Wr(i[0]+(e[0]-i[0])*r/t,i[1]+(e[1]-i[1])*r/t);qe=e}finally{A.end()}});function Ri(){B1=!1,qe=null}X.addEventListener("pointerup",Ri);X.addEventListener("pointercancel",Ri);F("undo").onclick=()=>{if(qc.unlock(),T.length){let c=T.pop();A.emit("undo",S,c,T.length,{from:T.at(-1)}),Q.backtracks++,Q.completed=!1,tc=!1,Cc=[],Bc("\u5DF2\u64A4\u9500\u4E00\u6B65\u3002"),gc()}};F("restart").onclick=()=>{A.reset(),qc.unlock(),qc.play("restart"),T=[],tc=!1,Cc=[],Q.restarts++,Q.completed=!1,Bc("\u5DF2\u91CD\u5F00\u3002"),gc()};F("hint").onclick=()=>{Q.hints++,Cc=[];let c=v1.request(S,Jc,T);Bc(c?"\u6CBF\u5F15\u5BFC\u5E26\u8FDE\u63A5\u4E24\u7AEF\uFF1B\u8D70\u504F\u53EF\u64A4\u9500\u6216\u91CD\u5F00\uFF0C\u6B63\u786E\u5230\u8FBE\u540E\u63D0\u793A\u6D88\u5931\u3002":"\u5DF2\u7ECF\u5B8C\u6210\u3002"),gc()};F("next").onclick=()=>{Nc+1<$.length&&Ve(Nc+1)};F("export").onclick=()=>{te(),ri({version:Kc.version,exportedAt:new Date().toISOString(),clearedIds:nc,records:_c}),Bc("\u5DF2\u4FDD\u5B58\u8BD5\u73A9\u8BB0\u5F55\u3002")};_.addEventListener("pagehide",()=>{te(),Ei()});F("btn-back").onclick=()=>{A.reset(),Fr()};F("btn-continue").onclick=Ue;F("btn-rules").onclick=()=>{F("rules-sheet").hidden=!1};F("close-rules").onclick=()=>{F("rules-sheet").hidden=!0};F("btn-feedback").onclick=()=>{F("feedback-sheet").hidden=!1};F("close-feedback").onclick=()=>{te(),F("feedback-sheet").hidden=!0};_.addEventListener("resize",gc);var ki;(ki=_.visualViewport)==null||ki.addEventListener("resize",gc);_.addEventListener("orientationchange",gc);var S1=null;try{S1=pc.getItem(Yc+":current")}catch{}var ea=$.findIndex(c=>c.id===S1),Ar=_e(pc),ji=Ke($,nc,Ar,S1);Ve(ji.index,!1);T=m1(S,ji.path,Fe);T.length===S.cells.length&&!xc(S,T).length&&(T=[]);gc();Ue();function Ci(){var c,e;F("btn-sound").textContent=qc.enabled?"\u97F3\u6548\u5F00":"\u97F3\u6548\u5173",F("btn-sound").title=qc.enabled?"\u5173\u95ED\u97F3\u6548":"\u5F00\u542F\u97F3\u6548",(e=(c=F("btn-sound")).setAttribute)==null||e.call(c,"aria-pressed",String(qc.enabled))}F("btn-sound").onclick=()=>{qc.toggle(),Ci()};Ci();function Nr(c){if(!S.tutorial)return;let e=S.caption;if(c.length)e="\u89C4\u5219\u4E0D\u7B26\uFF0C\u8BF7\u6CBF\u6765\u65F6\u8DEF\u9000\u56DE\u4E0A\u4E00\u683C\u518D\u8BD5\u3002";else if(tc)e="\u5B66\u4F1A\u4E86\uFF01\u63A5\u4E0B\u6765\u8BD5\u8BD5\u6B63\u5F0F\u5173\u5361\u3002";else if(S.tutorial==="colour")e=T.length===1?"\u4E0B\u4E00\u6B65\u53BB\u6A59\u8272\u5757\uFF1B\u540C\u8272\u84DD\u5757\u4E0D\u80FD\u8FDE\u7EED\u8D70\u3002":T.length===2?"\u518D\u6362\u56DE\u84DD\u8272\uFF0C\u5B8C\u6210\u84DD \u2192 \u6A59 \u2192 \u84DD\u3002":S.caption;else if(["straight","vertical","corner"].includes(S.tutorial)){let i=S.cells.find(t=>t.direction),a=T.indexOf(i.id);a>=0&&a===T.length-1&&(e=S.tutorial==="straight"?"\u6CBF\u6A2A\u7EBF\u4ECE\u53E6\u4E00\u4FA7\u79BB\u5F00\uFF0C\u4E0D\u80FD\u62D0\u5F2F\u3002":S.tutorial==="vertical"?"\u6CBF\u7AD6\u7EBF\u4ECE\u53E6\u4E00\u4FA7\u79BB\u5F00\uFF0C\u4E0D\u80FD\u5411\u5DE6\u53F3\u8D70\u3002":"\u6CBF\u56FE\u4E2D\u62D0\u89D2\u8FDE\u63A5\u7684\u53E6\u4E00\u4FA7\u79BB\u5F00\u3002")}F("caption").textContent=e}_.variantSnapshot=()=>({mode:Kc.mode,level:S.id,order:S.order,displayOrder:Nc+1,tutorial:S.tutorial||null,soundEnabled:qc.enabled,lastSound:qc.lastEvent,chapter:S.chapter,records:_c.length,cellViews:me,geometry:S.geometry,directionMarkers:fe,screen:F("screen-play").className.includes("hidden")?"select":"play",path:[...T],violations:xc(S,T),cleared:tc,centers:Object.fromEntries(ee),unit:re,openedGates:(S.gates||[]).map(c=>T.includes(c.switchCell)),doors:(S.doors||[]).map(c=>Dc(c,T)),latchedDoors:(S.doors||[]).map(c=>Ec(c,T))});function be(){let c=v1.view(S,Jc,T);return c?{...c,visitedPolygons:ie.filter(e=>T.includes(e.id)).map(e=>e.p.map(i=>[...i])),...si(rc,T,c.route)}:null}function Fi(c,e,i,a,t){let r={canvas:X,ctx:Gc,level:S,solution:Jc,path:T,polygons:ie,centers:ee,unit:re,focus:Cc,cleared:tc,channelViews:fe,cellViews:me,brightScene:rc};try{return X={clientWidth:a,clientHeight:t,get width(){return c.width},set width(o){c.width=o},get height(){return c.height},set height(o){c.height=o}},Gc=c.getContext("2d"),S={...e,tutorial:null},Jc=[],T=i,Cc=[],tc=!1,Ye=!0,gc(),{centers:Object.fromEntries(ee),channels:fe,cells:me}}finally{({canvas:X,ctx:Gc,level:S,solution:Jc,path:T,polygons:ie,centers:ee,unit:re,focus:Cc,cleared:tc,channelViews:fe,cellViews:me,brightScene:rc}=r),Ye=!1}}function Ei(){S&&xi(pc,$,nc,S,T,tc)}function Oi(){let c=_e(pc),e=Ke($,nc,c,S.id);(S.id!==$[e.index].id||tc)&&(Ve(e.index,!1),T=m1(S,e.path,Fe),gc()),Ue()}function Pi(c){if(!(rc!=null&&rc.animating))return;let e=_.devicePixelRatio||1;Gc.setTransform(e,0,0,e,0,0),rc=p1(Gc,S,T,X.clientWidth,X.clientHeight,{now:c})}function Ai(c){rc&&u1(c,rc,T)}function ve(){return!!(rc!=null&&rc.animating)}function Wr(c,e){let i=Ti(c,e);T.length>=2&&i===T.at(-2)&&!ti(ie,i,c,e,re)||Ii(i)}function Ni(c){var i;if(c.tutorial)return[c.tutorial];let e=["basic"];c.features.includes("walls")&&e.push("walls");for(let[a,t]of[["straight","lr"],["vertical","du"]])c.cells.some(r=>r.direction===t)&&e.push(a);return c.cells.some(a=>a.direction&&!["lr","du"].includes(a.direction))&&e.push("corner"),c.features.includes("alternation")&&e.push("colour"),c.features.includes("parity")&&e.push("parity"),(i=c.doors)!=null&&i.length&&e.push("rhythm-door"),c.geometry==="hex"&&e.push("hex"),c.cells.some(a=>a.clue===1)||e.push("unknown-start"),e}function Wi(c,e){let i=c.levels.find(n=>n.tutorial===e);if(!i)throw Error("\u7F3A\u5C11\u6559\u5B66\u5173 "+e);let a=H1(i)[0],t=Array.from({length:a.length+1},(n,h)=>a.slice(0,h));if(e==="rhythm-door")for(let n=a.length-1;n>=0;n--)t.push(a.slice(0,n));let r=[],o=Xc(i);if(e==="walls"&&r.push({after:1,route:a.slice(0,1),blocked:i.walls[0],message:"\u8BD5\u7740\u7A7F\u5899\uFF1A\u8FD9\u6761\u8FB9\u88AB\u6321\u4F4F\uFF0C\u9700\u8981\u7ED5\u884C"}),e==="colour"){let n=i.cells.find(y=>y.id===a[0]),h=o.adj[o.ids.get(n.id)].map(y=>o.cells[y]).find(y=>y.category===n.category);h&&r.push({after:1,route:a.slice(0,1),blocked:[n.id,h.id],message:"\u540C\u8272\u4E0D\u80FD\u8FDE\u7EED\u8D70\uFF1B\u6539\u8D70\u65C1\u8FB9\u7684\u6A59\u8272\u683C"})}if(["straight","vertical","corner","parity"].includes(e))for(let n=1;no.cells[s].id).find(s=>!h.includes(s)&&xc(i,[...h,s]).some(g=>g.key.startsWith((e==="parity"?"parity":"direction")+":")));if(y){r.push({after:n,route:[...h,y],message:e==="parity"?"\u9519\u8BEF\u793A\u4F8B\uFF1A\u5947\u5076\u4E0E\u5F53\u524D\u6B65\u6570\u4E0D\u7B26\uFF0C\u683C\u5B50\u53D8\u7EA2":"\u9519\u8BEF\u793A\u4F8B\uFF1A\u6CA1\u6709\u6CBF\u56FE\u4E2D\u7684\u4E24\u7AEF\u8FDB\u51FA\uFF0C\u56FE\u6807\u53D8\u7EA2"});break}}if(e==="parity"){let n=a[0];for(let h of o.adj[o.ids.get(n)])for(let y of o.adj[h]){let s=[n,o.cells[h].id,o.cells[y].id];new Set(s).size===3&&xc(i,s).some(g=>g.key.startsWith("parity:"))&&!r.length&&r.push({after:1,route:s,message:"\u9519\u8BEF\u793A\u4F8B\uFF1A\u7B2C 3 \u6B65\u8D70\u5230\u201C\u5076\u201D\u683C\uFF0C\u683C\u5B50\u53D8\u7EA2"})}}let d=[];t.forEach((n,h)=>{if(d.push({route:n}),hs.after===h)){d.push(y);for(let s=y.route.length-1;s>n.length;s--)d.push({route:y.route.slice(0,s),message:"\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\uFF0C\u518D\u6309\u89C4\u5219\u8D70"});d.push({route:n,message:y.blocked?"\u6539\u8D70\u7B26\u5408\u89C4\u5219\u7684\u76F8\u90BB\u683C\u5B50":"\u6CBF\u6765\u65F6\u8DEF\u9000\u56DE\uFF0C\u91CD\u65B0\u6309\u89C4\u5219\u8D70"})}});let l=[];for(let n of d){let h=l.at(-1);if(!(h&&JSON.stringify(h.route)===JSON.stringify(n.route)&&!n.blocked&&!h.blocked)){if(h&&n.route.length>h.route.length+1)for(let y=h.route.length+1;yg.id===d.at(-1)),s=n?"\u7B2C "+n+" \u6B65":"\u5148\u89C2\u5BDF\u683C\u5B50\uFF0C\u518D\u5F00\u59CB\u8FDE\u7EBF";if(h==="basic"&&(s=n?"\u7B2C "+n+" \u6B65 \xB7 \u6BCF\u4E2A\u683C\u5B50\u53EA\u7ECF\u8FC7\u4E00\u6B21":"\u4ECE\u6570\u5B57 1 \u5F00\u59CB"),h==="colour"&&n&&(s+=" \xB7 "+(y.category==="circle"?"\u84DD\u8272\uFF1B\u4E0B\u4E00\u6B65\u6362\u6A59\u8272":"\u6A59\u8272\uFF1B\u4E0B\u4E00\u6B65\u6362\u84DD\u8272")),h==="parity"&&n&&(s+=" \xB7 "+(n%2?"\u5947\u6570\u6B65\uFF1A1\u30013\u30015\u2026":"\u5076\u6570\u6B65\uFF1A2\u30014\u30016\u2026")),["straight","vertical","corner"].includes(h)){let g=d.findIndex(u=>{var w;return(w=c.level.cells.find(x=>x.id===u))==null?void 0:w.direction});s=g<0?"\u89C2\u5BDF\u7EBF\u6761\u8FDE\u63A5\u7684\u4E24\u7AEF":g===n-1?"\u4ECE\u7EBF\u7684\u4E00\u7AEF\u8FDB\u5165\uFF0C\u4E0B\u4E00\u6B65\u6CBF\u53E6\u4E00\u7AEF\u79BB\u5F00":"\u6CBF\u6307\u5B9A\u7684\u7EBF\u7A7F\u8FC7\uFF0C\u56FE\u6807\u4EAE\u8D77"}if(h==="rhythm-door"){let g=c.level.doors[0];s+=" \xB7 "+(Ec(g,d)?"\u5DF2\u7ECF\u7A7F\u8FC7\uFF1A\u95E8\u4FDD\u6301\u6253\u5F00":Dc(g,d)?"\u95E8\u5F00\uFF1A\u73B0\u5728\u53EF\u4EE5\u7A7F\u8FC7":"\u95E8\u5173\uFF1A\u6B64\u65F6\u4E0D\u80FD\u7A7F\u8FC7"),l.length>n&&(s="\u56DE\u9000\u5230\u7B2C "+n+" \u6B65 \xB7 "+(Ec(g,d)?"\u5C1A\u672A\u9000\u8FC7\u95E8\uFF0C\u4FDD\u6301\u6253\u5F00":"\u5DF2\u64A4\u9500\u7A7F\u95E8\uFF0C\u6062\u590D\u5F00\u5173\u5207\u6362"))}return h==="walls"&&(s=n?"\u6CBF\u5176\u4ED6\u683C\u5B50\u7ED5\u8FC7\u53BB\uFF0C\u9ED1\u9EC4\u5899\u59CB\u7EC8\u4E0D\u80FD\u7A7F\u8D8A":"\u627E\u5230\u9ED1\u9EC4\u5899\uFF1A\u8FD9\u6761\u8FB9\u4E0D\u80FD\u8D70"),h==="hex"&&(s=n?"\u7B2C "+n+" \u6B65 \xB7 \u6CBF\u76F8\u90BB\u7684\u6574\u6761\u8FB9\u79FB\u52A8":"\u89C2\u5BDF\u516D\u8FB9\u5F62\u76F8\u90BB\u7684\u8FB9"),h==="unknown-start"&&(s=n?"\u7B2C "+n+" \u6B65 \xB7 \u6838\u5BF9\u662F\u5426\u6309\u65F6\u5230\u8FBE\u6570\u5B57\u683C":"\u6CA1\u6709\u6570\u5B57 1\uFF1A\u89C2\u5BDF\u5176\u4ED6\u6570\u5B57\uFF0C\u9009\u62E9\u8D77\u70B9"),s=o.message||s,{route:d,previous:l,message:s,blocked:o.blocked,progress:e>=i?1:t-Math.floor(t),finished:e>=i,index:r}}var Lr=1e3;function Hi(c,e){let i=c.duration+Lr;return Math.min(c.duration,Math.max(0,e)%i)}function _i(c,e,i,a=!1){let t=c.createLinearGradient(0,0,e,i);t&&typeof t.addColorStop=="function"?(t.addColorStop(0,"#FFE898"),t.addColorStop(.45,p.background),t.addColorStop(1,p.backgroundBottom),c.fillStyle=t):c.fillStyle=p.background,c.fillRect(0,0,e,i),!a&&(c.save(),c.strokeStyle=p.pattern,c.globalAlpha=.3,c.lineWidth=3,c.lineJoin="round",c.beginPath(),c.arc(8,i*.18,37,0,Math.PI*2),c.stroke(),c.beginPath(),c.moveTo(e-24,i*.1),c.lineTo(e+9,i*.18),c.lineTo(e-56,i*.16),c.closePath(),c.stroke(),c.save(),c.translate(8,i*.73),c.rotate(-.3),mc(c,-20,-20,44,44,8),c.stroke(),c.restore(),c.beginPath(),c.arc(e+2,i*.87,27,0,Math.PI*1.65),c.stroke(),c.restore())}function Hr(c,e,i,a,t,r){if(c.save(),c.translate(i,a),c.scale(t/28,t/28),r||(c.globalAlpha=.38),c.lineCap="round",c.lineJoin="round",c.shadowColor="rgba(130,79,23,.22)",c.shadowBlur=1.5,c.shadowOffsetY=.8,e==="\u6307\u8DEF"){c.strokeStyle="#FFD74E",c.lineWidth=2,c.beginPath();for(let o of[-3.05,-2.45,-1.8,-1.12,-.5,.15])c.moveTo(Math.cos(o)*9.4,-2+Math.sin(o)*9.4),c.lineTo(Math.cos(o)*12.2,-2+Math.sin(o)*12.2);c.stroke(),c.beginPath(),c.arc(0,-2,6.8,0,Math.PI*2),c.fillStyle="#FFD34B",c.fill(),c.shadowBlur=0,c.strokeStyle="#F0B330",c.lineWidth=.75,c.stroke(),c.beginPath(),c.arc(-.8,-2.8,4.4,Math.PI*1.05,Math.PI*1.65),c.strokeStyle="#FFF4BD",c.lineWidth=1.6,c.stroke(),mc(c,-3.2,3.5,6.4,4.8,1.3),c.fillStyle="#FFFAE4",c.fill(),c.beginPath(),c.moveTo(-2.3,6),c.lineTo(2.3,6),c.strokeStyle="#D8D4C9",c.lineWidth=.8,c.stroke(),mc(c,-2.3,8,4.6,1.8,.8),c.fillStyle="#D5CEC5",c.fill()}else if(e==="\u91CD\u5F00"){let o=()=>{c.beginPath(),c.arc(0,0,7.1,-Math.PI*.28,Math.PI*1.25)};o(),c.lineWidth=5.1,c.strokeStyle="#EB633A",c.stroke(),c.shadowBlur=0,c.save(),c.translate(0,-.55),o(),c.lineWidth=4.3,c.strokeStyle="#FF8557",c.stroke(),c.restore(),c.beginPath(),c.moveTo(-4.8,-10.4),c.quadraticCurveTo(-5.6,-11,-6.4,-10.1),c.lineTo(-10,-5.8),c.quadraticCurveTo(-10.7,-4.8,-9.4,-4.3),c.lineTo(-3.7,-2.8),c.quadraticCurveTo(-2.6,-2.7,-2.8,-4),c.closePath(),c.fillStyle="#FF8355",c.fill(),c.strokeStyle="#FFAA7A",c.lineWidth=.65,c.stroke()}else e==="\u64A4\u9500"&&(c.beginPath(),c.moveTo(-10,-2),c.lineTo(-3,-8),c.quadraticCurveTo(-1.5,-9,-1.5,-6),c.lineTo(-1.5,-4),c.lineTo(2,-4),c.quadraticCurveTo(10,-4,10,4),c.lineTo(10,7),c.quadraticCurveTo(10,9,7.8,9),c.quadraticCurveTo(5.8,9,5.8,7),c.lineTo(5.8,5),c.quadraticCurveTo(5.8,1,2,1),c.lineTo(-1.5,1),c.lineTo(-1.5,3.5),c.quadraticCurveTo(-1.5,6,-3.5,4.4),c.closePath(),c.fillStyle="#FFBE40",c.fill(),c.shadowBlur=0,c.strokeStyle="#F2A323",c.lineWidth=.8,c.stroke(),c.beginPath(),c.moveTo(-7.7,-2.2),c.lineTo(-3.3,-6),c.strokeStyle="#FFE6A1",c.lineWidth=.8,c.stroke());c.restore()}function Ki(c,e,i,a,t,r,{enabled:o=!0,primary:d=!1,pressed:l=!1}={}){let n=Math.min(t*.24,r*Y.referenceMatch.buttonRadiusRatio),h=l?2:0;c.save(),oc(c,i,a+h,t,r-4,n,o?d?l?p.primaryPressed:p.primary:p.surface:p.surfaceMuted,o?l?2:5:3);let y=o?d?p.onPrimary:p.ink:p.disabledInk;if(["\u91CD\u5F00","\u64A4\u9500","\u6307\u8DEF"].includes(e)&&r>=50){let s=e==="\u91CD\u5F00"?38:e==="\u64A4\u9500"?36:35;Hr(c,e,i+t/2,a+r*.3+h,s*(r>=64?1:.79),o),c.shadowColor=d?"rgba(255,255,255,.40)":"rgba(255,255,255,.6)",c.shadowOffsetY=d?0:.6,c.shadowBlur=d?2:.8,$1(c,e,i+t/2,a+r*.72+h,r>=64?18.5:16,y)}else ic(c,e,i+t/2,a+r/2-1+h,d?16:14,y,700);c.restore()}function Gi(c,e,i,a,t=!1){let r=Y.referenceMatch.stageMargin;oc(c,r,i,e-r*2,a,t?24:30,p.stage,t?4:6)}function Ji(c,e,i,a,t,r,o){oc(c,e,i,a,t,t/2,p.surface,3);let d=[["\u5DF2\u8D70 ",p.ink],[""+r,p.primary],[" \u6B65 \xB7 \u8FD8\u5269 ",p.ink],[""+o,p.primary],[" \u5757",p.ink]],l=a<240?13:15;Oc(c,l,700);let n=d.map(([s])=>c.measureText(s).width),h=n.reduce((s,g)=>s+g,0),y=e+(a-h)/2;d.forEach(([s,g],u)=>{ic(c,s,y+n[u]/2,i+t/2-1,l,g,700),y+=n[u]})}var Yi=wx.createCanvas(),Z=null,ke=0,hc=null,M1=new Map,O=c=>dc.getElementById(c),E=uc.getContext("2d"),j=375,z=812,K=60,Mc=24,ac=0,zc=[],Wc=null,Uc=!0,Vc=0,C1=wx.createCanvas();C1.width=1;C1.height=1;var ne=new Te({canRun:()=>Uc&&Wc===null}),de="",kc=0,R1="",Be=null,Xi=0,oe=wx.createCanvas(),T1=oe.getContext("2d"),wc=new De(wx),j1=new Re,$e={key:"",started:0},yc=!1,Qi="",le=0,Se=!1,ae=wx.createCanvas(),Me="",Zi=0,cr=0,J=null,I1=!1;function fc(){Uc&&!Vc&&(Vc=requestAnimationFrame(Kr))}var Xe=wx.createCanvas(),ye="",er=0;ii(()=>{ye="",Me="",fc()});G.reducedMotion=!1;var Tc=Pc.playOrder.map(c=>Pc.levels.find(e=>e.id===c));function F1(){var e,i,a,t,r;ye="";let c=wx.getWindowInfo?wx.getWindowInfo():wx.getSystemInfoSync();j=c.windowWidth,z=c.windowHeight,K=Math.max(((e=c.safeArea)==null?void 0:e.top)||0,((i=wx.getMenuButtonBoundingClientRect)==null?void 0:i.call(wx).bottom)||0)+12,Mc=Math.max(16,z-(((a=c.safeArea)==null?void 0:a.bottom)||z)),_.devicePixelRatio=Math.min(c.pixelRatio||1,3),uc.width=j*_.devicePixelRatio,uc.height=z*_.devicePixelRatio,O("board").clientWidth=j,O("board").clientHeight=Math.max(140,z-K-Mc-218),(r=(t=_.handlers).resize)==null||r.call(t),fc()}function Sc(c,e,i,a=16,t=p.ink){ic(E,c,e,i,a,t)}function D1(c,e,i=16){Oc(E,i);let a=[];for(let t of String(c).split(` -`)){let r="";for(let o of t)r&&E.measureText(r+o).width>e&&(a.push(r),r=""),r+=o;a.push(r)}return a}function V(c,e,i,a,t,r,{enabled:o=!0,primary:d=!1}={}){Ki(E,c,e,i,a,t,{enabled:o,primary:d,pressed:!G.reducedMotion&&Qi===c&&Date.now()c.children[1].children)}function zi(c,e,i){if(c){let a=e.level+":"+c.start+":"+c.end;$e.key!==a&&($e={key:a,started:Date.now()});let t=O("board").clientHeight;oe.width!==Math.round(j*i)&&(oe.width=Math.round(j*i)),oe.height!==Math.round(t*i)&&(oe.height=Math.round(t*i)),T1.setTransform(i,0,0,i,0,0),T1.clearRect(0,0,j,t),bi(T1,c,e.centers,e.unit,Date.now()-$e.started,e.path,j1.frame(a,Date.now(),A.events)),E.drawImage(oe,0,K+82,j,t),E.save(),E.translate(0,K+82),Ai(E),E.restore()}else $e={key:"",started:0},j1.reset()}function Kr(){var u;if(Vc=0,!Uc)return;cr++;let c=_.devicePixelRatio;E.setTransform(c,0,0,c,0,0);let e=_.variantSnapshot(),i=Tc[e.displayOrder],a=e.level+":"+j+":"+O("board").clientHeight;e.screen==="play"&&i&&!e.cleared?de!==a&&(de=a,ne.start(a,gi(C1.getContext("2d"),i,j,O("board").clientHeight))):e.cleared?ne.stop():de&&(ne.stop(),de=""),wc.scene(e.screen==="select"?"select":e.cleared?"complete":"play",e.level),!e.cleared||e.screen!=="play"?(J=null,Se=!1):!Se&&(!J||J.key!==e.level)&&(J={key:e.level,started:Date.now(),requested:vc.completeRequestedAt}),J&&(J.started=A.completionStart(vc.completeStartedAt,e.soundEnabled));let t=be(),r=e.cleared&&e.screen==="play"&&!yc&&O("rules-sheet").hidden&&!Se?e.level+":"+j+":"+z:"";if(r&&Me===r&&!ve()&&Date.now()>=le){Zi++,E.drawImage(ae,0,0,j,z),(J==null?void 0:J.started)!==null&&!G.reducedMotion&&n1(E,j,K+82,O("board").clientHeight,Date.now()-J.started),J&&(J.started===null||Date.now()-J.started=le,d=JSON.stringify([e.level,e.path,j,z,c,G.reducedMotion]);if(o&&ye===d){er++,E.drawImage(Xe,0,0,j,z),zi(t,e,c),G.reducedMotion||fc();return}let l=Tc.find(w=>w.id===e.level),n=(l.features||[]).length>=3||((u=e.cellViews)==null?void 0:u.length)>=30;if(_i(E,j,z,!O("screen-play").className.includes("hidden")&&n),zc=[],O("screen-play").className.includes("hidden")){let w=_r(),x=Math.ceil(Tc.length/15);I1||(ac=Math.floor((e.displayOrder-1)/15)),I1=!0,ac=Math.max(0,Math.min(x-1,ac));let b=Tc.slice(ac*15,(ac+1)*15).map(k=>w[Tc.indexOf(k)]),f=X1(j,z,K,Mc,15);Z1(E,j,K,O("progress").textContent,ac*15+1,Math.min((ac+1)*15,Tc.length));let q=Ie(j,K).settings;V("\u8BBE\u7F6E",q.x,q.y,q.w,q.h,()=>yc=!0),b.forEach((k,I)=>{let M=Math.floor(I/f.columns),v=I%f.columns,B=b.length-M*f.columns,N=f.x+0+v*(f.w+f.gap),R=f.y+M*(f.h+f.gap),P=k.textContent+(k.className.includes("cleared")?" \u2713":"");Q1(E,k.textContent,N,R,f.w,f.h,{completed:k.className.includes("cleared"),current:k.className.includes("current")}),zc.push({label:P,x:N,y:R,w:f.w,h:f.h,run:()=>k.click(),enabled:!0})}),V("\u4E0A\u4E00\u9875",18,z-Mc-106,90,38,()=>ac=Math.max(0,ac-1),{enabled:ac>0}),Sc(ac+1+" / "+x,j/2,z-Mc-87),V("\u4E0B\u4E00\u9875",j-108,z-Mc-106,90,38,()=>ac=Math.min(x-1,ac+1),{enabled:acbc("btn-continue"),{primary:!0}),V("\u53CD\u9988",j-98,z-Mc-56,80,42,Gr)}else{I1=!1,V("\u9009\u5173",16,K,62,36,()=>bc("btn-back")),oc(E,j/2-60,K+2,120,32,16,p.coral,3),Sc("\u7B2C "+_.variantSnapshot().displayOrder+" \u5173",j/2,K+18,18,p.onPrimary),V("\u8BBE\u7F6E",j-94,K,78,36,()=>yc=!0),Ji(E,84,K+43,j-100,31,e.path.length,l.cells.length-e.path.length),Gi(E,j,K+82,O("board").clientHeight,n),Pi(Date.now()),E.drawImage(ue,0,K+82,j,O("board").clientHeight);let w=z-Mc-102,x=_.variantSnapshot().cleared,m=x?_.variantSnapshot().displayOrder===Tc.length?"200 \u5173\u5168\u90E8\u5B8C\u6210\uFF01":"\u5B8C\u6210\uFF01\u51C6\u5907\u597D\u5C31\u8FDB\u5165\u4E0B\u4E00\u5173\u3002":O("status").className.includes("show")&&O("status").textContent?O("status").textContent:"\u6309\u4F4F\u6ED1\u52A8\u8FDE\u7EBF \xB7 \u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u56DE\u9000",b=D1(m,j-36,13);b.slice(0,2).forEach((q,k)=>Sc(k===1&&b.length>2?q.slice(0,-1)+"\u2026":q,j/2,w-12+k*22,13,x?p.success:p.inkSecondary));let f=z<700?54:70;if(x)V(O("next").hidden?"\u8FD4\u56DE\u9009\u5173":"\u4E0B\u4E00\u5173 \u2192",16,w+22,j-32,f,()=>bc(O("next").hidden?"btn-back":"next"),{primary:!0});else{let q=(j-48)/3;V("\u91CD\u5F00",16,w+22,q,f,()=>bc("restart")),V("\u64A4\u9500",24+q,w+22,q,f,()=>bc("undo"),{enabled:!O("undo").disabled}),V("\u6307\u8DEF",32+2*q,w+22,q,f,()=>bc("hint"),{primary:!0})}V("\u89C4\u5219",16,K+43,56,30,()=>bc("btn-rules"))}if(r&&!ve()&&Date.now()>=le&&(ae.width!==uc.width&&(ae.width=uc.width),ae.height!==uc.height&&(ae.height=uc.height),ae.getContext("2d").drawImage(uc,0,0),Me=r),J&&J.started===null&&!yc&&O("rules-sheet").hidden){let w=j/2,x=K+82+O("board").clientHeight*.45;oc(E,w-74,x-40,148,80,25,p.surface,2),Sc("\u5B8C\u6210\uFF01",w,x,24,p.success)}if(J&&J.started!==null&&!G.reducedMotion&&!yc&&O("rules-sheet").hidden&&n1(E,j,K+82,O("board").clientHeight,Date.now()-J.started),!O("rules-sheet").hidden){E.fillStyle="rgba(67,56,47,.32)",E.fillRect(0,0,j,z);let w=K+12,x=Math.max(240,z-w-Mc-20);oc(E,16,w,j-32,x,24,p.surface,5),zc=[],Sc("\u600E\u4E48\u73A9",j/2,w+28,23);let m=_.variantSnapshot().level+":"+O("rule-text").textContent;R1!==m&&(R1=m,kc=0,Z=null);let b=Tc.find(H=>H.id===_.variantSnapshot().level),f=Ni(b),q=[],k=Math.max(90,Math.min(220,x*.34)),I=Math.max(1,Math.floor((x-k-230)/23));for(let H of f){let ec=H==="basic"&&!b.tutorial?` -\u683C\u5B50\u91CC\u7684\u6570\u5B57\u8868\u793A\u7B2C\u51E0\u6B65\u5230\u8FD9\u91CC\uFF0C\u4F8B\u5982\u6570\u5B57 5\uFF0C\u8981\u5728\u7B2C 5 \u6B65\u5230\u8FBE\u3002`+(b.geometry==="blocks"?"\u5927\u683C\u6216\u4E0D\u89C4\u5219\u683C\u5B50\uFF0C\u6574\u4E2A\u53EA\u7B97\u4E00\u6B65\u3002":"")+"\u8D70\u9519\u540E\u6CBF\u539F\u8DEF\u9000\u4E00\u6B65\uFF0C\u6216\u70B9\u64A4\u9500\uFF1B\u91CD\u5F00\u4F1A\u6E05\u7A7A\u8DEF\u7EBF\u3002":"",sc=D1(jc[H]+ec,j-72,15);for(let Ic=0;IcR.centers[sc]);E.beginPath(),E.moveTo(B.x+H[0],B.y+H[1]),E.lineTo(B.x+ec[0],B.y+ec[1]),E.setLineDash([5,5]),E.strokeStyle=p.danger,E.lineWidth=4,E.stroke(),E.setLineDash([]),Sc("\xD7",B.x+(H[0]+ec[0])/2,B.y+(H[1]+ec[1])/2,26,p.danger)}let P=hc.route.at(-1),C=hc.previous.at(-1),cc=R.centers[P],lc=R.centers[C]||cc;if(cc){let H=hc.progress,ec=B.x+lc[0]+(cc[0]-lc[0])*H,sc=B.y+lc[1]+(cc[1]-lc[1])*H;lc!==cc&&(E.beginPath(),E.moveTo(B.x+lc[0],B.y+lc[1]),E.lineTo(ec,sc),E.strokeStyle=p.primary,E.lineWidth=6,E.lineCap="round",E.stroke()),E.beginPath(),E.arc(ec,sc,10,0,Math.PI*2),E.strokeStyle=p.hint,E.lineWidth=3,E.stroke()}D1(hc.message,j-76,14).forEach((H,ec)=>Sc(H,j/2,B.y+B.h+16+ec*20,14,p.primary)),M.lines.forEach((H,ec)=>Sc(H,j/2,B.y+B.h+65+ec*23,15)),V("\u91CD\u64AD",j/2-32,w+x-144,64,30,()=>{ke=Date.now()}),q.length>1&&(V("\u4E0A\u4E00\u6BB5",38,w+x-102,80,30,()=>{kc--,Z=null},{enabled:kc>0}),Sc(kc+1+" / "+q.length,j/2,w+x-87,14),V("\u4E0B\u4E00\u6BB5",j-118,w+x-102,80,30,()=>{kc++,Z=null},{enabled:kcbc("close-rules"),{primary:!0})}if(yc){E.fillStyle="rgba(67,56,47,.32)",E.fillRect(0,0,j,z),zc=[];let w=Math.max(K,z/2-185);oc(E,24,w,j-48,340,24,p.surface,5),Sc("\u8BBE\u7F6E",j/2,w+32,24),V("\u97F3\u4E50\uFF1A"+(wc.enabled?"\u5F00":"\u5173"),44,w+65,j-88,48,()=>wc.toggle()),V("\u97F3\u6548\uFF1A"+(e.soundEnabled?"\u5F00":"\u5173"),44,w+125,j-88,48,()=>bc("btn-sound")),V("\u632F\u52A8\uFF1A"+(A.haptics.enabled?"\u5F00":"\u5173"),44,w+185,j-88,48,()=>A.haptics.setEnabled(!A.haptics.enabled)),V("\u5B8C\u6210",44,w+265,j-88,48,()=>yc=!1,{primary:!0})}o?(Xe.width=uc.width,Xe.height=uc.height,Xe.getContext("2d").drawImage(uc,0,0),ye=d):ye="",!yc&&O("rules-sheet").hidden&&e.screen==="play"&&zi(t,e,c);let y=!yc&&O("rules-sheet").hidden&&e.screen==="play",s=!yc&&!O("rules-sheet").hidden&&!G.reducedMotion&&!!Z,g=y&&J&&!G.reducedMotion&&(J.started===null||Date.now()-J.started{c.confirm&&(O("reasoning").value=c.content||"",bc("close-feedback"),wx.showModal({title:"\u53CD\u9988\u5DF2\u4FDD\u5B58",content:"\u662F\u5426\u5BFC\u51FA\u5168\u90E8\u8BD5\u73A9\u8BB0\u5F55\uFF1F",success:e=>{e.confirm&&bc("export")}}))}})}function ir(c){return{clientX:c.clientX,clientY:c.clientY-K-82,pointerId:c.identifier,pointerType:"touch",preventDefault(){}}}wx.onTouchStart(c=>{var a,t;if(wc.resume(),Wc!==null)return;let e=c.changedTouches[0];if(!e)return;let i=zc.find(r=>e.clientX>=r.x&&e.clientX<=r.x+r.w&&e.clientY>=r.y&&e.clientY<=r.y+r.h);if(i){if(i.enabled){wc.resume(),ye="",Qi=i.label,le=Date.now()+120;let r=O("screen-play").className.includes("hidden")||yc||["\u9009\u5173","\u89C4\u5219","\u8BBE\u7F6E","\u8FD4\u56DE\u6E38\u620F"].includes(i.label);Me="",(i.label==="\u4E0B\u4E00\u5173 \u2192"||i.label==="\u8FD4\u56DE\u9009\u5173")&&(ne.stop(),de="",Se=!0,J=null,cancelAnimationFrame(Vc),Vc=0),i.run(),r&&A.audio.play("ui"),fc()}return}yc||!O("rules-sheet").hidden||O("screen-play").className.includes("hidden")||e.clientYK+82+O("board").clientHeight||(Wc=e.identifier,(t=(a=O("board").handlers).pointerdown)==null||t.call(a,ir(e)),fc())});wx.onTouchMove(c=>{var i,a;let e=c.touches.find(t=>t.identifier===Wc);e&&((a=(i=O("board").handlers).pointermove)==null||a.call(i,ir(e)),fc())});var rr=c=>{var e,i;c.changedTouches.some(a=>a.identifier===Wc)&&((i=(e=O("board").handlers).pointerup)==null||i.call(e),Wc=null)};wx.onTouchEnd(rr);wx.onTouchCancel(rr);wx.onHide(()=>{var c,e,i,a;Uc=!1,Me="",ne.stop(),de="",wc.suspend(),j1.reset(),ke=Date.now(),Se=_.variantSnapshot().cleared,J=null,A.reset(),y1(),cancelAnimationFrame(Vc),Vc=0,Wc=null,(e=(c=O("board").handlers).pointercancel)==null||e.call(c),(a=(i=_.handlers).pagehide)==null||a.call(i)});wx.onShow(()=>{if(!Uc){Uc=!0,ke=Date.now(),yc=!1,Oi();let c=_.variantSnapshot();wc.scene(c.screen==="select"?"select":c.cleared?"complete":"play",c.level),wc.resume(),F1(),fc()}});var Ui;(Ui=wx.onAudioInterruptionBegin)==null||Ui.call(wx,()=>{wc.suspend(),A.reset(),y1()});var Vi;(Vi=wx.onAudioInterruptionEnd)==null||Vi.call(wx,()=>{Uc&&(wc.resume(),fc())});var $i;($i=wx.onWindowResize)==null||$i.call(wx,F1);GameGlobal.numberSwipeR2={snapshot:()=>({..._.variantSnapshot(),theme:"bright-classroom",release:N1,fonts:{...Pe},renderedFrames:cr,clearBaseHits:Zi,warming:!!ne.pending,boardRenders:x1.liveRenders,hintBaseHits:er,lessonBoardRenders:Xi,music:wc.snapshot(),selection:{page:ac+1,pages:Math.ceil(Tc.length/15),pageSize:15,chapter:ac+1,chapters:Math.ceil(Tc.length/15)},reducedMotion:G.reducedMotion,boardRect:{x:0,y:K+82,w:j,h:O("board").clientHeight},hint:be(),audio:{...vc},feedback:A.snapshot(),rules:O("rule-text").textContent,lesson:!O("rules-sheet").hidden&&hc?{key:Z==null?void 0:Z.key,finished:hc.finished,duration:Z==null?void 0:Z.duration,path:[...hc.route],message:hc.message}:null}),buttons:()=>zc.map(({label:c,x:e,y:i,w:a,h:t,enabled:r})=>({label:c,x:e,y:i,w:a,h:t,enabled:r}))};A.audio.beforeComplete=()=>wc.duck();A.audio.afterComplete=()=>wc.unduck();O1(wx,fc);F1();fc();})(); +(()=>{var Ee=class{constructor({after:e=requestAnimationFrame,cancel:i=cancelAnimationFrame,now:t=()=>Date.now(),canRun:a=()=>!0}={}){Object.assign(this,{after:e,cancel:i,now:t,canRun:a}),this.epoch=0}start(e,i){if(this.key===e)return;this.stop(),this.key=e,this.iterator=i,this.pending=!0;let t=this.epoch,a=this.now()+800,r=()=>{if(this.raf=null,t===this.epoch){if(this.now()>a){this.stop();return}try{if(this.canRun()&&i.next().done){this.pending=!1;return}}catch{this.stop();return}this.raf=this.after(r)}};this.raf=this.after(r)}stop(){var e,i;this.epoch++,this.raf&&this.cancel(this.raf),this.raf=null,(i=(e=this.iterator)==null?void 0:e.return)==null||i.call(e),this.iterator=null,this.pending=!1,this.key=null}};var Fc=null,d1=!1;function U1(c,e){Fc||!c.createImage||(Fc=c.createImage(),Fc.onload=()=>{d1=!0,e()},Fc.onerror=()=>{d1=!1},Fc.src="images/title-reference.png")}function ue(c,e){let i=c<350,t=Math.min(224,c-132);return{x:(c-t)/2,y:e-18,w:t,pillY:e+(i?48:66),gridOffset:i?80:98,gap:i?8:10}}function z1(c,e,i){if(!d1)return;let t=ue(e,i);c.drawImage(Fc,t.x,t.y,t.w,t.w*Fc.height/Fc.width)}function Oe(c,e){let a=(c-36-54-12)/2,r=ue(c,e).pillY;return{x:18,y:r,w:a,gap:6,settings:{x:c-18-54,y:r,w:54,h:26}}}var Ae=class{constructor(e){this.api=e,this.enabled=!0,this.paused=!1,this.ducked=!1,this.loaded=typeof e.loadSubpackage!="function";try{this.enabled=e.getStorageSync("number-swipe:music:v1")!=="off"}catch{}}scene(e,i="default"){var r,d;if(this.name=e,this.level=i,!this.enabled||this.paused||this.failed)return;if(!this.loaded){if(!this.loading){this.loading=!0;try{this.api.loadSubpackage({name:"music",success:()=>{this.loading=!1,this.loaded=!0,this.scene(this.name,this.level)},fail:()=>{this.loading=!1,this.failed=!0}})}catch{this.loading=!1,this.failed=!0}}return}let t=e==="select"?"select":"play",a=t==="select"?"music/select.wav":"music/play-a.wav";if(this.playing===t&&this.current===a){this.volume();return}try{this.audio||(this.audio=this.api.createInnerAudioContext(),this.audio.loop=!0,this.audio.obeyMuteSwitch=!1,(d=(r=this.audio).onError)==null||d.call(r,()=>{this.playing=null,this.failed=!0})),this.audio.stop(),this.audio.src=a,this.playing=t,this.current=a,this.volume(),this.audio.play()}catch{this.playing=null,this.failed=!0}}volume(){this.audio&&(this.audio.volume=(this.playing==="select"?.136:.119)*(this.ducked?.25:1))}duck(){this.ducked=!0,this.volume()}unduck(){this.ducked=!1,this.volume()}stop(){var e;(e=this.audio)==null||e.stop(),this.playing=null}suspend(){this.paused=!0,this.unduck(),this.stop()}resume(){this.paused=!1,this.failed=!1,this.name&&this.scene(this.name,this.level)}toggle(){this.enabled=!this.enabled;try{this.api.setStorageSync("number-swipe:music:v1",this.enabled?"on":"off")}catch{}this.stop(),this.enabled&&this.resume()}snapshot(){var e,i;return{enabled:this.enabled,playing:this.playing||null,track:this.current||null,loaded:this.loaded,failed:!!this.failed,ducked:this.ducked,volume:(i=(e=this.audio)==null?void 0:e.volume)!=null?i:0}}};var Pe={meta:{name:"NumberSwipe \u660E\u4EAE\u6559\u5177\u5BA4",version:"1.0-proposal",date:"2026-10-21",status:"Design specification; not applied to runtime",unit:"logical layout unit, not physical pixel",reference:[375,812]},color:{background:"#FFE69A",backgroundBottom:"#FFDE79",pattern:"#E8BE54",stage:"#FFF6DF",surface:"#FFFBF2",surfaceMuted:"#F1E6D0",cellFace:"#FFF8EA",cellDepth:"#D8C4A0",cellBoundary:"#8A7660",cellBevel:"#FFFFFF",ink:"#43382F",inkSecondary:"#71604F",primary:"#6552D9",primaryPressed:"#5140B7",primaryDepth:"#49379E",primarySoft:"#ECE7FF",primaryEdge:"#ADA0F1",onPrimary:"#FFFFFF",coral:"#F57950",coralInk:"#4F2418",coralSoft:"#FFE0CF",danger:"#B93B46",dangerDepth:"#8D2934",dangerSoft:"#FBE4E5",dangerInk:"#862735",hint:"#8B5E00",hintSoft:"#FFF0B8",hintCore:"#FFFFFF",hintCasing:"#43382F",hintRibbon:"#F49B75",hintRibbonDepth:"#C96E48",hintRibbonLight:"#FFF5DD",hintSpark:"#FFFDF0",success:"#2E6B52",successSoft:"#DEEFDC",categoryBlueFace:"#CEE4FF",categoryBlueInk:"#245A92",categoryOrangeFace:"#FFE0B2",categoryOrangeInk:"#8A470E",wallInk:"#43382F",wallStripe:"#F7C74D",doorClosed:"#8B4B29",doorOpen:"#2E6B52",disabledFace:"#E9E1D3",disabledInk:"#7A7064",focus:"#5140B7",overlay:"#43382F"},referenceMatch:{version:"2-reference-cushion",authority:"User-supplied reference image; overrides earlier flat production proposal",color:{background:"#FFE383",backgroundBottom:"#FFDA68",pattern:"#EFBF4D",stage:"#FAEED6",surface:"#FBEFD9",cellFace:"#F9EDD5",cellDepth:"#CDB590",ink:"#51452E",inkSecondary:"#796644",primary:"#8178F4",primaryPressed:"#7369DF",primaryDepth:"#5750BA",primaryEdge:"#B7AAFF",coral:"#FF7946"},pitchMax:104,bridgeRatio:.25,cellDepthRatio:.085,cellDepthMax:7,bevelRatio:.085,stageMargin:12,buttonRadiusRatio:.32,conditionFrames:!1,endpointCorners:!1,categoryVisitedFrames:!1},font:{numeric:"Nunito",cjk:"Noto Sans SC",fallback:"system-ui, -apple-system, Segoe UI, Microsoft YaHei, sans-serif",numericWeight:800,bodyWeight:500,labelWeight:600,headingWeight:700},type:{display:{size:32,line:40,weight:800},pageTitle:{size:24,line:32,weight:700},section:{size:18,line:26,weight:700},body:{size:16,line:24,weight:500},button:{size:16,line:22,weight:700},label:{size:14,line:20,weight:600},caption:{size:13,line:18,weight:500},micro:{size:12,line:16,weight:500}},spacing:[4,8,12,16,20,24,32,40,48],layout:{referenceWidth:375,referenceHeight:812,margin:20,compactMargin:16,topbarHeight:48,headerHeight:40,statusHeight:28,playfieldHeight:464,feedbackHeight:40,actionHeight:64,actionGap:10,tapTarget:48,pitchPreferred:56,pitchTargetMin:44,pitchReviewBelow:44,tileInsetRatio:.045,bridgeThicknessRatio:.42,stagePadding:16},radius:{small:8,label:12,button:18,stage:28,card:24,sheet:28,dialog:24,cellRatio:.18,cellMin:6,cellMax:12,concaveMaxRatio:.06,hexMaxRatio:.11},material:{light:"upper-left",cellDepthRatio:.055,cellDepthMin:2,cellDepthMax:4,pressedDepth:1,cellBoundary:1.25,bevelWidth:1,gradientChannelDeltaMax:6,cellShadow:{x:0,y:3,blur:5,alpha:.1},stageShadow:{x:0,y:4,blur:10,alpha:.08},buttonShadow:{x:0,y:3,blur:5,alpha:.12},dialogShadow:{x:0,y:12,blur:28,alpha:.16}},motionMs:{fast:120,base:200,slow:320,hold:500,buttonPress:80,buttonRelease:120,step:140,bridge:120,undo:100,conflict:200,hintAttention:2400,hintSegmentCycleMin:1200,door:160,spinner:160,clearSweep:320,clearHold:500,entryStagger:12,entryStaggerCap:120},motion:{easeOut:[.22,1,.36,1],stepPeak:1.015,stepPressed:.985,buttonPressed:.98,conflictTravelMax:1.5,spinnerDegrees:120,ambientAnimation:!1,reducedMotionHint:"static dashed path; keep all hint information"},contrastPairs:[{name:"\u6807\u9898/\u9EC4\u5E95",fg:"ink",bg:"background",minimum:4.5},{name:"\u8F85\u52A9\u6587\u5B57/\u9EC4\u5E95",fg:"inkSecondary",bg:"background",minimum:4.5},{name:"\u6B63\u6587/\u821E\u53F0",fg:"ink",bg:"stage",minimum:4.5},{name:"\u8F85\u52A9\u6587\u5B57/\u821E\u53F0",fg:"inkSecondary",bg:"stage",minimum:4.5},{name:"\u6570\u5B57/\u672A\u8D70\u5757",fg:"ink",bg:"cellFace",minimum:4.5},{name:"\u767D\u6570\u5B57/\u8DEF\u5F84",fg:"onPrimary",bg:"primary",minimum:4.5},{name:"\u767D\u5B57/\u6309\u538B\u7D2B",fg:"onPrimary",bg:"primaryPressed",minimum:4.5},{name:"\u767D\u6570\u5B57/\u9519\u8BEF",fg:"onPrimary",bg:"danger",minimum:4.5},{name:"\u9519\u8BEF\u8BF4\u660E/\u6DE1\u7EA2",fg:"dangerInk",bg:"dangerSoft",minimum:4.5},{name:"\u73CA\u745A\u6807\u7B7E\u6587\u5B57",fg:"coralInk",bg:"coral",minimum:4.5},{name:"\u6DE1\u7D2B\u9009\u4E2D\u6587\u5B57",fg:"primaryPressed",bg:"primarySoft",minimum:4.5},{name:"\u63D0\u793A\u6587\u5B57/\u6DE1\u9EC4",fg:"hint",bg:"hintSoft",minimum:4.5},{name:"\u6210\u529F\u6587\u5B57/\u6DE1\u7EFF",fg:"success",bg:"successSoft",minimum:4.5},{name:"\u84DD\u7C7B\u522B\u6807\u8BB0",fg:"categoryBlueInk",bg:"categoryBlueFace",minimum:4.5},{name:"\u6A59\u7C7B\u522B\u6807\u8BB0",fg:"categoryOrangeInk",bg:"categoryOrangeFace",minimum:4.5},{name:"\u6570\u5B57/\u84DD\u7C7B\u522B\u9762",fg:"ink",bg:"categoryBlueFace",minimum:4.5},{name:"\u6570\u5B57/\u6A59\u7C7B\u522B\u9762",fg:"ink",bg:"categoryOrangeFace",minimum:4.5},{name:"\u683C\u8FB9/\u683C\u9762",fg:"cellBoundary",bg:"cellFace",minimum:3},{name:"\u683C\u8FB9/\u821E\u53F0",fg:"cellBoundary",bg:"stage",minimum:3},{name:"\u8DEF\u5F84/\u672A\u8D70\u683C",fg:"primary",bg:"cellFace",minimum:3},{name:"\u63D0\u793A\u63CF\u8FB9/\u821E\u53F0",fg:"hintCasing",bg:"stage",minimum:3},{name:"\u63D0\u793A\u767D\u82AF/\u63CF\u8FB9",fg:"hintCore",bg:"hintCasing",minimum:3},{name:"\u5899/\u9EC4\u8272\u6761\u7EB9",fg:"wallInk",bg:"wallStripe",minimum:3},{name:"\u5899/\u821E\u53F0",fg:"wallInk",bg:"stage",minimum:3},{name:"\u5F00\u95E8\u6807\u8BB0/\u821E\u53F0",fg:"doorOpen",bg:"stage",minimum:3},{name:"\u5173\u95E8\u6807\u8BB0/\u821E\u53F0",fg:"doorClosed",bg:"stage",minimum:3},{name:"\u7126\u70B9/\u9EC4\u5E95",fg:"focus",bg:"background",minimum:3},{name:"\u767D\u5B57/\u73CA\u745A\uFF08\u4EC5\u8BCA\u65AD\uFF0C\u4E0D\u91C7\u7528\uFF09",fg:"onPrimary",bg:"coral",minimum:null},{name:"\u683C\u9762/\u821E\u53F0\uFF08\u4EC5\u8BCA\u65AD\uFF0C\u683C\u8FB9\u627F\u62C5\u8BC6\u522B\uFF09",fg:"cellFace",bg:"stage",minimum:null},{name:"\u84DD\u7C7B\u522B\u9762/\u6A59\u7C7B\u522B\u9762\uFF08\u4EC5\u8BCA\u65AD\uFF0C\u53E6\u914D\u5F62\u72B6\uFF09",fg:"categoryBlueFace",bg:"categoryOrangeFace",minimum:null}],hintSoftRibbon:{id:"hint-soft-ribbon-a3-bright",status:"production",units:"logical-canvas-pixels",body:{widthRatio:.235,widthMin:7,widthMax:26,cornerRadiusRatio:.2,edgeOuterExtra:5,edgeInnerExtra:2,edgeOuter:"rgba(255,191,126,0.10)",edgeInner:"rgba(255,199,140,0.18)",gradient:[[0,"rgba(255,196,136,0.78)"],[.55,"rgba(255,185,126,0.72)"],[1,"rgba(255,196,139,0.65)"]],crownWidthRatio:.76,crownOffset:[-.8,-1.2],crownColor:"rgba(255,240,203,0.24)",shadowColor:"rgba(197,122,53,0.09)",shadowBlur:5,shadowY:2},highlight:{count:1,speed:60,minCycleMs:1800,radiusRatioToWidth:.62,stretchAlongPath:2.2,gradient:[[0,"rgba(255,255,245,0.90)"],[.5,"rgba(255,251,225,0.48)"],[1,"rgba(255,251,225,0)"]]},endpointFade:{radiusRatio:.39,opaqueEraseUntil:.6},target:{blur:15,shadowColor:"rgba(250,194,99,0.70)",faceColor:"rgba(255,233,166,0.12)",tintCenterColor:"rgba(255,235,175,0.36)",tintRadiusRatio:.8,breathCycleMs:2200,breathMin:.65,breathMax:1},constraints:{noArrows:!0,noBracket:!0,noTargetRing:!0},keepoutFeather:3}};function _c(c){return c.shape?c.shape.map(([e,i])=>[c.x+e,c.y+i]):Array.from({length:(c.w||1)*(c.h||1)},(e,i)=>[c.x+i%(c.w||1),c.y+Math.floor(i/(c.w||1))])}function Qc(c){let e=c.cells,i=new Map(e.map((d,o)=>[d.id,o]));if(i.size!==e.length)throw Error("\u91CD\u590D\u683C id");let t=e.map(()=>[]),a=new Map;if(c.geometry!=="hex")for(let d=0;dl===n&&g===y)}else h=_c(e[d]).some(([n,y])=>[[1,0],[-1,0],[0,1],[0,-1]].some(([l,g])=>a.get(n+l+","+(y+g))===o));h&&(t[d].push(o),t[o].push(d))}let r=new Map;for(let d of e)if(d.clue!==void 0){if(!Number.isInteger(d.clue)||d.clue<1||d.clue>e.length||r.has(d.clue))throw Error("\u6570\u5B57\u8303\u56F4\u6216\u91CD\u590D");r.set(d.clue,i.get(d.id))}return{cells:e,ids:i,adj:t,clues:r}}function V1(c){let e=[];for(let i=0;i<(c.relations||[]).length;i++)e.push({key:"relation:"+i,kind:"relation",...c.relations[i]});for(let i=0;i<(c.orderChains||[]).length;i++)for(let t=0;to.id===e),a=c.cells.find(o=>o.id===i),r=new Set(_c(a).map(o=>o.join(","))),d=new Set;for(let[o,h]of _c(t))for(let[n,y,l]of[[-1,0,"l"],[1,0,"r"],[0,-1,"u"],[0,1,"d"]])r.has(o+n+","+(h+y))&&d.add(l);return d.size===1?[...d][0]:null}function kr(c,e,i){if(i===0||i===e.length-1)return null;let t=Xc(c,e[i],e[i-1]),a=Xc(c,e[i],e[i+1]);return t&&a?[t,a].sort().join(""):null}function Ec(c,e){for(let i=1;i[o,h+1])),d=[];if(!a){for(let o of c.cells)if(o.clue!==void 0){let h=r.get(o.id);(h!==void 0&&h!==o.clue||e.length>=o.clue&&e[o.clue-1]!==o.id)&&d.push({key:"clue:"+o.id,cells:[o.id,e[o.clue-1]].filter(Boolean),message:"\u56FA\u5B9A\u6570\u5B57\u6B65\u53F7\u4E0D\u7B26"})}}for(let o of V1(c)){if(o.key===i)continue;let h=!1,n=[];if(o.kind==="relation"){let y=r.get(o.from),l=r.get(o.to);n=[o.from,o.to],h=l!==void 0&&(y===void 0||l-y!==o.delta)||y!==void 0&&l===void 0&&e.length>=y+o.delta}else if(o.kind==="order")n=[o.from,o.to],h=r.has(o.to)&&(!r.has(o.from)||r.get(o.from)>r.get(o.to));else if(o.kind==="window"){n=[o.cell];let y=r.get(o.cell);h=y!==void 0?yo.max:e.length>=o.max}else if(o.kind==="parity"){n=[o.cell];let y=r.get(o.cell);h=y!==void 0&&y%2===1!=(o.value==="odd")}else if(o.kind==="direction"){n=[o.cell];let y=r.get(o.cell);h=y===1||y!==void 0&&yu.id===e[y-1]),g=c.cells.find(u=>u.id===e[y]);l.category===g.category&&(h=!0,n.push(l.id,g.id))}else if(o.kind==="wall"||o.kind==="door")for(let y=1;yy)&&(h=!0,n=o.edge)}}h&&d.push({key:o.key,cells:n,message:o.kind==="relation"?"\u76F8\u5BF9\u6B65\u5DEE\u4E0D\u7B26":o.kind==="order"?"\u6807\u8BB0\u6B21\u5E8F\u4E0D\u7B26":o.kind==="window"?"\u5230\u8FBE\u7A97\u53E3\u4E0D\u7B26":o.kind==="parity"?"\u8BE5\u683C\u6B65\u53F7\u5947\u5076\u4E0D\u7B26":o.kind==="direction"?"\u8FDB\u51FA\u65B9\u5411\u4E0D\u7B26":o.kind==="wall"?"\u6C38\u4E45\u5899\u4E0D\u80FD\u7A7F\u8FC7":o.kind==="door"?"\u8FD9\u4E00\u6B65\u95E8\u662F\u5173\u95ED\u7684":o.kind==="gate"?"\u5F00\u5173\u5C1A\u672A\u6253\u5F00\u6B64\u95E8":"\u84DD\u6A59\u989C\u8272\u5FC5\u987B\u4EA4\u66FF"})}return d}function Ne(c,e,i){let t=Qc(c);if(e.includes(i)||!t.ids.has(i))return!1;if(!e.length)return!t.clues.has(1)||t.cells[t.clues.get(1)].id===i;let a=e.at(-1);if($1(c,e,a,i)||!t.adj[t.ids.get(a)].includes(t.ids.get(i))||(c.features||[]).includes("alternation")&&t.cells[t.ids.get(a)].category===t.cells[t.ids.get(i)].category)return!1;for(let r of c.gates||[])if(r.edge.includes(a)&&r.edge.includes(i)&&!e.includes(r.switchCell))return!1;return!0}function X1(c,{limit:e=2,omit:i=null,ignoreClues:t=!1,prune:a=!0,nodeLimit:r=1/0}={}){let d=Qc(c),o=d.cells.length,h=[],n=[],y=new Set,l=0,g=V1(c).filter(m=>m.key!==i),u=g.some(m=>m.kind==="alternation"),p=d.adj.map((m,s)=>m.filter(q=>(!u||d.cells[s].category!==d.cells[q].category)&&!g.some(T=>T.kind==="wall"&&T.edge.includes(d.cells[s].id)&&T.edge.includes(d.cells[q].id)))),x=t?new Map:d.clues;function w(m){let s=new Set([m]),q=[m];for(let T=0;Tr)throw Error("\u6C42\u89E3\u8282\u70B9\u9884\u7B97\u8017\u5C3D\uFF0C\u4E0D\u80FD\u89C6\u4E3A\u552F\u4E00");y.add(m),n.push(d.cells[m].id);let s=n.length;if(!uc(c,n,{omit:i,ignoreClues:t}).length){if(s===o)h.push([...n]);else if(!a||w(m)){let q=x.get(s+1),T=p[m].filter(M=>!y.has(M)&&(q===void 0||M===q));T.sort((M,k)=>p[M].filter(B=>!y.has(B)).length-p[k].filter(B=>!y.has(B)).length);for(let M of T){if(!t&&d.cells[M].clue!==void 0&&d.cells[M].clue!==s+1)continue;let k=$1(c,n,d.cells[m].id,d.cells[M].id,{omit:i});for(let B of g)B.kind==="gate"&&B.edge.includes(d.cells[m].id)&&B.edge.includes(d.cells[M].id)&&!n.includes(B.switchCell)&&(k=!0);if(k||b(M),h.length>=e)break}}}n.pop(),y.delete(m)}let S=x.has(1)?[x.get(1)]:d.cells.map((m,s)=>s);for(let m of S)if(!(!t&&d.cells[m].clue!==void 0&&d.cells[m].clue!==1)&&(b(m),h.length>=e))break;return h}var We=c=>c.map(e=>Math.round(e*1e4)).join(","),Zc=(c,e,i)=>(e[0]-c[0])*(i[1]-e[1])-(e[1]-c[1])*(i[0]-e[0]),_=(c,e)=>Math.hypot(c[0]-e[0],c[1]-e[1]),l1=(c,e)=>[(c[0]+e[0])/2,(c[1]+e[1])/2];function Sr(c){let e=new Set(c.map(r=>r.join(","))),i=[];for(let[r,d]of c)for(let[o,h,n,y]of[[0,-1,[r,d],[r+1,d]],[1,0,[r+1,d],[r+1,d+1]],[0,1,[r+1,d+1],[r,d+1]],[-1,0,[r,d+1],[r,d]]])e.has([r+o,d+h].join(","))||i.push({a:n,b:y,used:!1});let t=new Map;for(let r of i){let d=We(r.a);t.has(d)||t.set(d,[]),t.get(d).push(r)}let a=[];for(let r of i){if(r.used)continue;let d=[],o=r;do{if(o.used=!0,d.push(o.a),We(o.b)===We(r.a))break;let h=(t.get(We(o.b))||[]).filter(n=>!n.used);if(h.sort((n,y)=>Zc(o.a,o.b,y.b)-Zc(o.a,o.b,n.b)),o=h[0],!o)throw Error("Open block boundary");if(d.length>i.length)throw Error("Invalid block boundary")}while(!0);a.push(d.filter((h,n)=>Math.abs(Zc(d[(n+d.length-1)%d.length],h,d[(n+1)%d.length]))>1e-8))}return a}function Q1(c,e){let i=!1;for(let t=0,a=e.length-1;tc[1]!=h>c[1]&&c[0]<(o-r)*(c[1]-d)/(h-d)+r&&(i=!i)}return i}function Mr(c,e){return c.map((i,t)=>{let a=c[(t+c.length-1)%c.length],r=c[(t+1)%c.length],d=_(a,i),o=_(i,r),h=[-(i[1]-a[1])/d,(i[0]-a[0])/d],n=[-(r[1]-i[1])/o,(r[0]-i[0])/o],y=1+h[0]*n[0]+h[1]*n[1];return[i[0]+e*(h[0]+n[0])/y,i[1]+e*(h[1]+n[1])/y]})}function gc(c,e,i,t=0){c.beginPath();for(let a of e){for(let r=0;r0?i:i/3,_(d,o)*.35,_(o,h)*.35),y=u=>{let p=_(u,o);return[o[0]+(u[0]-o[0])*n/p,o[1]+(u[1]-o[1])*n/p+t]},l=y(d),g=y(h);r===0?c.moveTo(...l):c.lineTo(...l),c.quadraticCurveTo(o[0],o[1]+t,...g)}c.closePath()}}function Tr(c,e){let i=[];for(let a of c.parts)for(let r of e.parts)for(let d=0;d.01||Math.abs(Zc(d,o,n))>.01)){if(_(o,h)<.01){i[a]=[d,n],i.splice(r,1),t=!0;break c}if(_(n,d)<.01){i[a]=[h,o],i.splice(r,1),t=!0;break c}}}}return i.sort((a,r)=>_(...r)-_(...a)||a[0][0]-r[0][0]||a[0][1]-r[0][1])}function n1(c,e,i){let t=c.geometry==="hex",a=[],r=[];for(let k of c.cells){let B,D,N,C;t?(D=[1.5*k.r,Math.sqrt(3)*(k.q+k.r/2)],N=[Array.from({length:6},(P,j)=>[D[0]+Math.cos(j*Math.PI/3),D[1]+Math.sin(j*Math.PI/3)])],B=N):(C=_c(k),B=C.map(([P,j])=>[[P,j],[P+1,j],[P+1,j+1],[P,j+1]]),N=Sr(C),D=[C.reduce((P,j)=>P+j[0]+.5,0)/C.length,C.reduce((P,j)=>P+j[1]+.5,0)/C.length],k.shape&&(D=C.map(([P,j])=>[P+.5,j+.5]).sort((P,j)=>_(P,D)-_(j,D)||P[1]-j[1]||P[0]-j[0])[0])),a.push({cell:k,parts:B,rings:N,center:D,occupied:C}),r.push(...B.flat())}let d=Math.min(...r.map(k=>k[0])),o=Math.max(...r.map(k=>k[0])),h=Math.min(...r.map(k=>k[1])),n=Math.max(...r.map(k=>k[1])),y=!t&&o-d>=7||(c.features||[]).length>=3,l=H.referenceMatch.stageMargin,g=y?8:16,u=H.referenceMatch.pitchMax*Math.min(1,e/375),p=Math.min(u/(t?Math.sqrt(3):1),(e-2*(l+g))/(o-d),(i-2*(g+8))/(n-h)),x=(e-(o-d)*p)/2-d*p,w=(i-(n-h)*p)/2-h*p-2,b=([k,B])=>[x+k*p,w+B*p],S=p*(t?Math.sqrt(3):1),m=S*H.layout.tileInsetRatio,s=t?S*H.radius.hexMaxRatio:Y(H.radius.cellMin,S*H.radius.cellRatio,H.radius.cellMax),q=a.map(k=>{let D=!t&&!k.cell.direction&&k.occupied.length>1?[...k.occupied].sort((C,P)=>C[1]-P[1]||C[0]-P[0])[0]:null,N=b(D?[D[0]+.5,D[1]+.5]:k.center);return{...k,parts:k.parts.map(C=>C.map(b)),rings:k.rings.map(C=>Mr(C.map(b),m)),center:b(k.center),labelAnchor:N,radius:s}}),T=new Map(q.map(k=>[k.cell.id,k])),M=new Map;for(let k=0;k[k.cell.id,k.center])),polygons:q.flatMap(k=>k.parts.map(B=>({id:k.cell.id,p:B}))),transform:b}}function He(c,e,i){return c.edges.get([e,i].sort().join("|"))}function y1(c,e,i,t){if(!c.cell.shape)return[e,i];let a=c.occupied.map(([l,g])=>t.transform([l+.5,g+.5])),r=l=>a.reduce((g,u,p)=>_(u,l)<_(a[g],l)?p:g,0),d=r(e),o=r(i),h=[d],n=new Map([[d,null]]);for(let l=0;lMath.max(e,Math.min(i,c)),ei=c=>[1,3,5].map(e=>parseInt(c.slice(e,e+2),16));function ii(c,e,i,t,a){for(c.set(e,{value:i,bytes:t}),a==="field"?h1+=t:s1+=t;(a==="field"?h1:s1)>(a==="field"?Ir:Dr)&&c.size>1;){let r=c.keys().next().value,d=c.get(r);c.delete(r),a==="field"?h1-=d.bytes:s1-=d.bytes}return i}function ri(c,e){let i=c.get(e);return i?(c.delete(e),c.set(e,i),i.value):null}function Rr(c,e){return c.map(i=>{let t=[];for(let a=0;a0?e:e/3,h*.35,n*.35),g=[d[0]+(r[0]-d[0])*l/h,d[1]+(r[1]-d[1])*l/h],u=[d[0]+(o[0]-d[0])*l/n,d[1]+(o[1]-d[1])*l/n];for(let p=0;p<=6;p++){let x=p/6,w=1-x;t.push([w*w*g[0]+2*w*x*d[0]+x*x*u[0],w*w*g[1]+2*w*x*d[1]+x*x*u[1]])}}return t})}function Cr(c,e,i,t,a,r,d){let o=ri(Z1,d);if(o)return o;let h=Math.ceil(i*a)+2,n=Math.ceil(t*a)+2,y=new Float32Array(h*n*3),l=c.length===1&&c[0].length===4&&c[0].every((u,p)=>{let x=c[0][(p+1)%4];return Math.abs(u[0]-x[0])<.001||Math.abs(u[1]-x[1])<.001}),g=l?[]:Rr(c,e).flatMap(u=>u.map((p,x)=>{let w=u[(x+1)%u.length],b=w[0]-p[0],S=w[1]-p[1];return{a:p,b:w,dx:b,dy:S,len:b*b+S*S}}));for(let u=0;u0&&C>0?(S=-Math.sign(B)*P/ec,m=-Math.sign(D)*j/ec):N>C?(S=-Math.sign(B),m=0):(S=0,m=-Math.sign(D))}else{let B=1/0,D=0,N=0,C=!1;for(let j of g){j.a[1]>w!=j.b[1]>w&&xB[0])),b=Math.min(...x.map(B=>B[1])),S=Math.max(...x.map(B=>B[0]))-w,m=Math.max(...x.map(B=>B[1]))-b,s=e.map(B=>B.map(([D,N])=>[D-w,N-b])),q=JSON.stringify([s.map(B=>B.map(D=>D.map(N=>Math.round(N*100)/100))),Math.round(i*100),h,d]),T=q+"|"+[t,a,r,o,n,y,l,g,u,p].join("|"),M=ri(ci,T);if(!M){if(typeof wx=="undefined"||!wx.createCanvas)return!1;let B=wx.createCanvas(),D=B.getContext("2d"),N=(k=D.createImageData)==null?void 0:k.call(D,1,1);if(!(N!=null&&N.data))return!1;let C=h,P=Math.ceil(Math.max(o,n)*2+Math.max(r,g)+2);B.width=Math.ceil((S+P*2)*C),B.height=Math.ceil((m+P*2+r)*C),D.setTransform(C,0,0,C,P*C,P*C);let j=Cr(s,i,S,m,C,d,q),ec=D.createImageData(j.iw,j.ih),lc=ei(t),xe=u?ei(u):[0,0,0];for(let sc=0,Dc=0;sc>>8)%17-8)*.055;for(let Lc=0;Lc<3;Lc++)ec.data[Dc+Lc]=ce((lc[Lc]+(xe[Lc]-lc[Lc])*br+(255-lc[Lc])*qr+vr)/255)*255;ec.data[Dc+3]=Y1*255}let L=wx.createCanvas();L.width=j.iw,L.height=j.ih,L.getContext("2d").putImageData(ec,0,0);let ic=()=>D.drawImage(L,-1/C,-1/C,j.iw/C,j.ih/C);n>0&&(D.shadowColor=y,D.shadowBlur=n*C,D.shadowOffsetY=0,ic()),D.shadowColor=l,D.shadowBlur=o*C,D.shadowOffsetY=g*C,ic(),D.shadowBlur=0,D.shadowOffsetY=0,D.shadowColor="rgba(0,0,0,0)",r>0&&(gc(D,s,i,r),D.fillStyle=a,D.fill()),D.drawImage(L,-1/C,-1/C,j.iw/C,j.ih/C),M={canvas:B,pad:P,res:C},ii(ci,T,M,B.width*B.height*4,"texture")}return c.drawImage(M.canvas,w-M.pad,b-M.pad,M.canvas.width/M.res,M.canvas.height/M.res),!0}function ti(c,e,i,t,a,r,d){return g1(c,[[[e,i],[e+t,i],[e+t,i+a],[e,i+a]]],r,d)}var H=Pe,f={...Pe.color,...Pe.referenceMatch.color},ai='"Microsoft YaHei", sans-serif',Le={};function pe(c){var e;try{let i=typeof wx!="undefined"&&((e=wx.loadFont)==null?void 0:e.call(wx,"fonts/"+c+".ttf"));return Le[c]=i?"loaded":"fallback",i?'"'+i.replace(/"/g,"")+'", '+ai:null}catch{return Le[c]="fallback",null}}var _e={500:pe("NumberSwipeSans500"),600:pe("NumberSwipeSans600"),700:pe("NumberSwipeSans700")},w1=_e[600]||ai,jr=pe("NumberSwipeDigits800")||w1,Fr=pe("NumberSwipePlayful")||_e[700]||w1,Y=(c,e,i)=>Math.max(c,Math.min(e,i)),ee=new Map;function x1(c,e,i){let t=c.font+"|"+e;if(ee.has(t))return ee.get(t);let a=c.measureText(e);if(!Number.isFinite(a.actualBoundingBoxAscent)||!Number.isFinite(a.actualBoundingBoxLeft))try{if(typeof wx!="undefined"&&wx.createCanvas){let r=wx.createCanvas(),d=2,o=Math.ceil(i),h=o+i;r.width=Math.ceil((a.width+2*o)*d),r.height=Math.ceil(i*3*d);let n=r.getContext("2d");n.setTransform(d,0,0,d,0,0),n.font=c.font,n.textAlign="left",n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText(e,o,h);let y=n.getImageData(0,0,r.width,r.height);if(y!=null&&y.data){let l=r.width,g=-1,u=r.height,p=-1;for(let x=0;x8&&(l=Math.min(l,w),g=Math.max(g,w),u=Math.min(u,x),p=Math.max(p,x));g>=l&&(a={width:a.width,actualBoundingBoxLeft:o-l/d,actualBoundingBoxRight:(g+1)/d-o,actualBoundingBoxAscent:h-u/d,actualBoundingBoxDescent:(p+1)/d-h})}}}catch{}return ee.set(t,a),ee.size>512&&ee.delete(ee.keys().next().value),a}function qc(c,e,i,t,a,r){r=Math.max(0,Math.min(r,t/2,a/2)),c.beginPath(),c.moveTo(e+r,i),c.lineTo(e+t-r,i),c.quadraticCurveTo(e+t,i,e+t,i+r),c.lineTo(e+t,i+a-r),c.quadraticCurveTo(e+t,i+a,e+t-r,i+a),c.lineTo(e+r,i+a),c.quadraticCurveTo(e,i+a,e,i+a-r),c.lineTo(e,i+r),c.quadraticCurveTo(e,i,e+r,i),c.closePath()}function Oc(c,e=16,i=600,t=!1){let a=t?jr:_e[i>=700?700:i<=500?500:600]||w1;c.font=`${t||_e[i>=700?700:i<=500?500:600]?"normal":i} ${e}px ${a}`}function rc(c,e,i,t,a=16,r=f.ink,d=600,o=!1){Oc(c,a,d,o),oi(c,e,i,t,r)}function oi(c,e,i,t,a){var o;c.fillStyle=a,c.textAlign="left",c.textBaseline="alphabetic";let r=String(e),d=x1(c,r,Number((o=/([\d.]+)px/.exec(c.font))==null?void 0:o[1])||16);Number.isFinite(d.actualBoundingBoxAscent)&&Number.isFinite(d.actualBoundingBoxDescent)&&Number.isFinite(d.actualBoundingBoxLeft)&&Number.isFinite(d.actualBoundingBoxRight)?c.fillText(r,i+(d.actualBoundingBoxLeft-d.actualBoundingBoxRight)/2,t+(d.actualBoundingBoxAscent-d.actualBoundingBoxDescent)/2):(c.textAlign="center",c.textBaseline="middle",c.fillText(r,i,t))}function di(c,e,i,t,a,r=f.ink){c.font=`normal ${a}px ${Fr}`,oi(c,e,i,t,r)}function oc(c,e,i,t,a,r=24,d=f.surface,o=3){let h=d===f.primary||d===f.primaryPressed,n=d===f.stage;ti(c,e,i,t,a,r,{face:d,depthColor:h?f.primaryDepth:d===f.coral?"#DF6634":f.cellDepth,depth:n?0:o,bevel:Math.min(8,a*.15),shadow:n?12:Math.min(7,a*.1),shadowY:n?4:2,shadowColor:n?"rgba(116,77,28,.20)":"rgba(116,77,28,.18)",shadeColor:h?"#4F4AEC":n?"#B79B6C":d===f.coral?"#D54C24":"#89602A",shadeStrength:n?.35:1})||(c.save(),n||(qc(c,e,i+o,t,a,r),c.fillStyle=f.cellDepth,c.fill()),qc(c,e,i,t,a,r),c.fillStyle=d,c.fill(),c.restore())}var li=new WeakMap;function Ke(c,e,i){var u;let t=JSON.stringify([e,i]),a=li.get(c.guides)||new Map;if(a.has(t))return a.get(t);let r=(p,x)=>i.some((w,b)=>b>0&&(i[b-1]===p&&w===x||i[b-1]===x&&w===p)),d=c.guides.filter(p=>!r(p.a,p.b)),o=e*H.hintSoftRibbon.body.cornerRadiusRatio,h=u1(d,o);if((u=c.routeShapes)!=null&&u.length){let p=x=>c.routeShapes.some(w=>w.parts.some(b=>Q1(x,b)))||d.some(w=>w.points.slice(1).some((b,S)=>Er(x,w.points[S],b)<=e*.02));for(let x=0;x<8&&h.some(w=>w.some(b=>!p(b)));x++)o=x===7?0:o*.5,h=u1(d,o)}let n=Y(H.hintSoftRibbon.body.widthMin,e*H.hintSoftRibbon.body.widthRatio,H.hintSoftRibbon.body.widthMax),y=0,l=h.flatMap(p=>p.slice(1).map((x,w)=>({a:p[w],b:x,length:_(p[w],x)}))).filter(p=>p.length>.01).map(p=>({...p,start:y,end:y+=p.length})),g={guides:d,runs:h,width:n,segments:l,total:y};return a.set(t,g),a.size>4&&a.delete(a.keys().next().value),li.set(c.guides,a),g}function fe(c,e){let{segments:i}=c;if(!i.length)return null;let t=0,a=i.length-1;for(;t>1;i[o].end{let r=a.filter((o,h)=>!h||_(o,a[h-1])>.01);if(r.length<3)return r;let d=[r[0]];for(let o=1;o{let t=c.createLinearGradient(0,0,0,i);if(!(t!=null&&t.addColorStop))return e[1][1];for(let[a,r]of e)t.addColorStop(a,r);return t};function Ge(c,e,i,t){c.strokeStyle=i,c.lineWidth=t,c.lineCap="round",c.lineJoin="round";for(let a of e)if(!(a.length<2)){c.beginPath(),c.moveTo(...a[0]);for(let r of a.slice(1))c.lineTo(...r);c.stroke()}}function ni(c,e,i){let t=Kc.body,a=e.width;c.save(),c.shadowColor=t.shadowColor,c.shadowBlur=t.shadowBlur,c.shadowOffsetY=t.shadowY,Ge(c,e.runs,t.edgeOuter,a+t.edgeOuterExtra),c.shadowBlur=0,c.shadowOffsetY=0,Ge(c,e.runs,t.edgeInner,a+t.edgeInnerExtra),Ge(c,e.runs,Or(c,t.gradient,i),a),c.translate(...t.crownOffset),Ge(c,e.runs,t.crownColor,a*t.crownWidthRatio),c.restore()}function Ar(c,e){if(!c.total)return null;let i=Kc.highlight,t=Math.max(i.minCycleMs,c.total/i.speed*1e3),a=(e%t+t)%t/t*c.total,r=fe(c,a),d=fe(c,Math.max(r.segment.start,a-3)),o=fe(c,Math.min(r.segment.end,a+3));return{...r,at:a,cycle:t,angle:Math.atan2(o.y-d.y,o.x-d.x)}}function Pr(c,e,i){let t=Ar(e,i);if(!t)return;let a=Kc.highlight,r=e.width*a.radiusRatioToWidth;if(c.save(),c.globalCompositeOperation="source-atop",c.globalCompositeOperation!=="source-atop"){c.restore();return}c.translate(t.x,t.y),c.rotate(t.angle),c.scale(a.stretchAlongPath,1);let d=c.createRadialGradient(0,-1,0,0,0,r);if(d!=null&&d.addColorStop){for(let[o,h]of a.gradient)d.addColorStop(o,h);c.fillStyle=d,c.fillRect(-r,-r,2*r,2*r)}c.restore()}function yi(c,e,i,t){var r,d;c.save(),c.globalCompositeOperation="destination-out";let a=Kc.endpointFade;for(let o of[(r=i.runs[0])==null?void 0:r[0],(d=i.runs.at(-1))==null?void 0:d.at(-1)]){if(!o)continue;let[h,n]=o,y=t*a.radiusRatio,l=c.createRadialGradient(h,n,0,h,n,y);l!=null&&l.addColorStop&&(l.addColorStop(0,"#000"),l.addColorStop(a.opaqueEraseUntil,"#000"),l.addColorStop(1,"rgba(0,0,0,0)"),c.fillStyle=l,c.fillRect(h-y,n-y,2*y,2*y))}for(let o of e.keepouts||[]){let h=Kc.keepoutFeather;c.fillStyle="#000",c.fillRect(o.x,o.y,o.w,o.h);for(let n=1;n<=h;n++)c.strokeStyle="rgba(0,0,0,"+.32*(1-n/(h+1))+")",c.lineWidth=1,c.strokeRect(o.x-n,o.y-n,o.w+2*n,o.h+2*n)}c.fillStyle="#000",c.strokeStyle="#000";for(let o of e.visitedShapes||[])for(let h of[0,o.depth||0])gc(c,o.rings,o.radius,h),c.fill(),c.lineWidth=(o.maskPad||2)*2,c.stroke();for(let o of e.visitedPolygons||[])gc(c,[o],0),c.fill();c.restore()}var f1=class{constructor(e=()=>{var i;return typeof wx!="undefined"?(i=wx.createCanvas)==null?void 0:i.call(wx):null}){this.createCanvas=e}reset(){this.key=null,this.motion=null,this.base=null,this.frame=null}draw(e,i,t,a,r=[]){var g,u;let d=Ke(i,t,r),o=i.boardWidth||Math.max(1,...d.runs.flat().map(p=>p[0]))+t,h=i.boardHeight||Math.max(1,...d.runs.flat().map(p=>p[1]))+t,n=i.dpr||1,y=JSON.stringify([i.route,i.guides,r,i.keepouts,i.visitedShapes,o,h,n,i.reducedMotion]);if(this.key!==y){this.key=y,this.motion=d;try{(g=this.base)!=null||(this.base=this.createCanvas()),(u=this.frame)!=null||(this.frame=this.createCanvas())}catch{this.base=this.frame=null}if(me.builds++,this.base&&this.frame){for(let x of[this.base,this.frame])x.width=Math.ceil(o*n),x.height=Math.ceil(h*n);let p=this.base.getContext("2d");p.setTransform(n,0,0,n,0,0),p.clearRect(0,0,o,h),ni(p,d,h)}}if(me.frames++,!this.base||!this.frame){me.staticFallbacks++,e.save(),ni(e,d,h),yi(e,i,d,t),e.restore();return}let l=this.frame.getContext("2d");l.setTransform(n,0,0,n,0,0),l.clearRect(0,0,o,h),l.drawImage(this.base,0,0,o,h),i.reducedMotion||Pr(l,Ke(i,t,[]),a),yi(l,i,d,t),e.drawImage(this.frame,0,0,o,h)}};function hi(c,e,i,t,a=[]){let r=p1.get(c);r||(r=new f1,p1.set(c,r)),r.draw(c,e,i,t,a)}function Je(c){var e;(e=p1.get(c))==null||e.reset()}function m1(c,e=!1){let i=Kc.target;return e?1:i.breathMin+(i.breathMax-i.breathMin)*(.5-.5*Math.cos(c/i.breathCycleMs*Math.PI*2))}function q1(c,e,i,t,a=!1){let r=e.byId.get(i);if(!r||e.steps.has(i))return;let d=Kc.target,[o,h]=r.center;c.save(),c.globalAlpha=m1(t,a),gc(c,r.rings,r.radius),c.shadowColor=d.shadowColor,c.shadowBlur=d.blur,c.fillStyle=d.faceColor,c.fill(),c.shadowBlur=0,gc(c,r.rings,r.radius),c.clip();let n=c.createRadialGradient(o-8,h-12,0,o,h,e.pitch*d.tintRadiusRatio);n!=null&&n.addColorStop&&(n.addColorStop(0,d.tintCenterColor),n.addColorStop(1,"rgba(255,235,175,0)"),c.fillStyle=n,c.fillRect(o-e.pitch,h-e.pitch,e.pitch*2,e.pitch*2)),c.restore()}var W={completeGain:.85,moveMs:90,moveMaxScale:1.1,bridgeMs:70,undoMs:90,checkpointMs:90,checkpointMaxScale:1.3,ribbonMs:1500,maxRibbons:2,hapticGapMs:61,completeHapticDelayMs:90,audioGapMs:50,completeWaitMs:120,errorGapMs:180},b1={move:1,undo:0,error:0,checkpoint:2,complete:3};var si="number-swipe:haptics:v1",Ye=class{constructor(e,i,{now:t=()=>Date.now(),later:a=setTimeout,cancel:r=clearTimeout,preview:d=!1}={}){Object.assign(this,{api:e,storage:i,now:t,later:a,cancel:r,preview:d}),this.enabled=!0,this.last=-1/0,this.generation=0,this.timers=new Set,this.graded=!0;try{this.enabled=i.getItem(si)!=="off"}catch{}}setEnabled(e){this.enabled=e;try{this.storage.setItem(si,e?"on":"off")}catch{}e||this.stop()}stop(){this.generation++;for(let e of this.timers)this.cancel(e);this.timers.clear()}pulse(e,i=!1){var o;if(!this.enabled||this.preview||typeof((o=this.api)==null?void 0:o.vibrateShort)!="function"||!i&&this.now()-this.last{if(!(t!==this.generation||a!==this.request||this.now()-r>W.hapticGapMs||!this.enabled)){this.graded=!1;try{this.api.vibrateShort({fail(){}})}catch{}}};try{this.api.vibrateShort(this.graded?{type:e,fail:d}:{fail(){}})}catch{this.graded&&d()}}play(e){var i;if(["move","undo","checkpoint","complete"].includes(e)&&(this.pulse(e==="move"||e==="undo"?"light":"medium",e!=="move"&&e!=="undo"),e==="complete"&&this.enabled&&this.graded&&!this.preview&&typeof((i=this.api)==null?void 0:i.vibrateShort)=="function")){let t=this.generation,a=this.later(()=>{this.timers.delete(a),t===this.generation&&this.graded&&this.pulse("light",!0)},W.completeHapticDelayMs);this.timers.add(a)}}};var v1=class{constructor({now:e=()=>Date.now()}={}){this.now=e,this.sequence=0,this.events=[],this.visuals=[],this.depth=0,this.pending=null,this.enhanced=!0,this.epoch=0}attach(e,i,t){this.audio=e,this.enhanced=i.__feedbackMode!=="original",e.variant=this.enhanced?"enhanced":"original",this.haptics=new Ye(i,t,{preview:!!i.__feedbackPreview})}begin(){this.depth||(this.batchErrors=new Map),this.depth++}end(){this.depth>0&&this.depth--,this.depth||this.flush()}emit(e,i,t,a,r={}){var h,n;let d=JSON.stringify([i.id||i,t,a]);if(e==="error"&&this.depth&&((h=this.batchErrors)!=null&&h.has(d)))return this.batchErrors.get(d);let o={sequence:++this.sequence,kind:e,level:i.id||i,cell:t,step:a,time:this.now(),epoch:this.epoch,...r};return e==="error"&&this.depth&&this.batchErrors.set(d,o),this.events.push(o),this.events.length>256&&this.events.shift(),e!=="complete"&&this.completion&&(this.completion=null,(n=this.haptics)==null||n.stop()),e==="complete"&&(this.visuals=[],this.completion={event:o,start:null,locked:!1}),this.visuals.push(o),this.visuals=this.visuals.filter(y=>y.level===o.level&&o.time-y.time=(b1[this.pending.kind]||0))&&(this.pending=o),this.depth||this.flush(),o}flush(){var i,t,a;let e=this.pending;this.pending=null,e&&((i=this.audio)==null||i.play(e.kind==="checkpoint"?"checkpoint":e.kind,0,e.step),this.enhanced&&(e.kind==="error"?(t=this.haptics)==null||t.stop():(a=this.haptics)==null||a.play(e.kind)))}reset(){var e,i;this.epoch++,this.pending=null,this.visuals=[],this.completion=null,(e=this.audio)==null||e.stop(),(i=this.haptics)==null||i.stop()}completionStart(e,i=!0){let t=this.completion;return t?(t.locked||(i&&e!==null&&e!==void 0&&e>=t.event.time&&e<=t.event.time+W.completeWaitMs?(t.start=e,t.locked=!0):(!i||this.now()-t.event.time>=W.completeWaitMs)&&(t.start=t.event.time,t.locked=!0)),t.start):null}active(e,i=this.now()){return this.visuals.filter(t=>t.level===(e.id||e)&&i>=t.time&&i-t.time({...t})),hapticsEnabled:(i=(e=this.haptics)==null?void 0:e.enabled)!=null?i:!0,enhanced:this.enhanced,epoch:this.epoch}}},A=new v1;var gi={channel:"main",version:"2026-10-23-soft-ribbon-a3-bright",date:"2026-10-23",baseVersion:"2026-10-22-resume-chapter-lessons",baseMainSHA256:"bb35d5edf8d96eb3253c78052d219b32f9a4241efd9971537f6c9c8896188125",package:"NumberSwipe-main-A3\u660E\u4EAE\u8F6F\u7CD6\u6307\u8DEF-20261023.zip",promotedFrom:"2026-10-22-layered-feedback-music-flow",previousVersion:"2026-10-23-ios-clear-ui-fix",baseCommit:"6abbc37",includes:["ios-clear-ui-fix","soft-ribbon-a3-bright"]};function wi(c,e,i,t,a=15){let d=Math.ceil(a/3),o=ue(c,i).gap,h=i+ue(c,i).gridOffset,n=e-t-110-h,y=Math.min(76,(n-o*(d-1))/d),l=Math.min(130,(c-48-o*2)/3);return{columns:3,rows:d,gap:o,y:h,w:l,h:y,x:(c-(l*3+o*2))/2}}function xi(c,e,i,t,a,r,{completed:d,current:o}){let h=d?"#D6EAD6":o?f.primary:f.surface;if(oc(c,i,t,a,r-3,Math.min(18,r*.28),h,3),o&&(c.save(),c.strokeStyle=d?f.primary:"#FFFFFF",c.lineWidth=2,qc(c,i+4,t+4,a-8,r-11,Math.min(14,r*.22)),c.stroke(),c.restore()),rc(c,e,i+a/2-(d?8:0),t+(r-3)/2,Math.min(24,r*.4),o&&!d?f.onPrimary:d?"#326443":f.ink,700),d){let n=Math.min(24,r*.4),y=i+a/2+String(e).length*n*.28+5,l=t+(r-3)/2;c.save(),c.strokeStyle="#326443",c.lineWidth=2.6,c.lineCap="round",c.lineJoin="round",c.beginPath(),c.moveTo(y-4,l),c.lineTo(y-1,l+3),c.lineTo(y+5,l-4),c.stroke(),c.restore()}}function ui(c,e,i,t,a,r){z1(c,e,i);let d=Oe(e,i),{gap:o,x:h}=d,n=d.w,y=d.w,l=d.y;oc(c,h,l,n,26,13,f.surface,2),rc(c,"\u603B\u8FDB\u5EA6 "+t,h+n/2,l+13,12,f.ink,700),oc(c,h+n+o,l,y,26,13,f.coral,2),rc(c,"\u7B2C "+a+"\u2013"+r+" \u5173",h+n+o+y/2,l+13,12,f.onPrimary,700)}var qe=2600;function Wr(c){return Math.max(0,Math.min(1,c/qe))}function B1(c,e,i,t,a){let r=Wr(a);if(r>=1)return;let d=Math.min(1,a/80,(qe-a)/350),o=e/2,h=i+t*.45;c.save(),c.globalAlpha=d,c.translate(o,h);let n=.94+.06*(1-(1-Math.min(1,r/.25))**3);c.scale(n,n);let y=[f.coral,f.primary,"#F3C346","#B3DDAA","#FFF8E3"],l=[[0,-12,0],[e*.2,-t*.13,220],[-e*.2,-t*.09,430]];for(let g=0;g=1)continue;let b=1-(1-w)**3;c.globalAlpha=d*Math.min(1,w/.07,(1-w)/.3);for(let S=0;S<20;S++){let m=S/20*Math.PI*2+g*.45,s=e*(.19+S%4*.035)*b,q=u+Math.cos(m)*s,T=p+Math.sin(m)*s+t*.24*w*w,M=8+S%4*3,k=Math.sin(S*1.7+w*9)*5;c.strokeStyle=y[(S+g)%y.length],c.lineWidth=3.5+S%3,c.beginPath(),c.moveTo(q-Math.cos(m)*M,T-Math.sin(m)*M),c.quadraticCurveTo(q+k,T-k,q,T),c.stroke()}}c.globalAlpha=d,oc(c,-74,-40,148,80,25,f.surface,2),c.beginPath(),c.moveTo(-37,-2),c.lineTo(-30,5),c.lineTo(-17,-10),c.strokeStyle=f.success,c.lineWidth=5,c.lineCap="round",c.lineJoin="round",c.stroke(),rc(c,"\u5B8C\u6210\uFF01",25,0,24,f.ink,700),c.restore()}var pi=new Set,Bc={backend:"InnerAudioContext",lastError:null,plays:0,mergedMoves:0,completeRequestedAt:null,completeStartedAt:null};function k1(){for(let c of pi)c.stop()}var Ue=class{constructor(e,i,t){Object.assign(this,{storage:i,key:t,channels:[],cursor:0,timers:new Set,lastEvent:null,lastAt:{},lastMove:-1/0,serial:0,variant:"enhanced"});try{this.enabled=i.getItem(t)!=="off"}catch{this.enabled=!0}pi.add(this)}unlock(){var e,i;if(!this.enabled||!wx.createInnerAudioContext)return!1;try{if((e=wx.setInnerAudioOption)==null||e.call(wx,{obeyMuteSwitch:!1,mixWithOther:!0}),!this.channels.length)for(let t=0;t<4;t++){let a=wx.createInnerAudioContext();a.obeyMuteSwitch=!1,a.volume=.75,(i=a.onError)==null||i.call(a,r=>{a===this.channels[3]&&this.finishComplete(),this.error(r)}),this.channels.push(a)}return!0}catch(t){return this.error(t),!1}}error(e){Bc.lastError={errCode:(e==null?void 0:e.errCode)||0,errMsg:(e==null?void 0:e.errMsg)||String(e)}}finishComplete(){let e=this.completeFinish;this.completeFinish=null,e==null||e()}stop(){this.finishComplete(),this.serial++;for(let e of this.timers)clearTimeout(e);this.timers.clear(),this.moveTimer=null,this.pendingMove=null,this.pendingKind=null,this.lastMove=-1/0,this.highestUntil=0;for(let e of this.channels)try{e.stop()}catch{}}toggle(){this.enabled=!this.enabled;try{this.storage.setItem(this.key,this.enabled?"on":"off")}catch{}return this.enabled?this.play("correct"):this.stop(),this.enabled}play(e,i=0,t=1){var r;if(!this.unlock())return;let a=Date.now();if(!(e==="error"&&a-((r=this.lastAt.error)!=null?r:-1/0)0){let d=this.serial,o=setTimeout(()=>{this.timers.delete(o),d===this.serial&&this.play(e,0,t)},i*1e3);this.timers.add(o);return}if((e==="complete"||e==="restart")&&this.stop(),!(e!=="complete"&&e!=="ui"&&a<(this.highestUntil||0))){if(!["move","undo"].includes(e)&&this.moveTimer&&(clearTimeout(this.moveTimer),this.timers.delete(this.moveTimer),this.moveTimer=null,this.pendingMove=null),["move","undo"].includes(e)&&this.variant!=="original"&&a-this.lastMove{this.timers.delete(o),this.moveTimer=null;let h=this.pendingMove;this.pendingMove=null,d===this.serial&&h!==null&&h!==void 0&&this.run(this.pendingKind||"move",h)},W.audioGapMs-(a-this.lastMove));this.moveTimer=o,this.timers.add(o)}return}this.moveTimer&&(clearTimeout(this.moveTimer),this.timers.delete(this.moveTimer),this.moveTimer=null,this.pendingMove=null),this.run(e,t)}}}run(e,i){var o,h,n,y,l;if(!this.enabled)return;let t=Date.now();(e==="move"||e==="undo")&&(this.lastMove=t);let a=this.channels[e==="move"||e==="undo"&&this.variant!=="original"?this.cursor++%3:3],r=this.serial,d=e==="undo"&&this.variant!=="original"?"move-"+Math.max(1,Math.min(36,Math.floor(i)+1)):e==="move"||e==="checkpoint"&&this.variant!=="original"?e+"-"+Math.max(1,Math.min(36,Math.floor(i))):e;try{a===this.channels[3]&&this.finishComplete(),a.stop(),a._feedbackEnded&&((o=a.offEnded)==null||o.call(a,a._feedbackEnded)),a._feedbackPlay&&((h=a.offPlay)==null||h.call(a,a._feedbackPlay)),a.volume=.75*(e==="complete"?W.completeGain:1),a.src=(this.variant==="original"&&!["ui","hint"].includes(e)?"audio-original/":"audio/")+d+".wav",e==="complete"&&(this.highestUntil=t+W.completeWaitMs,Bc.completeRequestedAt=t,Bc.completeStartedAt=typeof a.onPlay=="function"?null:t);let g=()=>{r===this.serial&&e==="complete"&&(Bc.completeStartedAt=Date.now())};if(a._feedbackPlay=g,(n=a.onPlay)==null||n.call(a,g),e==="complete"){this.completeFinish=()=>{var x;return(x=this.afterComplete)==null?void 0:x.call(this)};let u=()=>{r===this.serial&&this.completeFinish===p&&this.finishComplete()},p=this.completeFinish;a._feedbackEnded=u,(y=a.onEnded)==null||y.call(a,u),(l=this.beforeComplete)==null||l.call(this)}a.play(),this.lastEvent=e,Bc.plays++}catch(g){this.finishComplete(),this.error(g)}}};var Ac={mode:"campaign-200-r2",version:"scored-2026-10-15-r2",title:"\u6570\u5B57\u4E00\u7B14 \xB7 200\u5173\u8BC4\u5206\u4FEE\u8BA2\u7248",chapters:[{id:1,title:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:2,title:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:3,title:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:4,title:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528"},{id:5,title:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:6,title:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:7,title:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:8,title:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:9,title:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:10,title:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406"},{id:11,title:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:12,title:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:13,title:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:14,title:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212"},{id:15,title:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:16,title:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:17,title:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:18,title:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:19,title:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"},{id:20,title:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218"}],levels:[{geometry:"square",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:2,y:0,w:1,h:1}],features:[],mode:"campaign-200-r2",tutorial:"basic",caption:"\u4ECE1\u5F00\u59CB\uFF0C\u6BCF\u683C\u4E00\u6B21\uFF0C\u5171\u8FB9\u624D\u80FD\u8D70\u3002",previousId:null,id:"r2-001",order:1,chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:20,objectiveScore:0,title:"\u5F15\u5BFC \xB7 \u7B2C\u4E00\u7B14"},{id:"r2-002",contentRevision:2,order:2,mode:"campaign-200-r2",geometry:"blocks",features:["big"],title:"\u67A2\u7EBD\u7559\u540E",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:5},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:2,h:2},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1}],previousId:"campaign200-014",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:18},{id:"r2-003",contentRevision:2,order:3,mode:"campaign-200-r2",geometry:"square",features:[],title:"\u5148\u6536\u77ED\u652F\u8DEF",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1,clue:6},{id:"c7",x:1,y:2,w:1,h:1}],previousId:"campaign200-002",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:18},{id:"r2-004",contentRevision:2,order:4,mode:"campaign-200-r2",geometry:"blocks",features:["big"],title:"\u5927\u5757\u4E00\u6B65",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1,clue:1},{id:"c4",x:1,y:1,w:2,h:2},{id:"c5",x:0,y:2,w:1,h:1},{id:"c6",x:0,y:3,w:1,h:1},{id:"c7",x:1,y:3,w:1,h:1,clue:6}],previousId:"campaign200-004",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:17},{geometry:"square",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:0,y:1,w:1,h:1},{id:"t3",x:1,y:1,w:1,h:1}],features:["walls"],mode:"campaign-200-r2",walls:[["t0","t1"]],tutorial:"walls",caption:"\u9ED1\u9EC4\u5899\u4E0D\u80FD\u7A7F\u8FC7\uFF0C\u8BF7\u4ECE\u53E6\u4E00\u4FA7\u7ED5\u884C\u3002",previousId:null,id:"r2-005",order:5,chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:20,objectiveScore:0,title:"\u5F15\u5BFC \xB7 \u5899\u4E0D\u80FD\u7A7F\u8FC7"},{id:"r2-006",contentRevision:2,order:6,mode:"campaign-200-r2",geometry:"square",features:["walls"],title:"\u8FB9\u4E0A\u7684\u5899",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:8},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1,clue:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1}],walls:[["c3","c6"]],previousId:"campaign200-019",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:16},{id:"r2-007",contentRevision:2,order:7,mode:"campaign-200-r2",geometry:"square",features:["walls"],title:"\u8FD1\u8DEF\u8981\u7ED5",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,clue:6},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1}],walls:[["c7","c10"]],previousId:"campaign200-029",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:16},{id:"r2-008",contentRevision:2,order:8,mode:"campaign-200-r2",geometry:"blocks",features:["big"],title:"\u8BA4\u6E05\u5F02\u5F62\u5171\u8FB9",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:28,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1,clue:7},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,clue:1}],previousId:"campaign200-020",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:29},{mode:"campaign-200-r2",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:10,id:"r2-009",order:9,geometry:"square",features:["direction"],title:"\u5F15\u5BFC \xB7 \u5DE6\u53F3\u76F4\u884C",caption:"\u6A2A\u901A\u9053\u5FC5\u987B\u4ECE\u5DE6\u3001\u53F3\u4E24\u4FA7\u8FDB\u51FA\uFF0C\u4E0D\u80FD\u62D0\u5F2F\u3002",tutorial:"straight",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1,direction:"lr"},{id:"t2",x:2,y:0,w:1,h:1},{id:"t3",x:0,y:1,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1},{id:"t5",x:2,y:1,w:1,h:1}],previousId:"tutorial-straight",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:17},{id:"r2-010",contentRevision:2,order:10,mode:"campaign-200-r2",geometry:"square",features:["walls"],title:"\u7ED5\u8FC7\u53BB\u5C31\u597D",chapter:1,chapterTitle:"\u7B2C1\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:15,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,clue:8},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,clue:1}],walls:[["c1","c4"]],previousId:"campaign200-008",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:12},{mode:"campaign-200-r2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:20,id:"r2-011",order:11,geometry:"square",features:["direction"],title:"\u5F15\u5BFC \xB7 \u4E0A\u4E0B\u76F4\u884C",caption:"\u7AD6\u901A\u9053\u5FC5\u987B\u4ECE\u4E0A\u3001\u4E0B\u4E24\u4FA7\u8FDB\u51FA\u3002",tutorial:"vertical",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:0,y:1,w:1,h:1,direction:"du"},{id:"t2",x:0,y:2,w:1,h:1},{id:"t3",x:1,y:0,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1},{id:"t5",x:1,y:2,w:1,h:1}],previousId:"tutorial-straight",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:17},{id:"r2-012",contentRevision:2,order:12,mode:"campaign-200-r2",geometry:"square",features:["direction"],title:"\u901A\u9053\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,direction:"lr"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,clue:1},{id:"c6",x:0,y:2,w:1,h:1,clue:6},{id:"c7",x:1,y:2,w:1,h:1}],previousId:"campaign200-012",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:12},{mode:"campaign-200-r2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:20,id:"r2-013",order:13,geometry:"square",features:["direction"],title:"\u5F15\u5BFC \xB7 \u6309\u62D0\u89D2\u8FDB\u51FA",caption:"\u62D0\u89D2\u8FDE\u63A5\u54EA\u4E24\u8FB9\uFF0C\u5C31\u4ECE\u54EA\u4E24\u8FB9\u8FDB\u51FA\uFF0C\u53EF\u53CD\u5411\u3002",tutorial:"corner",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:2,y:0,w:1,h:1},{id:"t3",x:0,y:1,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1,direction:"lu"},{id:"t5",x:2,y:1,w:1,h:1}],previousId:"tutorial-corner",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:17},{id:"r2-014",contentRevision:2,order:14,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053\u518D\u63A5\u529B",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:13},{id:"c2",x:2,y:0,w:1,h:1,direction:"lr"},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1,direction:"lu"},{id:"c10",x:2,y:2,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1,clue:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1},{id:"c14",x:2,y:3,w:1,h:1}],walls:[["c10","c11"]],previousId:"campaign200-067",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:20},{id:"r2-015",contentRevision:2,order:15,mode:"campaign-200-r2",geometry:"square",features:["direction"],title:"\u8BA4\u6E05\u62D0\u89D2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,direction:"dl"},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,clue:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1,clue:5},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1}],previousId:"campaign200-025",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:13},{id:"r2-016",contentRevision:2,order:16,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:20,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1,clue:10},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,direction:"ru"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1}],walls:[["c2","c6"]],previousId:"campaign200-097",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:27},{mode:"campaign-200-r2",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,role:"\u5F15\u5BFC",targetDifficulty:32,id:"r2-017",order:17,geometry:"blocks",features:["big","alternation"],title:"\u5F15\u5BFC \xB7 \u84DD\u6A59\u4EA4\u66FF",caption:"\u84DD\u8272\u3001\u6A59\u8272\u4EA4\u66FF\u8D70\uFF0C\u76F8\u90BB\u540C\u8272\u4E5F\u4E0D\u80FD\u8FDE\u7EED\u7ECF\u8FC7\u3002",tutorial:"colour",cells:[{id:"t0",x:0,y:1,w:1,h:1,clue:1,category:"circle"},{id:"t1",x:0,y:0,w:2,h:1,category:"triangle"},{id:"t2",x:1,y:1,w:1,h:1,category:"circle"}],previousId:"tutorial-colour",playerBand:null,estimatedBand:"\u6559\u5B66",objectiveScore:0},{id:"r2-018",contentRevision:2,order:18,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u82B1\u56ED",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:40,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,direction:"dl"},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,clue:12},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1,clue:1}],walls:[["c5","c6"]],previousId:"campaign200-130",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:40},{id:"r2-019",contentRevision:2,order:19,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u53CC\u8272 \xB7 \u5899\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u56DE\u843D",targetDifficulty:22,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle",clue:12},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:2,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:1,w:1,h:2,category:"triangle"},{id:"c8",x:0,y:2,w:1,h:1,category:"circle"},{id:"c9",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c10",x:2,y:2,w:1,h:1,category:"circle"},{id:"c11",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:1,y:3,w:1,h:1,category:"circle"},{id:"c13",x:2,y:3,w:1,h:1,category:"triangle"},{id:"c14",x:3,y:3,w:1,h:1,clue:1,category:"circle"}],walls:[["c6","c7"]],previousId:"campaign200-185",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:20},{id:"r2-020",contentRevision:2,order:20,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:2,chapterTitle:"\u7B2C2\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:27,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle",direction:"dr"},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:2,y:1,w:1,h:1,clue:1,category:"circle"},{id:"c7",x:3,y:1,w:1,h:1,category:"triangle",clue:2},{id:"c8",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:2,w:1,h:1,category:"circle"},{id:"c10",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:3,y:2,w:1,h:2,category:"circle"},{id:"c12",x:0,y:3,w:1,h:1,category:"circle",clue:11},{id:"c13",x:1,y:3,w:2,h:1,category:"triangle"}],previousId:"campaign200-134",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:27},{id:"r2-021",contentRevision:2,order:21,mode:"campaign-200-r2",geometry:"blocks",features:["big","walls"],title:"\u5BF9\u79F0\u5C0F\u82B1\u56ED",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,clue:7},{id:"c5",x:0,y:2,w:1,h:1},{id:"c6",x:1,y:2,w:1,h:1},{id:"c7",x:2,y:2,w:1,h:1},{id:"c8",x:3,y:2,w:1,h:1,clue:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1}],walls:[["c1","c2"]],previousId:"campaign200-023",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:31},{id:"r2-022",contentRevision:2,order:22,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"circle"},{id:"c1",x:1,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:2,y:0,w:1,h:1,category:"circle",clue:7},{id:"c3",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:0,y:1,w:1,h:2,category:"triangle"},{id:"c5",x:1,y:1,w:1,h:1,category:"circle"},{id:"c6",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:3,y:1,w:1,h:1,category:"circle"},{id:"c8",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:2,y:2,w:1,h:1,category:"circle"},{id:"c10",x:3,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:0,y:3,w:1,h:1,clue:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"circle"},{id:"c13",x:2,y:3,w:1,h:1,category:"triangle",direction:"ru"},{id:"c14",x:3,y:3,w:1,h:1,category:"circle"}],previousId:"campaign200-145",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:32},{geometry:"blocks",cells:[{id:"t0",x:0,y:1,w:1,h:1,clue:1},{id:"t1",x:0,y:0,w:2,h:1,parity:"even"},{id:"t2",x:1,y:1,w:1,h:1}],features:["big","parity"],mode:"campaign-200-r2",tutorial:"parity",caption:"\u5947/\u5076\u8981\u6C42\u8FD9\u4E00\u683C\u7684\u8BBF\u95EE\u6B65\u53F7\u4E3A\u5947\u6570/\u5076\u6570\u3002",previousId:null,id:"r2-023",order:23,chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:32,objectiveScore:4,title:"\u5F15\u5BFC \xB7 \u5947\u5076\u6B65\u53F7"},{id:"r2-024",contentRevision:2,order:24,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","direction"],title:"\u5947\u5076 \xB7 \u901A\u9053\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,parity:"odd"},{id:"c1",x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],clue:2},{id:"c2",x:0,y:1,w:1,h:1},{id:"c3",x:2,y:1,w:1,h:1,clue:1},{id:"c4",x:0,y:2,w:1,h:1},{id:"c5",x:1,y:2,w:1,h:1},{id:"c6",x:2,y:2,w:1,h:1},{id:"c7",x:0,y:3,w:1,h:1,direction:"ru"},{id:"c8",x:1,y:3,w:1,h:1,direction:"lr"},{id:"c9",x:2,y:3,w:1,h:1}],previousId:"campaign200-036",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:33},{id:"r2-025",contentRevision:2,order:25,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u4E24\u89D2\u76F8\u63A5",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1,direction:"dl"},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,direction:"ru"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1,clue:1}],walls:[["c4","c8"]],previousId:"campaign200-040",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:33},{id:"r2-026",contentRevision:2,order:26,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","direction"],title:"\u53CC\u8272 \xB7 \u901A\u9053\u7684\u82B1\u56ED",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:1,y:0,w:1,h:1,category:"circle",direction:"lr"},{id:"c3",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:2,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],category:"triangle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:0,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:2,w:1,h:1,clue:1,category:"circle"},{id:"c8",x:1,y:2,w:1,h:1,category:"circle"},{id:"c9",x:0,y:2,w:1,h:1,category:"triangle",direction:"ru"}],previousId:"campaign200-030",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:29},{id:"r2-027",contentRevision:2,order:27,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u53CC\u8272 \xB7 \u5899\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle",clue:6},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:2,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c8",x:0,y:2,w:1,h:2,category:"triangle"},{id:"c9",x:1,y:2,w:2,h:1,category:"triangle"},{id:"c10",x:3,y:2,w:1,h:1,clue:1,category:"circle"},{id:"c11",x:1,y:3,w:1,h:1,category:"circle"}],walls:[["c1","c5"],["c6","c9"]],previousId:"campaign200-196",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:29},{id:"r2-028",contentRevision:2,order:28,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u82B1\u56ED",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:40,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c2",x:3,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:2},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,clue:1},{id:"c11",x:1,y:3,w:1,h:1},{id:"c12",x:3,y:3,w:1,h:1,parity:"even"}],walls:[["c5","c9"]],previousId:"campaign200-090",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:40},{geometry:"square",cells:[{id:"t0",x:0,y:0,w:1,h:1,clue:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:0,y:1,w:1,h:1},{id:"t3",x:1,y:1,w:1,h:1}],features:["rhythm-door"],mode:"campaign-200-r2",doors:[{edge:["t2","t3"],initialOpen:!1}],tutorial:"rhythm-door",caption:"\u95E8\u968F\u843D\u683C\u5207\u6362\uFF1B\u5F00\u65F6\u901A\u8FC7\u540E\u4FDD\u6301\u5F00\u542F\uFF0C\u64A4\u9500\u7A7F\u95E8\u624D\u6062\u590D\u5207\u6362\u3002",previousId:null,id:"r2-029",order:29,chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:22,objectiveScore:4,title:"\u5F15\u5BFC \xB7 \u95E8\u968F\u811A\u6B65\u5207\u6362"},{id:"r2-030",contentRevision:2,order:30,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:3,chapterTitle:"\u7B2C3\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:27,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:2,h:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1,parity:"odd"},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1,direction:"lu"},{id:"c11",x:0,y:3,w:1,h:1,clue:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:1,h:1}],doors:[{edge:["c0","c1"],initialOpen:!1}],walls:[["c5","c6"]],previousId:"campaign200-095",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:28},{id:"r2-031",contentRevision:2,order:31,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door","walls"],title:"\u5899\u548C\u95E8\u5206\u5F00\u770B",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:0,y:2,w:1,h:1},{id:"c6",x:1,y:2,w:1,h:1},{id:"c7",x:2,y:2,w:1,h:1},{id:"c8",x:3,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1,clue:10},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1}],doors:[{edge:["c5","c9"],initialOpen:!1}],walls:[["c0","c1"]],previousId:"campaign200-055",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:32},{id:"r2-032",contentRevision:2,order:32,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,clue:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle",direction:"dl"},{id:"c2",x:0,y:0,w:2,h:1,category:"circle",clue:5},{id:"c3",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c4",x:2,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:0,y:1,w:1,h:2,category:"triangle"},{id:"c7",x:3,y:2,w:1,h:1,category:"circle"},{id:"c8",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:2,w:1,h:1,category:"circle"},{id:"c10",x:3,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:2,y:3,w:1,h:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c13",x:0,y:3,w:1,h:1,category:"circle"}],doors:[{edge:["c11","c10"],initialOpen:!1}],walls:[["c6","c9"]],previousId:"campaign200-105",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:31},{id:"r2-033",contentRevision:2,order:33,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,clue:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,clue:3},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1,direction:"lu"}],doors:[{edge:["c4","c1"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-115",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-034",contentRevision:2,order:34,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:1,category:"triangle"},{id:"c1",x:0,y:1,w:1,h:1,category:"circle"},{id:"c2",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c3",x:0,y:3,w:1,h:1,category:"circle"},{id:"c4",x:1,y:1,w:1,h:1,category:"circle"},{id:"c5",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c6",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c7",x:2,y:0,w:1,h:1,clue:1,category:"circle"},{id:"c8",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c9",x:2,y:2,w:2,h:1,category:"circle"},{id:"c10",x:2,y:3,w:1,h:1,category:"circle"},{id:"c11",x:3,y:0,w:1,h:1,category:"triangle",direction:"dl"},{id:"c12",x:3,y:1,w:1,h:1,category:"circle"},{id:"c13",x:3,y:3,w:1,h:1,category:"triangle"}],doors:[{edge:["c3","c6"],initialOpen:!1}],walls:[["c8","c9"]],previousId:"campaign200-127",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{geometry:"hex",features:[],cells:[{id:"t0",q:0,r:0,clue:1},{id:"t1",q:1,r:0},{id:"t2",q:2,r:0,clue:4},{id:"t3",q:0,r:1},{id:"t4",q:1,r:1},{id:"t5",q:2,r:1,clue:6}],tutorial:"hex",caption:"\u516D\u8FB9\u5F62\u6709\u516D\u4E2A\u5171\u8FB9\u65B9\u5411\uFF0C\u6BCF\u683C\u4E00\u6B65\u3002",previousId:null,id:"r2-035",order:35,chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",mode:"campaign-200-r2",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:42,objectiveScore:19,title:"\u5F15\u5BFC \xB7 \u516D\u5411\u5171\u8FB9"},{id:"r2-036",contentRevision:2,order:36,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door","parity"],title:"\u95E8 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,parity:"odd"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c5",x:2,y:1,w:1,h:1,clue:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1},{id:"c11",x:1,y:3,w:1,h:1,clue:11}],doors:[{edge:["c11","c10"],initialOpen:!1}],previousId:"campaign200-042",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-037",contentRevision:2,order:37,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"circle",direction:"dr"},{id:"c1",x:1,y:0,w:1,h:1,category:"triangle",direction:"lr"},{id:"c2",x:2,y:0,w:1,h:1,category:"circle"},{id:"c3",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:0,y:1,w:1,h:1,category:"triangle"},{id:"c5",x:1,y:1,w:1,h:1,category:"circle"},{id:"c6",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:3,y:1,w:1,h:1,category:"circle"},{id:"c8",x:0,y:2,w:1,h:1,category:"circle"},{id:"c9",x:1,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],category:"circle"},{id:"c10",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:2,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:3,y:3,w:1,h:1,clue:1,category:"circle"}],previousId:"campaign200-123",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-038",contentRevision:2,order:38,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u4E24\u4E2A\u53CC\u8272\u67A2\u7EBD",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u5CF0\u503C",targetDifficulty:50,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:2,category:"triangle"},{id:"c1",x:1,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:2,y:0,w:1,h:1,category:"circle"},{id:"c3",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c4",x:1,y:1,w:1,h:1,category:"circle",clue:11},{id:"c5",x:2,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:3,y:1,w:1,h:1,category:"circle"},{id:"c7",x:0,y:2,w:1,h:1,category:"circle"},{id:"c8",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:2,y:2,w:1,h:1,category:"circle"},{id:"c10",x:3,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:1,y:3,w:1,h:1,category:"circle"},{id:"c13",x:2,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],category:"circle"},{id:"c14",x:0,y:4,w:1,h:1,clue:1,category:"circle"},{id:"c15",x:1,y:4,w:1,h:1,category:"triangle"}],walls:[["c9","c10"],["c4","c5"]],previousId:"campaign200-073",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:46},{id:"r2-039",contentRevision:2,order:39,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u56DE\u843D",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,clue:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,direction:"dr"},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,clue:7},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1}],doors:[{edge:["c5","c4"],initialOpen:!1}],walls:[["c8","c9"]],previousId:"campaign200-137",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-040",contentRevision:2,order:40,mode:"campaign-200-r2",geometry:"square",features:["direction"],title:"\u4E0A\u4E0B\u901A\u9053",chapter:4,chapterTitle:"\u7B2C4\u7AE0 \xB7 \u7406\u89E3\u4E0E\u5E94\u7528",role:"\u6536\u675F",targetDifficulty:37,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,direction:"du"},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1,clue:1}],previousId:"campaign200-017",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:37},{id:"r2-041",contentRevision:2,order:41,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,parity:"odd"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,clue:3},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:2,h:1},{id:"c14",x:3,y:3,w:1,h:1,clue:1}],doors:[{edge:["c3","c7"],initialOpen:!1}],walls:[["c4","c8"]],previousId:"campaign200-107",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-042",contentRevision:2,order:42,mode:"campaign-200-r2",geometry:"blocks",features:["big","walls"],title:"\u7B2C\u4E00\u5EA7\u6865",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:11},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:2,h:2},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:3,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1},{id:"c12",x:3,y:3,w:1,h:1,clue:1}],walls:[["c1","c5"],["c5","c10"]],previousId:"campaign200-050",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:41},{id:"r2-043",contentRevision:2,order:43,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:2,h:1},{id:"c2",x:3,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,parity:"odd"},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1,clue:4},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1,clue:1},{id:"c12",x:1,y:3,w:1,h:1}],walls:[["c1","c4"]],previousId:"campaign200-121",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:41},{id:"r2-044",contentRevision:2,order:44,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,direction:"ru"},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1,direction:"lr"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1,clue:1}],doors:[{edge:["c4","c0"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-126",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:43},{geometry:"square",features:[],cells:[{id:"t0",x:0,y:0,w:1,h:1},{id:"t1",x:1,y:0,w:1,h:1},{id:"t2",x:2,y:0,w:1,h:1},{id:"t3",x:0,y:1,w:1,h:1},{id:"t4",x:1,y:1,w:1,h:1},{id:"t5",x:2,y:1,w:1,h:1,clue:4},{id:"t6",x:0,y:2,w:1,h:1},{id:"t7",x:1,y:2,w:1,h:1,clue:8}],tutorial:"unknown-start",caption:"\u6CA1\u6709\u6570\u5B571\u65F6\u8981\u627E\u8D77\u70B9\uFF1B\u5148\u770B\u6570\u5B57\u7EBF\u7D22\uFF0C\u627E\u51FA\u7B2C\u4E00\u6B65\u3002",previousId:null,id:"r2-045",order:45,chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",mode:"campaign-200-r2",contentRevision:2,playerBand:null,estimatedBand:"\u6559\u5B66",role:"\u5F15\u5BFC",targetDifficulty:42,objectiveScore:25,title:"\u5F15\u5BFC \xB7 \u4ECE\u54EA\u91CC\u51FA\u53D1"},{id:"r2-046",contentRevision:2,order:46,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:1},{id:"c1",x:2,y:0,w:1,h:1},{id:"c2",x:3,y:0,w:1,h:1,parity:"odd"},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:2,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1},{id:"c11",x:1,y:3,w:1,h:1,clue:1}],walls:[["c0","c1"]],previousId:"campaign200-154",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:41},{id:"r2-047",contentRevision:2,order:47,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u82B1\u56ED",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:1,w:1,h:2},{id:"c1",x:0,y:0,w:1,h:1,direction:"dr"},{id:"c2",x:1,y:3,w:1,h:1},{id:"c3",x:1,y:2,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:1,y:0,w:1,h:1,clue:5},{id:"c6",x:2,y:3,w:1,h:1},{id:"c7",x:2,y:2,w:1,h:1},{id:"c8",x:2,y:1,w:1,h:1},{id:"c9",x:2,y:0,w:1,h:1},{id:"c10",x:3,y:3,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:3,y:0,w:1,h:1},{id:"c13",x:4,y:2,w:1,h:2,parity:"even"},{id:"c14",x:4,y:1,w:1,h:1,clue:1},{id:"c15",x:4,y:0,w:1,h:1}],doors:[{edge:["c2","c3"],initialOpen:!1}],walls:[["c3","c7"]],previousId:"campaign200-150",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:42},{id:"r2-048",contentRevision:2,order:48,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door"],title:"\u5927\u5757\u6539\u53D8\u8282\u62CD",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u5CF0\u503C",targetDifficulty:50,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:2,clue:13},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1,clue:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:2,h:2},{id:"c13",x:3,y:3,w:1,h:1},{id:"c14",x:0,y:4,w:1,h:1}],doors:[{edge:["c14","c11"],initialOpen:!1}],previousId:"campaign200-076",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:69},{id:"r2-049",contentRevision:2,order:49,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u5C0F\u5F84",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:0,y:1,w:1,h:1},{id:"c2",x:0,y:2,w:1,h:1,clue:8},{id:"c3",x:0,y:3,w:2,h:1},{id:"c4",x:1,y:0,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:1,y:2,w:1,h:1},{id:"c7",x:2,y:0,w:1,h:1},{id:"c8",x:2,y:1,w:1,h:1,direction:"lu"},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:2,y:3,w:2,h:1,parity:"even"},{id:"c11",x:3,y:0,w:1,h:1,clue:1},{id:"c12",x:3,y:1,w:1,h:1},{id:"c13",x:3,y:2,w:1,h:1}],doors:[{edge:["c4","c7"],initialOpen:!1}],walls:[["c4","c5"]],previousId:"campaign200-139",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-050",contentRevision:2,order:50,mode:"campaign-200-r2",geometry:"square",features:["rhythm-door"],title:"\u95E8\u968F\u811A\u6B65\u5F00\u5173",chapter:5,chapterTitle:"\u7B2C5\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:37,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:8},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,clue:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1}],doors:[{edge:["c2","c1"],initialOpen:!1}],previousId:"campaign200-043",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:37},{id:"r2-051",contentRevision:2,order:51,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,direction:"dr"},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,clue:13},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:2,h:1},{id:"c9",x:2,y:2,w:1,h:1,clue:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:1,h:1,parity:"odd"},{id:"c14",x:3,y:3,w:1,h:1}],previousId:"campaign200-103",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:43},{id:"r2-052",contentRevision:2,order:52,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,clue:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1,direction:"lu"},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:0,y:3,w:1,h:1},{id:"c10",x:1,y:3,w:1,h:1},{id:"c11",x:2,y:3,w:1,h:1}],walls:[["c1","c4"]],previousId:"campaign200-194",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:44},{id:"r2-053",contentRevision:2,order:53,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","walls"],title:"\u53CC\u8272\u8DE8\u533A",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:2,category:"triangle"},{id:"c1",x:2,y:0,w:1,h:1,category:"circle"},{id:"c2",x:3,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:2,y:1,w:1,h:2,category:"circle",clue:9},{id:"c4",x:3,y:1,w:1,h:1,category:"circle"},{id:"c5",x:0,y:2,w:1,h:1,category:"circle"},{id:"c6",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c7",x:3,y:2,w:1,h:1,category:"triangle"},{id:"c8",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:3,w:1,h:1,category:"circle"},{id:"c10",x:2,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:3,y:3,w:1,h:1,category:"circle"},{id:"c12",x:0,y:4,w:1,h:1,category:"circle"},{id:"c13",x:1,y:4,w:1,h:1,category:"triangle"},{id:"c14",x:2,y:4,w:1,h:1,clue:1,category:"circle"}],walls:[["c9","c10"],["c3","c6"]],previousId:"campaign200-068",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:44},{id:"r2-054",contentRevision:2,order:54,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:1},{id:"c1",x:2,y:0,w:1,h:1,clue:11},{id:"c2",x:3,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1,parity:"odd"},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:2},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:3,y:3,w:1,h:1},{id:"c14",x:0,y:4,w:1,h:1,clue:1}],doors:[{edge:["c1","c5"],initialOpen:!1}],walls:[["c3","c4"]],previousId:"campaign200-182",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:44},{id:"r2-055",contentRevision:2,order:55,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u4EA4\u9519",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,clue:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:1,y:0,w:1,h:1,category:"circle"},{id:"c3",x:0,y:0,w:1,h:1,category:"triangle",direction:"dr"},{id:"c4",x:3,y:1,w:1,h:2,category:"circle"},{id:"c5",x:2,y:1,w:1,h:1,category:"circle"},{id:"c6",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:0,y:1,w:1,h:1,category:"circle"},{id:"c8",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:2,w:1,h:2,category:"triangle"},{id:"c10",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c11",x:3,y:3,w:1,h:1,category:"triangle"},{id:"c12",x:2,y:3,w:1,h:1,category:"circle"},{id:"c13",x:0,y:3,w:1,h:1,category:"circle"}],doors:[{edge:["c13","c10"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-138",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:39},{id:"r2-056",contentRevision:2,order:56,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,clue:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,parity:"odd"},{id:"c11",x:1,y:3,w:1,h:1}],doors:[{edge:["c7","c11"],initialOpen:!1}],walls:[["c3","c4"]],previousId:"campaign200-063",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:39},{id:"r2-057",contentRevision:2,order:57,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door"],title:"\u987A\u7740\u8282\u62CD\u6536\u5C3E",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:42,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:2,h:2},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1,clue:11},{id:"c13",x:0,y:4,w:1,h:1,clue:1}],doors:[{edge:["c7","c3"],initialOpen:!1}],previousId:"campaign200-058",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:38},{id:"r2-058",contentRevision:2,order:58,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076\u5206\u914D\u533A\u57DF",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u5CF0\u503C",targetDifficulty:50,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1,parity:"even"},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,parity:"odd"},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:2,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]]},{id:"c14",x:0,y:4,w:1,h:1},{id:"c15",x:1,y:4,w:1,h:1},{id:"c16",x:3,y:4,w:1,h:1,clue:1}],walls:[["c8","c9"],["c12","c15"]],previousId:"campaign200-077",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:60},{id:"r2-059",contentRevision:2,order:59,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u5C0F\u5F84",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:32,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,direction:"lr"},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:1,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1,direction:"lu"},{id:"c9",x:0,y:3,w:1,h:1,clue:1}],doors:[{edge:["c1","c2"],initialOpen:!1}],walls:[["c6","c7"]],previousId:"campaign200-159",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:35},{id:"r2-060",contentRevision:2,order:60,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u5C0F\u5F84",chapter:6,chapterTitle:"\u7B2C6\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:37,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,direction:"dr"},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:0,y:1,w:1,h:1,parity:"even"},{id:"c4",x:1,y:1,w:1,h:1,clue:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:2,clue:3},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:1,y:3,w:1,h:1},{id:"c10",x:2,y:3,w:1,h:1}],previousId:"campaign200-169",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:36},{id:"r2-061",contentRevision:2,order:61,mode:"campaign-200-r2",geometry:"blocks",features:["big","rhythm-door","direction"],title:"\u95E8 \xB7 \u901A\u9053\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]]},{id:"c1",x:2,y:0,w:1,h:1},{id:"c2",x:3,y:0,w:1,h:1,clue:1},{id:"c3",x:1,y:1,w:1,h:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1,clue:7},{id:"c8",x:2,y:2,w:1,h:1,direction:"lr"},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1},{id:"c11",x:1,y:3,w:1,h:1,direction:"lu"}],doors:[{edge:["c9","c8"],initialOpen:!1}],previousId:"campaign200-045",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:57},{id:"r2-062",contentRevision:2,order:62,mode:"campaign-200-r2",geometry:"square",features:["direction","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u5899 \xB7 \u95E8\u7684\u4EA4\u9519",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:2,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:0,y:0,w:1,h:1},{id:"c3",x:3,y:1,w:1,h:1,clue:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:0,y:1,w:1,h:1},{id:"c7",x:3,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:0,y:2,w:1,h:1},{id:"c11",x:3,y:3,w:1,h:1,direction:"lu"},{id:"c12",x:2,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1},{id:"c14",x:0,y:3,w:1,h:1},{id:"c15",x:2,y:4,w:1,h:1},{id:"c16",x:1,y:4,w:1,h:1}],doors:[{edge:["c15","c12"],initialOpen:!1}],walls:[["c8","c12"],["c5","c6"]],previousId:"campaign200-148",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:57},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:2,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:3,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle"},{x:2,y:3,w:1,h:1,id:"c16",category:"circle"},{x:3,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"circle"},{x:1,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"circle",direction:"lu"},{x:4,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c17","c18"]],previousId:null,id:"r2-063",order:63,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:57,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 63",caption:""},{id:"r2-064",contentRevision:2,order:64,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,parity:"odd"},{id:"c3",x:3,y:0,w:1,h:2},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1,parity:"odd"},{id:"c11",x:0,y:3,w:2,h:1},{id:"c12",x:2,y:3,w:1,h:1},{id:"c13",x:3,y:3,w:1,h:1,clue:1}],walls:[["c6","c9"],["c2","c6"]],previousId:"campaign200-176",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:56},{id:"r2-065",contentRevision:2,order:65,mode:"campaign-200-r2",geometry:"blocks",features:["big","alternation","parity"],title:"\u53CC\u8272 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c3",x:0,y:1,w:1,h:2,category:"circle"},{id:"c4",x:1,y:1,w:1,h:1,category:"circle",parity:"odd"},{id:"c5",x:2,y:1,w:1,h:1,category:"circle"},{id:"c6",x:1,y:2,w:1,h:1,category:"triangle"},{id:"c7",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c8",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c9",x:1,y:3,w:1,h:1,category:"circle"}],previousId:"campaign200-111",playerBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",estimatedBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",objectiveScore:60},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,clue:1,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:2,r:0,category:"triangle"},{id:"c11",q:2,r:1,category:"circle"},{id:"c12",q:2,r:2,category:"triangle"},{id:"c13",q:2,r:3,category:"circle"},{id:"c14",q:2,r:4,category:"triangle"},{id:"c15",q:3,r:0,category:"circle"},{id:"c16",q:3,r:1,category:"triangle",clue:18},{id:"c17",q:3,r:2,category:"circle"},{id:"c18",q:3,r:3,category:"triangle"},{id:"c19",q:3,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c11","c12"]],previousId:null,id:"r2-066",order:66,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:58,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 66",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14",direction:"lu"},{x:0,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17",clue:1},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21",direction:"ru"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c8","c7"],initialOpen:!1}],previousId:null,id:"r2-067",order:67,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:58,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 67",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",clue:1},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",direction:"dr"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",direction:"lu"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14",direction:"du"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"}],features:["direction","walls"],contentRevision:2,walls:[["c13","c18"],["c6","c11"]],previousId:null,id:"r2-068",order:68,chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u5CF0\u503C",targetDifficulty:65,objectiveScore:65,title:"\u65B9\u683C \xB7 \u4EA4\u9519\u6311\u6218 68",caption:""},{id:"r2-069",contentRevision:2,order:69,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls"],title:"\u5947\u5076 \xB7 \u5899\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:47,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,parity:"odd"},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1,clue:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1,clue:5},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]]},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:1,y:3,w:1,h:1}],walls:[["c1","c5"]],previousId:"campaign200-165",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:47},{id:"r2-070",contentRevision:2,order:70,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:7,chapterTitle:"\u7B2C7\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:52,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:2},{id:"c2",x:2,y:0,w:2,h:1,parity:"odd"},{id:"c3",x:0,y:1,w:1,h:1},{id:"c4",x:2,y:1,w:1,h:1},{id:"c5",x:3,y:1,w:1,h:1},{id:"c6",x:0,y:2,w:1,h:1},{id:"c7",x:1,y:2,w:1,h:1},{id:"c8",x:2,y:2,w:1,h:1},{id:"c9",x:3,y:2,w:1,h:1},{id:"c10",x:0,y:3,w:1,h:1,clue:1},{id:"c11",x:1,y:3,w:1,h:1,parity:"odd"},{id:"c12",x:2,y:3,w:1,h:1},{id:"c13",x:3,y:3,w:1,h:1,direction:"lu"}],previousId:"campaign200-092",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:52},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:2,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",clue:1,category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c7",category:"circle"},{x:5,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c12",category:"circle"},{x:5,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle",clue:17},{x:2,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle"},{x:0,y:4,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c22",category:"circle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c18","c24"],["c16","c22"],["c12","c18"]],previousId:null,id:"r2-071",order:71,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:57,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 71",caption:""},{id:"r2-072",contentRevision:2,order:72,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u9009\u62E9",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:0,y:1,w:1,h:1,category:"circle"},{id:"c2",x:0,y:2,w:1,h:1,category:"triangle",direction:"dr"},{id:"c3",x:0,y:3,w:1,h:1,clue:1,category:"circle"},{id:"c4",x:1,y:0,w:1,h:1,category:"circle",direction:"lr"},{id:"c5",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c6",x:1,y:2,w:1,h:1,category:"circle"},{id:"c7",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c8",x:2,y:0,w:2,h:1,category:"triangle"},{id:"c9",x:2,y:1,w:1,h:1,category:"circle"},{id:"c10",x:2,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],category:"circle"},{id:"c11",x:3,y:1,w:1,h:1,category:"triangle"}],doors:[{edge:["c1","c0"],initialOpen:!1}],walls:[["c5","c9"]],previousId:"campaign200-072",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:55},{id:"r2-073",contentRevision:2,order:73,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u9009\u62E9",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:1,y:0,w:2,h:1,category:"circle"},{id:"c2",x:3,y:0,w:1,h:1,category:"circle"},{id:"c3",x:0,y:1,w:1,h:1,category:"circle"},{id:"c4",x:1,y:1,w:1,h:1,category:"triangle"},{id:"c5",x:2,y:1,w:1,h:1,category:"circle"},{id:"c6",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:0,y:2,w:1,h:1,category:"triangle"},{id:"c8",x:1,y:2,w:1,h:1,category:"circle"},{id:"c9",x:2,y:2,w:1,h:1,category:"triangle",direction:"lu"},{id:"c10",x:3,y:2,w:1,h:1,category:"circle"},{id:"c11",x:0,y:3,w:1,h:1,clue:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c13",x:2,y:3,w:1,h:1,category:"circle"},{id:"c14",x:3,y:3,w:1,h:1,category:"triangle"}],previousId:"campaign200-101",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:55},{id:"r2-074",contentRevision:2,order:74,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","walls","rhythm-door"],title:"\u5947\u5076 \xB7 \u5899 \xB7 \u95E8\u7684\u4EA4\u9519",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u7EC3\u4E60",targetDifficulty:57,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1,clue:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:2,h:1},{id:"c6",x:3,y:1,w:1,h:1},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:2},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1},{id:"c11",x:0,y:3,w:1,h:1},{id:"c12",x:2,y:3,w:1,h:1,parity:"odd"},{id:"c13",x:3,y:3,w:1,h:1}],doors:[{edge:["c10","c6"],initialOpen:!1}],walls:[["c8","c12"]],previousId:"campaign200-118",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:55},{mode:"campaign-200-r2",geometry:"square",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:1},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9",direction:"ru"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12",clue:17},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19",clue:8},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["direction","walls"],contentRevision:2,walls:[["c1","c2"]],previousId:null,id:"r2-075",order:75,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:59,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 75",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:12},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9",parity:"even"},{x:5,y:1,w:1,h:2,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12",clue:1},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:2,h:1,id:"c25"}],features:["big","parity","walls"],contentRevision:2,walls:[["c6","c12"],["c5","c6"]],previousId:null,id:"r2-076",order:76,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:58,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 76",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:2,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"circle"},{x:4,y:2,w:1,h:1,id:"c14",clue:1,category:"circle"},{x:5,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c16",category:"circle"},{x:2,y:3,w:1,h:1,id:"c17",category:"triangle",direction:"ru"},{x:3,y:3,w:1,h:1,id:"c18",category:"circle",clue:9},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c22",category:"circle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c22","c21"],initialOpen:!1}],previousId:null,id:"r2-077",order:77,chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:56,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 77",caption:""},{id:"r2-078",contentRevision:2,order:78,mode:"campaign-200-r2",geometry:"blocks",features:["big","parity","rhythm-door"],title:"\u5148\u5B9A\u5947\u5076\uFF0C\u518D\u5B9A\u8282\u62CD",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u5CF0\u503C",targetDifficulty:65,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1,parity:"odd"},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,clue:8},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1,clue:1},{id:"c10",x:2,y:2,w:1,h:1,parity:"even"},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]]},{id:"c13",x:2,y:3,w:1,h:1},{id:"c14",x:3,y:3,w:1,h:1},{id:"c15",x:1,y:4,w:1,h:1},{id:"c16",x:2,y:4,w:2,h:1}],doors:[{edge:["c3","c7"],initialOpen:!1}],previousId:"campaign200-085",playerBand:"\u9700\u8981\u63D0\u793A",estimatedBand:"\u9700\u8981\u63D0\u793A",objectiveScore:59},{id:"r2-079",contentRevision:2,order:79,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation"],title:"\u901A\u9053 \xB7 \u53CC\u8272\u7684\u4EA4\u9519",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u56DE\u843D",targetDifficulty:47,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,category:"triangle"},{id:"c1",x:1,y:0,w:1,h:1,category:"circle"},{id:"c2",x:2,y:0,w:1,h:1,category:"triangle",direction:"dr"},{id:"c3",x:3,y:0,w:1,h:1,category:"circle"},{id:"c4",x:0,y:1,w:2,h:1,category:"triangle"},{id:"c5",x:2,y:1,w:1,h:1,clue:1,category:"circle"},{id:"c6",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c7",x:0,y:2,w:1,h:1,category:"circle"},{id:"c8",x:1,y:2,w:2,h:1,category:"triangle"},{id:"c9",x:3,y:2,w:1,h:1,category:"circle"},{id:"c10",x:0,y:3,w:1,h:1,category:"triangle"},{id:"c11",x:1,y:3,w:1,h:1,category:"circle"},{id:"c12",x:2,y:3,w:1,h:1,category:"circle"},{id:"c13",x:3,y:3,w:1,h:1,category:"triangle"},{id:"c14",x:0,y:4,w:1,h:1,category:"circle"},{id:"c15",x:1,y:4,w:1,h:1,category:"triangle"}],previousId:"campaign200-178",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:47},{id:"r2-080",contentRevision:2,order:80,mode:"campaign-200-r2",geometry:"square",features:["direction","walls"],title:"\u901A\u9053 \xB7 \u5899\u7684\u4EA4\u9519",chapter:8,chapterTitle:"\u7B2C8\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",role:"\u6536\u675F",targetDifficulty:52,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1,clue:10},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:1},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:1,y:2,w:1,h:1},{id:"c10",x:2,y:2,w:1,h:1},{id:"c11",x:3,y:2,w:1,h:1},{id:"c12",x:0,y:3,w:1,h:1},{id:"c13",x:1,y:3,w:1,h:1},{id:"c14",x:2,y:3,w:1,h:1,direction:"lr"},{id:"c15",x:3,y:3,w:1,h:1,direction:"lu"},{id:"c16",x:0,y:4,w:1,h:1,clue:1}],walls:[["c4","c5"],["c6","c7"]],previousId:"campaign200-108",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",objectiveScore:52},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:1,y:2,w:1,h:1,id:"c9"},{x:2,y:2,w:1,h:1,id:"c10"},{x:3,y:2,w:1,h:1,id:"c11"},{x:4,y:2,w:1,h:1,id:"c12"},{x:0,y:3,w:1,h:1,id:"c13"},{x:1,y:3,w:1,h:1,id:"c14",direction:"dr"},{x:2,y:3,w:1,h:1,id:"c15"},{x:3,y:3,w:1,h:1,id:"c16"},{x:4,y:3,w:1,h:1,id:"c17"},{x:0,y:4,w:1,h:1,id:"c18"},{x:1,y:4,w:1,h:1,id:"c19"},{x:3,y:4,w:1,h:1,id:"c20"},{x:4,y:4,w:1,h:1,id:"c21"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c7","c11"],initialOpen:!1}],walls:[["c1","c2"]],previousId:null,id:"r2-081",order:81,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 81",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:1,y:0,w:1,h:1,id:"c0"},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3",clue:1},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",direction:"dl"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25"}],features:["direction","walls"],contentRevision:2,walls:[["c4","c5"]],previousId:null,id:"r2-082",order:82,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:56,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 82",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:0,y:1,w:1,h:1,id:"c3"},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:3,y:1,w:1,h:1,id:"c6"},{x:0,y:2,w:1,h:1,id:"c7",parity:"even"},{x:1,y:2,w:1,h:1,id:"c8"},{x:2,y:2,w:1,h:1,id:"c9"},{x:3,y:2,w:1,h:2,id:"c10"},{x:0,y:3,w:1,h:1,id:"c11"},{x:1,y:3,w:1,h:1,id:"c12",direction:"ru"},{x:2,y:3,w:1,h:1,id:"c13"},{x:4,y:3,w:1,h:1,id:"c14"},{x:0,y:4,w:1,h:1,id:"c15"},{x:1,y:4,w:1,h:1,id:"c16"},{x:2,y:4,w:1,h:1,id:"c17"},{x:3,y:4,w:1,h:1,id:"c18"},{x:4,y:4,w:1,h:1,id:"c19"}],features:["big","direction","parity","walls"],contentRevision:2,walls:[["c3","c7"]],previousId:null,id:"r2-083",order:83,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 83",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:2,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"circle"},{x:1,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c6",category:"circle",direction:"du"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:0,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c8",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c10",category:"circle"},{x:4,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c12",category:"circle"},{x:2,y:3,w:1,h:1,id:"c13",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c15",category:"circle"},{x:0,y:4,w:1,h:1,id:"c16",category:"circle"},{x:1,y:4,w:1,h:1,id:"c17",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c18",category:"circle"},{x:3,y:4,w:2,h:1,id:"c19",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c6","c1"],initialOpen:!1}],previousId:null,id:"r2-084",order:84,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 84",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:2,h:1,id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:2,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle",direction:"lu"},{x:2,y:2,w:1,h:1,id:"c11",clue:1,category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"circle",clue:21},{x:1,y:3,w:1,h:1,id:"c15",category:"triangle",clue:22},{x:2,y:3,w:1,h:1,id:"c16",category:"circle"},{x:3,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c20",category:"circle"},{x:2,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"circle"},{x:4,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","direction","alternation"],contentRevision:2,previousId:null,id:"r2-085",order:85,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:54,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 85",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c5",category:"circle"},{x:1,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c9",category:"circle"},{x:0,y:2,w:1,h:1,id:"c10",category:"triangle",direction:"du"},{x:1,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c11",category:"circle"},{x:3,y:2,w:2,h:1,id:"c12",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c13",category:"circle"},{x:2,y:3,w:1,h:1,id:"c14",category:"circle"},{x:3,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c16",category:"circle"},{x:0,y:4,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c18",category:"circle"},{x:2,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c20",category:"circle"},{x:4,y:4,w:1,h:1,id:"c21",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c13","c10"],initialOpen:!1}],previousId:null,id:"r2-086",order:86,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 86",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7",parity:"even"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17",clue:3},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:2,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20",clue:1},{x:3,y:4,w:1,h:1,id:"c21"},{x:4,y:4,w:1,h:1,id:"c22"},{x:5,y:4,w:1,h:1,id:"c23"}],features:["big","parity","walls"],contentRevision:2,walls:[["c9","c10"]],previousId:null,id:"r2-087",order:87,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 87",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4,clue:20},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0,clue:1},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4,parity:"odd"},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:8},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3,clue:12},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5,clue:16}],features:["parity","walls"],contentRevision:2,walls:[["c3","c9"],["c19","c20"]],previousId:null,id:"r2-088",order:88,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u5CF0\u503C",targetDifficulty:65,objectiveScore:65,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 88",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:4,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:5,y:0,w:1,h:2,id:"c3",category:"circle"},{x:0,y:1,w:2,h:1,id:"c4",category:"circle"},{x:2,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c8",category:"circle"},{x:1,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c10",category:"circle"},{x:3,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c12",category:"circle"},{x:5,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle"},{x:2,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle",clue:19},{x:0,y:4,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c23",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c4","c5"]],previousId:null,id:"r2-089",order:89,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u56DE\u843D",targetDifficulty:47,objectiveScore:47,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 89",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:2,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:0,y:2,w:1,h:1,id:"c8",category:"circle"},{x:1,y:2,w:2,h:1,id:"c9",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c10",category:"circle"},{x:4,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c13",category:"circle"},{x:2,y:3,w:1,h:1,id:"c14",clue:1,category:"circle"},{x:3,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c16",category:"circle",direction:"du"},{x:0,y:4,w:1,h:1,id:"c17",category:"circle"},{x:1,y:4,w:1,h:1,id:"c18",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c20",category:"circle"},{x:4,y:4,w:1,h:1,id:"c21",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c8","c12"],initialOpen:!1}],previousId:null,id:"r2-090",order:90,chapter:9,chapterTitle:"\u7B2C9\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u6536\u675F",targetDifficulty:52,objectiveScore:53,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 90",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6",parity:"odd"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11",clue:1},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13",direction:"dr"},{x:3,y:2,w:1,h:1,id:"c14",direction:"lu"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:1,y:4,w:2,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-091",order:91,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:57,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 91",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:1,category:"triangle"},{id:"c12",q:2,r:2,category:"circle"},{id:"c13",q:2,r:3,category:"triangle"},{id:"c14",q:2,r:4,category:"circle"},{id:"c15",q:2,r:5,category:"triangle"},{id:"c16",q:3,r:1,category:"circle"},{id:"c17",q:3,r:2,category:"triangle"},{id:"c18",q:3,r:3,category:"circle"},{id:"c19",q:3,r:4,category:"circle"},{id:"c20",q:3,r:5,category:"circle"},{id:"c21",q:4,r:0,category:"triangle"},{id:"c22",q:4,r:1,category:"circle"},{id:"c23",q:4,r:3,category:"triangle"},{id:"c24",q:4,r:4,category:"triangle"},{id:"c25",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c2","c6"]],previousId:null,id:"r2-092",order:92,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:55,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 92",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:2,category:"circle"},{id:"c2",q:0,r:3,category:"triangle"},{id:"c3",q:0,r:5,category:"triangle"},{id:"c4",q:1,r:0,category:"circle"},{id:"c5",q:1,r:1,category:"triangle"},{id:"c6",q:1,r:2,category:"circle"},{id:"c7",q:1,r:3,category:"triangle"},{id:"c8",q:1,r:4,category:"circle"},{id:"c9",q:1,r:5,category:"circle"},{id:"c10",q:2,r:1,category:"triangle"},{id:"c11",q:2,r:2,clue:1,category:"circle"},{id:"c12",q:2,r:3,category:"triangle"},{id:"c13",q:2,r:4,category:"circle"},{id:"c14",q:2,r:5,category:"triangle"},{id:"c15",q:3,r:0,category:"circle"},{id:"c16",q:3,r:1,category:"triangle"},{id:"c17",q:3,r:2,category:"circle"},{id:"c18",q:3,r:3,category:"triangle"},{id:"c19",q:3,r:4,category:"circle"},{id:"c20",q:3,r:5,category:"triangle"},{id:"c21",q:4,r:0,category:"circle"},{id:"c22",q:4,r:1,category:"triangle"},{id:"c23",q:4,r:2,category:"circle"},{id:"c24",q:4,r:3,category:"triangle"},{id:"c25",q:4,r:4,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c13","c12"],initialOpen:!1}],walls:[["c18","c23"]],previousId:null,id:"r2-093",order:93,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:59,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 93",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17",clue:13},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21",clue:1},{x:2,y:4,w:1,h:1,id:"c22",direction:"ru"},{x:3,y:4,w:1,h:1,id:"c23"}],features:["direction","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-094",order:94,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:61,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 94",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",direction:"lr"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",parity:"even"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",clue:1},{x:3,y:2,w:2,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15",clue:7},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c1","c2"],initialOpen:!1}],previousId:null,id:"r2-095",order:95,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 95",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c1",category:"circle"},{x:3,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c3",category:"circle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:3,y:1,w:1,h:2,id:"c6",category:"triangle"},{x:4,y:1,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c7",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c8",category:"circle"},{x:1,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c10",category:"circle"},{x:5,y:2,w:1,h:1,id:"c11",clue:1,category:"circle"},{x:0,y:3,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c13",category:"circle"},{x:2,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c15",category:"circle"},{x:4,y:3,w:1,h:1,id:"c16",category:"triangle",clue:22},{x:5,y:3,w:1,h:1,id:"c17",category:"circle"},{x:0,y:4,w:1,h:1,id:"c18",category:"circle"},{x:1,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c20",category:"circle"},{x:3,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c22",category:"circle"},{x:5,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c16","c22"],["c13","c14"]],previousId:null,id:"r2-096",order:96,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 96",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:1,clue:26},{id:"c7",q:1,r:2,clue:24},{id:"c8",q:1,r:3},{id:"c9",q:1,r:4},{id:"c10",q:1,r:5},{id:"c11",q:2,r:0,clue:7},{id:"c12",q:2,r:1},{id:"c13",q:2,r:2},{id:"c14",q:2,r:3,clue:1},{id:"c15",q:2,r:4},{id:"c16",q:2,r:5},{id:"c17",q:3,r:0},{id:"c18",q:3,r:1},{id:"c19",q:3,r:2},{id:"c20",q:3,r:3},{id:"c21",q:3,r:4,clue:15},{id:"c22",q:3,r:5},{id:"c23",q:4,r:0,parity:"even"},{id:"c24",q:4,r:1},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4},{id:"c27",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c14","c15"]],previousId:null,id:"r2-097",order:97,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u7EC3\u4E60",targetDifficulty:57,objectiveScore:56,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 97",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle"},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"circle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"circle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle",clue:22},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,clue:1,category:"circle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"triangle"},{id:"c22",q:3,r:4,category:"circle"},{id:"c23",q:3,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c20","c21"],["c4","c10"]],previousId:null,id:"r2-098",order:98,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u5CF0\u503C",targetDifficulty:65,objectiveScore:64,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 98",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"circle"},{x:1,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"triangle",clue:22},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c11",category:"circle"},{x:2,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c13",category:"circle"},{x:4,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c21",category:"circle"},{x:2,y:4,w:2,h:1,id:"c22",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c23",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c16","c21"],["c12","c17"]],previousId:null,id:"r2-099",order:99,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u56DE\u843D",targetDifficulty:47,objectiveScore:50,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 99",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",direction:"lr"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6",clue:9},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16",clue:1},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"}],features:["direction","walls"],contentRevision:2,walls:[["c9","c14"]],previousId:null,id:"r2-100",order:100,chapter:10,chapterTitle:"\u7B2C10\u7AE0 \xB7 \u4EA4\u9519\u63A8\u7406",playerBand:null,estimatedBand:"\u6E10\u8FDB\u7EC3\u4E60",role:"\u6536\u675F",targetDifficulty:52,objectiveScore:51,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 100",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0"},{x:2,y:0,w:1,h:1,id:"c1"},{x:4,y:0,w:2,h:1,id:"c2"},{x:0,y:1,w:1,h:1,id:"c3"},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:3,y:1,w:1,h:1,id:"c6"},{x:4,y:1,w:1,h:1,id:"c7",clue:1},{x:5,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:2,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13",direction:"dr"},{x:5,y:2,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17",parity:"even"},{x:4,y:3,w:1,h:1,id:"c18"},{x:5,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c3","c9"],initialOpen:!1}],previousId:null,id:"r2-101",order:101,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 101",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,clue:1,category:"circle"},{id:"c12",q:2,r:1,category:"triangle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"circle"},{id:"c15",q:2,r:4,category:"triangle",clue:24},{id:"c16",q:2,r:5,category:"circle"},{id:"c17",q:3,r:0,category:"circle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"triangle",clue:26},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle"},{id:"c23",q:4,r:0,category:"triangle"},{id:"c24",q:4,r:1,category:"circle"},{id:"c25",q:4,r:2,category:"circle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c20","c21"]],previousId:null,id:"r2-102",order:102,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 102",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3,clue:1},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:1},{id:"c7",q:1,r:2},{id:"c8",q:1,r:3},{id:"c9",q:1,r:4,parity:"odd"},{id:"c10",q:1,r:5},{id:"c11",q:2,r:0},{id:"c12",q:2,r:2,clue:9},{id:"c13",q:2,r:3,clue:7},{id:"c14",q:2,r:4},{id:"c15",q:2,r:5},{id:"c16",q:3,r:0},{id:"c17",q:3,r:1},{id:"c18",q:3,r:2},{id:"c19",q:3,r:3},{id:"c20",q:3,r:4},{id:"c21",q:3,r:5},{id:"c22",q:4,r:0},{id:"c23",q:4,r:1},{id:"c24",q:4,r:2},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4},{id:"c27",q:4,r:5}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c20","c15"],initialOpen:!1}],walls:[["c5","c9"]],previousId:null,id:"r2-103",order:103,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 103",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle",clue:26},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:1,category:"circle"},{id:"c12",q:2,r:2,category:"triangle"},{id:"c13",q:2,r:3,category:"circle"},{id:"c14",q:2,r:4,category:"triangle"},{id:"c15",q:2,r:5,category:"circle"},{id:"c16",q:3,r:0,category:"circle"},{id:"c17",q:3,r:1,category:"triangle"},{id:"c18",q:3,r:2,category:"circle"},{id:"c19",q:3,r:3,category:"triangle"},{id:"c20",q:3,r:4,category:"circle"},{id:"c21",q:3,r:5,category:"triangle"},{id:"c22",q:4,r:0,category:"triangle"},{id:"c23",q:4,r:1,category:"circle"},{id:"c24",q:4,r:2,category:"triangle"},{id:"c25",q:4,r:3,clue:1,category:"circle"},{id:"c26",q:4,r:4,category:"triangle"},{id:"c27",q:4,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c3","c8"]],previousId:null,id:"r2-104",order:104,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 104",caption:""},{id:"r2-105",contentRevision:2,order:105,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u9009\u62E9",chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",role:"\u7EC3\u4E60",targetDifficulty:62,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1,parity:"even"},{id:"c1",x:1,y:0,w:1,h:2},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:2,y:1,w:1,h:1},{id:"c6",x:3,y:1,w:1,h:1,clue:12},{id:"c7",x:0,y:2,w:1,h:1},{id:"c8",x:1,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1},{id:"c10",x:3,y:2,w:1,h:1,direction:"dl"},{id:"c11",x:0,y:3,w:1,h:1,parity:"odd"},{id:"c12",x:1,y:3,w:2,h:1},{id:"c13",x:3,y:3,w:1,h:1}],previousId:"campaign200-136",playerBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",estimatedBand:"\u559C\u6B22\u7684\u672A\u77E5\u8D77\u70B9",objectiveScore:88},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle",clue:23},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c6",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c7",clue:1,category:"circle"},{x:4,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"triangle",direction:"lr"},{x:3,y:2,w:1,h:2,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle",clue:19},{x:0,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c21",category:"circle"},{x:2,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c4","c5"],initialOpen:!1}],previousId:null,id:"r2-106",order:106,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 106",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle",clue:24},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle",clue:3},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,clue:1,category:"circle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"circle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"triangle"},{id:"c19",q:3,r:1,category:"circle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:1,category:"triangle"},{id:"c26",q:4,r:2,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c19","c25"]],previousId:null,id:"r2-107",order:107,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 107",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:2,id:"c1",parity:"even"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",parity:"even"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",clue:15},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:2,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",clue:1},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c14","c20"]],previousId:null,id:"r2-108",order:108,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:82,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 108",caption:""},{id:"r2-109",contentRevision:2,order:109,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","alternation","walls","rhythm-door"],title:"\u901A\u9053 \xB7 \u53CC\u8272 \xB7 \u5899 \xB7 \u95E8\u7684\u5C0F\u5F84",chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",role:"\u56DE\u843D",targetDifficulty:56,caption:"",cells:[{id:"c0",x:3,y:0,w:1,h:1,category:"circle"},{id:"c1",x:2,y:0,w:1,h:1,category:"triangle"},{id:"c2",x:1,y:0,w:1,h:1,category:"circle"},{id:"c3",x:0,y:0,w:1,h:2,category:"triangle"},{id:"c4",x:3,y:1,w:1,h:1,category:"triangle"},{id:"c5",x:2,y:1,w:1,h:1,clue:1,category:"circle"},{id:"c6",x:1,y:1,w:1,h:1,category:"circle"},{id:"c7",x:3,y:2,w:1,h:1,category:"circle"},{id:"c8",x:2,y:2,w:1,h:1,category:"triangle"},{id:"c9",x:0,y:2,w:2,h:1,category:"triangle"},{id:"c10",x:3,y:3,w:1,h:1,category:"triangle",direction:"lu"},{id:"c11",x:2,y:3,w:1,h:1,category:"circle"},{id:"c12",x:1,y:3,w:1,h:1,category:"triangle"},{id:"c13",x:0,y:3,w:1,h:1,category:"circle"}],doors:[{edge:["c2","c3"],initialOpen:!1}],walls:[["c4","c5"]],previousId:"campaign200-149",playerBand:"\u7565\u96BE",estimatedBand:"\u7565\u96BE",objectiveScore:65},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1",clue:9},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",direction:"du"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:1,y:4,w:1,h:1,id:"c24",clue:1},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c1","c7"],["c9","c10"]],previousId:null,id:"r2-110",order:110,chapter:11,chapterTitle:"\u7B2C11\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:60,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 110",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,clue:1,category:"circle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,category:"triangle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"triangle",clue:16},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"circle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"triangle"},{id:"c22",q:3,r:5,category:"circle"},{id:"c23",q:4,r:0,category:"triangle"},{id:"c24",q:4,r:1,category:"circle"},{id:"c25",q:4,r:3,category:"triangle",clue:26},{id:"c26",q:4,r:4,category:"circle",clue:25},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-111",order:111,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 111",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:2,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5",clue:23},{x:1,y:1,w:1,h:1,id:"c6",direction:"ru"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",parity:"odd"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:2,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24",direction:"lr"},{x:5,y:4,w:1,h:1,id:"c25",clue:1}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-112",order:112,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 112",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5",clue:1},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7",direction:"du"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:2,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24",direction:"lr"},{x:5,y:4,w:1,h:1,id:"c25",parity:"odd"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c8","c14"],initialOpen:!1}],previousId:null,id:"r2-113",order:113,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:83,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 113",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1,clue:3},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3,clue:1},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1,clue:7},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5,clue:24},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,parity:"odd"},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1,clue:11},{id:"c20",q:3,r:2,clue:16},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:27},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0,clue:12},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c5","c10"]],previousId:null,id:"r2-114",order:114,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 114",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",parity:"odd"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:2,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21",clue:22},{x:3,y:4,w:1,h:1,id:"c22",clue:21},{x:4,y:4,w:1,h:1,id:"c23"}],features:["big","parity","walls"],contentRevision:2,walls:[["c7","c11"],["c20","c21"]],previousId:null,id:"r2-115",order:115,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 115",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",direction:"du"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9",clue:6},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13",clue:1},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:2,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:2,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26",parity:"odd"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-116",order:116,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 116",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,clue:1,category:"circle"},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle",clue:9},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"circle"},{id:"c11",q:2,r:0,category:"triangle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"triangle"},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle",clue:26},{id:"c23",q:4,r:0,category:"circle"},{id:"c24",q:4,r:1,category:"circle"},{id:"c25",q:4,r:2,category:"triangle"},{id:"c26",q:4,r:4,category:"triangle"},{id:"c27",q:4,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c19","c24"]],previousId:null,id:"r2-117",order:117,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:60,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 117",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1,clue:7},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0,parity:"even"},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,clue:22},{id:"c16",q:2,r:4,clue:19},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c4","c10"],["c2","c8"]],previousId:null,id:"r2-118",order:118,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:83,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 118",caption:""},{id:"r2-119",contentRevision:2,order:119,mode:"campaign-200-r2",geometry:"blocks",features:["big","direction","parity"],title:"\u901A\u9053 \xB7 \u5947\u5076\u7684\u4EA4\u9519",chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",role:"\u56DE\u843D",targetDifficulty:56,caption:"",cells:[{id:"c0",x:0,y:0,w:1,h:1},{id:"c1",x:1,y:0,w:1,h:1},{id:"c2",x:2,y:0,w:1,h:1},{id:"c3",x:3,y:0,w:1,h:1},{id:"c4",x:0,y:1,w:1,h:1},{id:"c5",x:1,y:1,w:1,h:2},{id:"c6",x:2,y:1,w:1,h:1},{id:"c7",x:3,y:1,w:1,h:1,clue:10},{id:"c8",x:0,y:2,w:1,h:1},{id:"c9",x:2,y:2,w:1,h:1,clue:1},{id:"c10",x:3,y:2,w:1,h:2,parity:"odd"},{id:"c11",x:0,y:3,w:1,h:1,direction:"ru"},{id:"c12",x:1,y:3,w:1,h:1},{id:"c13",x:2,y:3,w:1,h:1}],previousId:"campaign200-158",playerBand:"\u7565\u96BE",estimatedBand:"\u7565\u96BE",objectiveScore:49},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:1,r:0,clue:19},{id:"c6",q:1,r:1},{id:"c7",q:1,r:2},{id:"c8",q:1,r:3,parity:"even"},{id:"c9",q:1,r:4},{id:"c10",q:2,r:0},{id:"c11",q:2,r:1},{id:"c12",q:2,r:2,clue:11},{id:"c13",q:2,r:3},{id:"c14",q:2,r:4},{id:"c15",q:2,r:5},{id:"c16",q:3,r:0},{id:"c17",q:3,r:1},{id:"c18",q:3,r:2,clue:9},{id:"c19",q:3,r:3},{id:"c20",q:3,r:4,clue:1},{id:"c21",q:3,r:5},{id:"c22",q:4,r:0},{id:"c23",q:4,r:1},{id:"c24",q:4,r:2},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4,clue:4},{id:"c27",q:4,r:5}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c22","c16"],initialOpen:!1}],walls:[["c6","c10"]],previousId:null,id:"r2-120",order:120,chapter:12,chapterTitle:"\u7B2C12\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:59,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 120",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,category:"triangle"},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,clue:1,category:"circle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"triangle"},{id:"c19",q:3,r:1,category:"circle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"circle"},{id:"c23",q:3,r:5,category:"triangle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c22","c16"],initialOpen:!1}],walls:[["c3","c9"]],previousId:null,id:"r2-121",order:121,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 121",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4",direction:"ru"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:4,y:1,w:1,h:1,id:"c7"},{x:5,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12",direction:"lr"},{x:4,y:2,w:1,h:1,id:"c13"},{x:5,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25",clue:24}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c25"],initialOpen:!1}],previousId:null,id:"r2-122",order:122,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 122",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",direction:"ru"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9",clue:1},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20",clue:26},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c18"],initialOpen:!1}],walls:[["c8","c9"]],previousId:null,id:"r2-123",order:123,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:82,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 123",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:2,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7",parity:"even"},{x:4,y:1,w:1,h:1,id:"c8",direction:"lu"},{x:0,y:2,w:1,h:1,id:"c9",clue:1},{x:1,y:2,w:1,h:1,id:"c10",clue:19},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17"},{x:4,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-124",order:124,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 124",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle",clue:28},{x:2,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"circle"},{x:3,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:5,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c10",category:"circle"},{x:3,y:2,w:1,h:1,id:"c11",clue:1,category:"circle"},{x:5,y:2,w:1,h:1,id:"c12",category:"circle"},{x:0,y:3,w:1,h:1,id:"c13",category:"circle"},{x:1,y:3,w:1,h:2,id:"c14",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c17",category:"circle"},{x:5,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c19",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c20",category:"circle"},{x:3,y:4,w:1,h:1,id:"c21",category:"circle"},{x:4,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c23",category:"circle"},{x:0,y:5,w:1,h:1,id:"c24",category:"circle"},{x:1,y:5,w:1,h:1,id:"c25",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c26",category:"circle"},{x:3,y:5,w:1,h:1,id:"c27",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c28",category:"circle"},{x:5,y:5,w:1,h:1,id:"c29",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c1","c5"],["c22","c28"]],previousId:null,id:"r2-125",order:125,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 125",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,clue:1,category:"circle"},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"circle"},{id:"c11",q:1,r:5,category:"triangle",clue:8},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"triangle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"circle",clue:21},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"triangle"},{id:"c25",q:4,r:1,category:"circle"},{id:"c26",q:4,r:2,category:"triangle"},{id:"c27",q:4,r:3,category:"circle"},{id:"c28",q:4,r:4,category:"triangle"},{id:"c29",q:4,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c7","c8"],initialOpen:!1}],walls:[["c17","c22"],["c20","c26"]],previousId:null,id:"r2-126",order:126,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:63,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 126",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,clue:1,category:"circle"},{id:"c7",q:1,r:1,category:"circle",clue:27},{id:"c8",q:1,r:2,category:"triangle",clue:28},{id:"c9",q:1,r:3,category:"circle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"triangle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:1,category:"triangle"},{id:"c26",q:4,r:2,category:"circle"},{id:"c27",q:4,r:3,category:"circle"},{id:"c28",q:4,r:4,category:"triangle",clue:12},{id:"c29",q:4,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c14","c19"]],previousId:null,id:"r2-127",order:127,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:63,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 127",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1,clue:22},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2,clue:16},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5,parity:"odd"},{id:"c18",q:3,r:0,clue:19},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3,clue:9},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5,clue:1}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c20","c14"],initialOpen:!1}],walls:[["c1","c6"],["c14","c15"]],previousId:null,id:"r2-128",order:128,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:80,title:"\u516D\u8FB9 \xB7 \u4EA4\u9519\u6311\u6218 128",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",clue:1,category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle",clue:13},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle"},{x:0,y:2,w:1,h:2,id:"c12",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c13",category:"circle"},{x:2,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c15",category:"circle"},{x:4,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c17",category:"circle"},{x:1,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:2,y:3,w:1,h:2,id:"c19",category:"circle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:5,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c0","c1"]],previousId:null,id:"r2-129",order:129,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:56,objectiveScore:58,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 129",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7",clue:1},{x:3,y:1,w:1,h:1,id:"c8",direction:"du"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17",direction:"dr"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c0","c1"]],previousId:null,id:"r2-130",order:130,chapter:13,chapterTitle:"\u7B2C13\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:59,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 130",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6",clue:1},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:5,y:2,w:1,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17",clue:23},{x:3,y:3,w:1,h:1,id:"c18",direction:"du"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c25"],initialOpen:!1}],walls:[["c4","c5"],["c5","c6"]],previousId:null,id:"r2-131",order:131,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 131",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2,clue:1},{id:"c3",q:0,r:3,clue:7},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4,parity:"even"},{id:"c11",q:1,r:5,clue:11},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:24},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:3,r:0,clue:26},{id:"c18",q:3,r:1},{id:"c19",q:3,r:2},{id:"c20",q:3,r:3,clue:19},{id:"c21",q:3,r:4},{id:"c22",q:3,r:5},{id:"c23",q:4,r:0},{id:"c24",q:4,r:2},{id:"c25",q:4,r:3},{id:"c26",q:4,r:4},{id:"c27",q:4,r:5}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c11","c10"],initialOpen:!1}],walls:[["c17","c18"]],previousId:null,id:"r2-132",order:132,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 132",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2,clue:25},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5,clue:13},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3,clue:17},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0,clue:28},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4,clue:11},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2,clue:1},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:9},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2,parity:"odd"},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c3","c8"],["c21","c22"]],previousId:null,id:"r2-133",order:133,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:81,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 133",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:23},{x:1,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15",clue:1},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23",direction:"lr"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c6","c7"]],previousId:null,id:"r2-134",order:134,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 134",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0"},{x:3,y:0,w:1,h:1,id:"c1"},{x:4,y:0,w:1,h:1,id:"c2"},{x:5,y:0,w:1,h:1,id:"c3"},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8",parity:"even"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13",clue:1},{x:4,y:2,w:2,h:1,id:"c14"},{x:0,y:3,w:1,h:1,id:"c15"},{x:1,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["big","parity","walls"],contentRevision:2,walls:[["c16","c17"]],previousId:null,id:"r2-135",order:135,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 135",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c1",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c2",category:"circle"},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"circle"},{x:2,y:1,w:1,h:1,id:"c6",category:"circle",direction:"dr"},{x:3,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"circle"},{x:5,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c11",category:"circle"},{x:2,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c13",category:"circle"},{x:4,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c15",clue:1,category:"circle"},{x:0,y:3,w:1,h:1,id:"c16",category:"circle"},{x:1,y:3,w:1,h:2,id:"c17",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c18",category:"circle"},{x:3,y:3,w:1,h:1,id:"c19",category:"triangle",direction:"du"},{x:4,y:3,w:1,h:1,id:"c20",category:"circle"},{x:5,y:3,w:1,h:1,id:"c21",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c22",category:"triangle",clue:18},{x:3,y:4,w:1,h:1,id:"c23",category:"circle"},{x:4,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c25",category:"circle"}],features:["big","direction","alternation"],contentRevision:2,previousId:null,id:"r2-136",order:136,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 136",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",clue:1},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13",parity:"even"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:2,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:0,y:4,w:1,h:1,id:"c23"},{x:1,y:4,w:1,h:1,id:"c24"},{x:2,y:4,w:1,h:1,id:"c25"},{x:3,y:4,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"},{x:0,y:5,w:1,h:1,id:"c28"},{x:2,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c16","c17"],["c9","c15"],["c18","c23"]],previousId:null,id:"r2-137",order:137,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:62,objectiveScore:62,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 137",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",clue:21},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9",direction:"lu"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c13",parity:"odd"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:4,y:3,w:1,h:1,id:"c19"},{x:5,y:3,w:1,h:2,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c23","c24"],initialOpen:!1}],previousId:null,id:"r2-138",order:138,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:79,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 138",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:2,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",parity:"even"},{x:2,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:2,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:0,y:4,w:1,h:1,id:"c21",clue:1},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["big","parity","walls"],contentRevision:2,walls:[["c8","c13"]],previousId:null,id:"r2-139",order:139,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:56,objectiveScore:53,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 139",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16",clue:1},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18",clue:26},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20",direction:"lu"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29",clue:4}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c12","c18"],initialOpen:!1}],walls:[["c9","c15"]],previousId:null,id:"r2-140",order:140,chapter:14,chapterTitle:"\u7B2C14\u7AE0 \xB7 \u533A\u57DF\u89C4\u5212",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:60,objectiveScore:60,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 140",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"circle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,clue:1,category:"circle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"triangle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"circle"},{id:"c19",q:3,r:2,category:"triangle"},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:4,r:0,category:"circle"},{id:"c23",q:4,r:1,category:"triangle"},{id:"c24",q:4,r:2,category:"triangle"},{id:"c25",q:4,r:3,category:"circle"},{id:"c26",q:4,r:4,category:"circle"},{id:"c27",q:4,r:5,category:"triangle",clue:30},{id:"c28",q:5,r:1,category:"circle"},{id:"c29",q:5,r:3,category:"triangle"},{id:"c30",q:5,r:4,category:"triangle"},{id:"c31",q:5,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c6","c7"],initialOpen:!1}],walls:[["c6","c12"]],previousId:null,id:"r2-141",order:141,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:67,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 141",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:2,category:"circle"},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"circle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"triangle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"circle"},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"circle"},{id:"c23",q:4,r:0,category:"circle"},{id:"c24",q:4,r:1,category:"triangle"},{id:"c25",q:4,r:2,category:"circle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c6","c11"]],previousId:null,id:"r2-142",order:142,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:67,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 142",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2",clue:1},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",direction:"lr"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22",clue:26},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:3,y:4,w:1,h:1,id:"c26"},{x:4,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c15","c16"]],previousId:null,id:"r2-143",order:143,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:67,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 143",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"circle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"triangle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"circle"},{id:"c21",q:3,r:3,category:"triangle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,clue:1,category:"circle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:1,category:"triangle"},{id:"c26",q:4,r:4,category:"circle"},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-144",order:144,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 144",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:2,y:0,w:2,h:1,id:"c0"},{x:4,y:0,w:1,h:1,id:"c1"},{x:0,y:1,w:1,h:1,id:"c2"},{x:1,y:1,w:1,h:1,id:"c3"},{x:2,y:1,w:1,h:1,id:"c4"},{x:3,y:1,w:1,h:1,id:"c5",direction:"lr"},{x:4,y:1,w:1,h:1,id:"c6"},{x:0,y:2,w:2,h:1,id:"c7"},{x:2,y:2,w:1,h:1,id:"c8"},{x:3,y:2,w:1,h:1,id:"c9"},{x:4,y:2,w:1,h:1,id:"c10"},{x:0,y:3,w:1,h:1,id:"c11"},{x:1,y:3,w:1,h:1,id:"c12"},{x:2,y:3,w:1,h:1,id:"c13"},{x:3,y:3,w:1,h:1,id:"c14"},{x:4,y:3,w:1,h:1,id:"c15"},{x:0,y:4,w:1,h:1,id:"c16"},{x:1,y:4,w:1,h:1,id:"c17",parity:"odd"},{x:2,y:4,w:1,h:1,id:"c18"},{x:3,y:4,w:1,h:1,id:"c19"}],features:["big","direction","parity","walls"],contentRevision:2,walls:[["c2","c7"]],previousId:null,id:"r2-145",order:145,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",estimatedBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:84,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 145",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c12"},{x:5,y:2,w:1,h:1,id:"c13",clue:1},{x:0,y:3,w:1,h:1,id:"c14",parity:"odd"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:4,y:3,w:1,h:2,id:"c17"},{x:5,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:5,y:4,w:1,h:1,id:"c23"},{x:0,y:5,w:1,h:1,id:"c24"},{x:1,y:5,w:1,h:1,id:"c25"},{x:2,y:5,w:1,h:1,id:"c26"},{x:3,y:5,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c20","c25"]],previousId:null,id:"r2-146",order:146,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 146",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:1,category:"triangle"},{id:"c1",q:0,r:2,clue:1,category:"circle"},{id:"c2",q:0,r:3,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:0,category:"triangle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"triangle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"triangle",clue:18},{id:"c16",q:2,r:5,category:"triangle"},{id:"c17",q:3,r:0,category:"circle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"triangle"},{id:"c22",q:3,r:5,category:"circle"},{id:"c23",q:4,r:1,category:"circle"},{id:"c24",q:4,r:2,category:"triangle"},{id:"c25",q:4,r:3,category:"circle"},{id:"c26",q:4,r:4,category:"circle"},{id:"c27",q:4,r:5,category:"triangle"}],features:["alternation","walls"],contentRevision:2,walls:[["c7","c13"]],previousId:null,id:"r2-147",order:147,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 147",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle",direction:"dl"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c9",category:"circle"},{x:0,y:2,w:1,h:1,id:"c10",category:"circle"},{x:1,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:2,y:2,w:2,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c15",category:"circle"},{x:2,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c16",category:"circle"},{x:4,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"circle"},{x:1,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c22",category:"circle"},{x:5,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c24",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c25",category:"circle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle",direction:"ru"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c29","c28"],initialOpen:!1}],previousId:null,id:"r2-148",order:148,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:80,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 148",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:2,h:1,id:"c0"},{x:3,y:0,w:1,h:1,id:"c1"},{x:4,y:0,w:1,h:1,id:"c2"},{x:5,y:0,w:1,h:1,id:"c3",clue:1},{x:0,y:1,w:1,h:1,id:"c4"},{x:1,y:1,w:1,h:1,id:"c5"},{x:2,y:1,w:1,h:1,id:"c6"},{x:3,y:1,w:1,h:1,id:"c7"},{x:4,y:1,w:1,h:1,id:"c8"},{x:5,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15",clue:9},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17",clue:24},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:2,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",parity:"even"},{x:5,y:4,w:1,h:1,id:"c26"},{x:1,y:5,w:1,h:1,id:"c27"},{x:2,y:5,w:1,h:1,id:"c28"},{x:3,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-149",order:149,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 149",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:2,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c3",category:"circle"},{x:5,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:2,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:4,y:2,w:1,h:1,id:"c11",category:"circle"},{x:5,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c13",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c14",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c15",category:"circle"},{x:3,y:3,w:1,h:1,id:"c16",clue:1,category:"circle"},{x:4,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c18",category:"circle"},{x:0,y:4,w:1,h:1,id:"c19",category:"circle"},{x:2,y:4,w:1,h:1,id:"c20",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c22",category:"circle"},{x:5,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c24",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c25",category:"circle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c27","c28"]],previousId:null,id:"r2-150",order:150,chapter:15,chapterTitle:"\u7B2C15\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 150",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3",clue:1},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8",direction:"du"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11",clue:8},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20",clue:17},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c25","c19"],initialOpen:!1}],walls:[["c6","c7"]],previousId:null,id:"r2-151",order:151,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 151",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle",clue:3},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",clue:1,category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle"},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle",direction:"lu"},{x:0,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c13",category:"circle"},{x:2,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c15",category:"circle"},{x:4,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c17",category:"circle"},{x:1,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c19",category:"circle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle",direction:"du"},{x:0,y:4,w:2,h:1,id:"c22",category:"circle"},{x:2,y:4,w:1,h:1,id:"c23",category:"circle"},{x:3,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c26",category:"circle"},{x:0,y:5,w:1,h:1,id:"c27",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c28",category:"circle"},{x:2,y:5,w:1,h:1,id:"c29",category:"triangle"},{x:3,y:5,w:2,h:1,id:"c30",category:"circle"},{x:5,y:5,w:1,h:1,id:"c31",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c9","c10"]],previousId:null,id:"r2-152",order:152,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 152",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,clue:1,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"circle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"triangle"},{id:"c8",q:1,r:3,category:"circle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"triangle"},{id:"c16",q:2,r:5,category:"circle",clue:27},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle",clue:19},{id:"c20",q:3,r:3,category:"circle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle"},{id:"c23",q:4,r:0,category:"circle"},{id:"c24",q:4,r:1,category:"triangle"},{id:"c25",q:4,r:2,category:"triangle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"},{id:"c28",q:5,r:1,category:"circle"},{id:"c29",q:5,r:2,category:"triangle"},{id:"c30",q:5,r:3,category:"circle"},{id:"c31",q:5,r:4,category:"triangle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c30","c31"],initialOpen:!1}],walls:[["c19","c25"]],previousId:null,id:"r2-153",order:153,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:80,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 153",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:2,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12",parity:"even"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:2,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18",clue:8},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:1,y:4,w:1,h:1,id:"c22"},{x:2,y:4,w:1,h:1,id:"c23"},{x:3,y:4,w:1,h:1,id:"c24"},{x:4,y:4,w:1,h:1,id:"c25",clue:1},{x:5,y:4,w:1,h:1,id:"c26"},{x:0,y:5,w:1,h:1,id:"c27"},{x:1,y:5,w:1,h:1,id:"c28"},{x:3,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c9","c15"]],previousId:null,id:"r2-154",order:154,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 154",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:3,category:"triangle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle",clue:24},{id:"c5",q:1,r:0,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"circle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"triangle"},{id:"c13",q:2,r:2,category:"circle"},{id:"c14",q:2,r:3,category:"triangle"},{id:"c15",q:2,r:4,category:"triangle"},{id:"c16",q:3,r:0,category:"triangle"},{id:"c17",q:3,r:1,category:"circle"},{id:"c18",q:3,r:2,category:"triangle",clue:10},{id:"c19",q:3,r:3,category:"circle"},{id:"c20",q:3,r:4,category:"circle"},{id:"c21",q:3,r:5,category:"triangle"},{id:"c22",q:4,r:0,category:"circle"},{id:"c23",q:4,r:1,category:"triangle"},{id:"c24",q:4,r:2,category:"circle"},{id:"c25",q:4,r:3,category:"triangle"},{id:"c26",q:4,r:4,category:"triangle",clue:30},{id:"c27",q:4,r:5,category:"circle"},{id:"c28",q:5,r:2,category:"triangle"},{id:"c29",q:5,r:3,category:"circle"},{id:"c30",q:5,r:4,category:"circle"},{id:"c31",q:5,r:5,category:"triangle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c9","c8"],initialOpen:!1}],walls:[["c12","c17"]],previousId:null,id:"r2-155",order:155,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 155",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,clue:1,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle"},{id:"c5",q:0,r:5,category:"triangle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"circle"},{id:"c10",q:1,r:4,category:"triangle",clue:16},{id:"c11",q:1,r:5,category:"circle"},{id:"c12",q:2,r:0,category:"circle"},{id:"c13",q:2,r:1,category:"circle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"triangle"},{id:"c16",q:2,r:4,category:"triangle",clue:26},{id:"c17",q:2,r:5,category:"circle"},{id:"c18",q:3,r:0,category:"triangle"},{id:"c19",q:3,r:1,category:"triangle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"triangle"},{id:"c24",q:4,r:0,category:"circle"},{id:"c25",q:4,r:2,category:"circle"},{id:"c26",q:4,r:3,category:"triangle"},{id:"c27",q:4,r:4,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c22","c27"]],previousId:null,id:"r2-156",order:156,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 156",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2",clue:14},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17",clue:1},{x:0,y:3,w:1,h:2,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19",parity:"odd"},{x:2,y:3,w:2,h:1,id:"c20"},{x:4,y:3,w:1,h:1,id:"c21",clue:26},{x:5,y:3,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c2","c8"],["c11","c17"]],previousId:null,id:"r2-157",order:157,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:68,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 157",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",parity:"even"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:2,h:1,id:"c13"},{x:3,y:2,w:2,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17",clue:1},{x:2,y:3,w:1,h:1,id:"c18",direction:"dl"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",clue:26},{x:4,y:4,w:1,h:1,id:"c26",clue:25},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c5","c11"],initialOpen:!1}],previousId:null,id:"r2-158",order:158,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:85,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 158",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle",clue:21},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle"},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:2,w:2,h:1,id:"c13",category:"circle"},{x:3,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c15",category:"triangle",direction:"du"},{x:5,y:2,w:1,h:1,id:"c16",category:"circle"},{x:0,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"circle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:5,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:0,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c29",category:"circle"},{x:3,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c31",clue:1,category:"circle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c5","c11"],initialOpen:!1}],previousId:null,id:"r2-159",order:159,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:62,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 159",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",clue:28},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10",parity:"odd"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c13"},{x:3,y:2,w:1,h:1,id:"c14",clue:11},{x:4,y:2,w:1,h:2,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:2,y:3,w:1,h:1,id:"c17"},{x:3,y:3,w:1,h:1,id:"c18"},{x:5,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21",clue:1},{x:2,y:4,w:1,h:1,id:"c22"},{x:3,y:4,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"},{x:0,y:5,w:1,h:1,id:"c26"},{x:1,y:5,w:1,h:1,id:"c27"},{x:2,y:5,w:1,h:1,id:"c28"},{x:3,y:5,w:1,h:1,id:"c29"},{x:4,y:5,w:1,h:1,id:"c30"},{x:5,y:5,w:1,h:1,id:"c31"}],features:["big","parity","walls"],contentRevision:2,walls:[["c8","c13"]],previousId:null,id:"r2-160",order:160,chapter:16,chapterTitle:"\u7B2C16\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 160",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",direction:"dl"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13",clue:1},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15",clue:9},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c10","c16"],initialOpen:!1}],previousId:null,id:"r2-161",order:161,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 161",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1,clue:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3,clue:19},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:10},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3,clue:23},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0,parity:"odd"},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3,clue:27},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c10","c15"],["c28","c29"]],previousId:null,id:"r2-162",order:162,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 162",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:0,y:1,w:1,h:1,id:"c3",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c4",category:"circle"},{x:2,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:5,y:1,w:2,h:1,id:"c8",category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"circle"},{x:1,y:2,w:1,h:1,id:"c10",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c11",category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:6,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c17",category:"circle",clue:19},{x:2,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c19",category:"circle"},{x:4,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c21",clue:1,category:"circle"},{x:6,y:3,w:1,h:1,id:"c22",category:"circle"},{x:0,y:4,w:1,h:1,id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c25",category:"circle"},{x:3,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c27",category:"circle"},{x:5,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:6,y:4,w:1,h:1,id:"c29",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c31",category:"circle"},{x:2,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c33",category:"circle"},{x:4,y:5,w:1,h:1,id:"c34",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c3","c4"],["c27","c28"]],previousId:null,id:"r2-163",order:163,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:82,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 163",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",clue:1,category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"circle"},{x:3,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c15",category:"circle",direction:"lr"},{x:5,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:2,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"circle"},{x:4,y:3,w:1,h:1,id:"c21",category:"triangle",clue:16},{x:5,y:3,w:1,h:1,id:"c22",category:"circle"},{x:1,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:2,y:4,w:2,h:1,id:"c24",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c25",category:"circle"},{x:5,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c27",category:"circle"},{x:1,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c29",category:"circle"},{x:4,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c31",category:"circle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c18","c19"]],previousId:null,id:"r2-164",order:164,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:65,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 164",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:24},{x:2,y:0,w:1,h:1,id:"c1"},{x:5,y:0,w:1,h:1,id:"c2"},{x:0,y:1,w:1,h:1,id:"c3",clue:1},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:3,y:1,w:1,h:1,id:"c6"},{x:4,y:1,w:1,h:1,id:"c7"},{x:5,y:1,w:1,h:1,id:"c8"},{x:0,y:2,w:1,h:1,id:"c9"},{x:1,y:2,w:1,h:1,id:"c10"},{x:2,y:2,w:1,h:1,id:"c11"},{x:3,y:2,w:1,h:1,id:"c12"},{x:4,y:2,w:1,h:1,id:"c13"},{x:0,y:3,w:1,h:1,id:"c14"},{x:1,y:3,w:1,h:1,id:"c15"},{x:2,y:3,w:1,h:1,id:"c16"},{x:3,y:3,w:1,h:1,id:"c17",parity:"even"},{x:4,y:3,w:1,h:1,id:"c18"},{x:5,y:3,w:1,h:1,id:"c19"},{x:0,y:4,w:1,h:1,id:"c20"},{x:1,y:4,w:1,h:1,id:"c21"},{x:2,y:4,w:1,h:1,id:"c22",direction:"dr"},{x:3,y:4,w:2,h:1,id:"c23"},{x:5,y:4,w:1,h:2,id:"c24"},{x:0,y:5,w:1,h:1,id:"c25"},{x:1,y:5,w:1,h:1,id:"c26"},{x:2,y:5,w:1,h:1,id:"c27"},{x:3,y:5,w:1,h:1,id:"c28"},{x:4,y:5,w:1,h:1,id:"c29"}],features:["big","direction","parity"],contentRevision:2,previousId:null,id:"r2-165",order:165,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 165",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9",direction:"du"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18",clue:1},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22",clue:26},{x:1,y:4,w:1,h:1,id:"c23",clue:25},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25",direction:"lr"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","rhythm-door"],contentRevision:2,doors:[{edge:["c27","c21"],initialOpen:!1}],previousId:null,id:"r2-166",order:166,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 166",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8",clue:15},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17",clue:1},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20",clue:24},{x:4,y:3,w:1,h:1,id:"c21"},{x:5,y:3,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24",direction:"lu"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c12","c13"]],previousId:null,id:"r2-167",order:167,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:70,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 167",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:1,y:0,w:1,h:1,id:"c0",clue:1},{x:2,y:0,w:1,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:4,y:0,w:1,h:1,id:"c3"},{x:5,y:0,w:1,h:1,id:"c4",parity:"odd"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:2,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8",clue:23},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12"},{x:3,y:2,w:1,h:1,id:"c13",clue:26},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","parity","walls"],contentRevision:2,walls:[["c18","c24"]],previousId:null,id:"r2-168",order:168,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:86,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 168",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:1,category:"triangle"},{id:"c1",q:0,r:2,category:"circle"},{id:"c2",q:0,r:3,category:"triangle"},{id:"c3",q:0,r:4,category:"circle"},{id:"c4",q:0,r:5,category:"triangle"},{id:"c5",q:1,r:0,clue:1,category:"circle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:4,category:"circle"},{id:"c9",q:1,r:5,category:"triangle"},{id:"c10",q:2,r:0,category:"triangle"},{id:"c11",q:2,r:1,category:"circle"},{id:"c12",q:2,r:2,category:"triangle"},{id:"c13",q:2,r:3,category:"circle"},{id:"c14",q:2,r:4,category:"circle"},{id:"c15",q:2,r:5,category:"triangle"},{id:"c16",q:3,r:0,category:"circle"},{id:"c17",q:3,r:1,category:"triangle"},{id:"c18",q:3,r:2,category:"triangle"},{id:"c19",q:3,r:4,category:"triangle"},{id:"c20",q:3,r:5,category:"circle"},{id:"c21",q:4,r:0,category:"circle"},{id:"c22",q:4,r:1,category:"triangle"},{id:"c23",q:4,r:2,category:"circle"},{id:"c24",q:4,r:3,category:"triangle"},{id:"c25",q:4,r:4,category:"circle"},{id:"c26",q:4,r:5,category:"triangle"},{id:"c27",q:5,r:0,category:"circle"},{id:"c28",q:5,r:1,category:"triangle"},{id:"c29",q:5,r:3,category:"circle"},{id:"c30",q:5,r:4,category:"triangle"},{id:"c31",q:5,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c21","c22"],initialOpen:!1}],walls:[["c1","c6"]],previousId:null,id:"r2-169",order:169,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:60,title:"\u516D\u8FB9 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 169",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",clue:15},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8",direction:"lu"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:4,y:4,w:1,h:1,id:"c24"},{x:5,y:4,w:1,h:1,id:"c25"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c11","c17"],initialOpen:!1}],walls:[["c10","c11"]],previousId:null,id:"r2-170",order:170,chapter:17,chapterTitle:"\u7B2C17\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:66,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 170",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c6",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:0,y:3,w:1,h:1,id:"c14",category:"circle"},{x:1,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c17",category:"circle"},{x:4,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c19",category:"circle"},{x:0,y:4,w:2,h:1,id:"c20",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c21",category:"circle"},{x:3,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c23",category:"circle"},{x:5,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c25",clue:1,category:"circle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c17","c18"],["c8","c9"],["c18","c23"]],previousId:null,id:"r2-171",order:171,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 171",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:2,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:3,y:0,w:1,h:2,id:"c1",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c3",category:"circle"},{x:0,y:1,w:1,h:1,id:"c4",category:"circle"},{x:1,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"circle"},{x:5,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"triangle",direction:"lu"},{x:3,y:2,w:1,h:1,id:"c12",category:"circle"},{x:4,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c19",category:"circle"},{x:5,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c21",category:"triangle",clue:30},{x:1,y:4,w:1,h:1,id:"c22",category:"circle"},{x:2,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c24",category:"circle"},{x:4,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c26",category:"circle"},{x:0,y:5,w:1,h:1,id:"c27",category:"circle"},{x:1,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c29",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c30",category:"circle"},{x:5,y:5,w:1,h:1,id:"c31",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c17","c23"]],previousId:null,id:"r2-172",order:172,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 172",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:2,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:2,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6",clue:26},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:0,y:2,w:1,h:1,id:"c10"},{x:1,y:2,w:1,h:1,id:"c11"},{x:2,y:2,w:1,h:1,id:"c12",parity:"odd"},{x:3,y:2,w:1,h:1,id:"c13",direction:"dr"},{x:4,y:2,w:1,h:1,id:"c14"},{x:5,y:2,w:1,h:1,id:"c15",clue:1},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23",clue:20},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c14","c13"],initialOpen:!1}],previousId:null,id:"r2-173",order:173,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 173",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1",direction:"lr"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5",clue:1},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11",clue:26},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:0,y:3,w:1,h:1,id:"c16"},{x:1,y:3,w:1,h:1,id:"c17"},{x:2,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22",clue:24},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["direction","walls"],contentRevision:2,walls:[["c15","c20"],["c9","c10"]],previousId:null,id:"r2-174",order:174,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:70,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 174",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle",clue:6},{x:2,y:0,w:1,h:1,id:"c2",category:"circle",direction:"dl"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",clue:1,category:"circle"},{x:2,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c9",category:"circle"},{x:4,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c11",category:"circle"},{x:0,y:2,w:1,h:1,id:"c12",category:"circle"},{x:1,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c14",category:"circle"},{x:3,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c16",category:"circle"},{x:5,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c18",category:"circle"},{x:1,y:3,w:1,h:1,id:"c19",category:"triangle",clue:24},{x:2,y:3,w:2,h:1,id:"c20",category:"circle"},{x:4,y:3,w:1,h:1,id:"c21",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c22",category:"circle"},{x:0,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c24",category:"circle"},{x:2,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c26",category:"circle"},{x:4,y:4,w:2,h:1,id:"c27",category:"triangle"}],features:["big","direction","alternation"],contentRevision:2,previousId:null,id:"r2-175",order:175,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:70,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 175",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",category:"circle"},{x:2,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:3,y:1,w:1,h:2,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"triangle",clue:26},{x:5,y:1,w:1,h:1,id:"c11",category:"circle"},{x:0,y:2,w:1,h:1,id:"c12",category:"circle"},{x:1,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c14",category:"circle"},{x:4,y:2,w:1,h:1,id:"c15",category:"circle"},{x:5,y:2,w:1,h:1,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle",clue:6},{x:3,y:3,w:1,h:1,id:"c20",category:"circle"},{x:4,y:3,w:2,h:1,id:"c21",clue:1,category:"circle"},{x:0,y:4,w:1,h:1,id:"c22",category:"circle"},{x:1,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c24",category:"circle"},{x:3,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c26",category:"circle"},{x:5,y:4,w:1,h:1,id:"c27",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c1","c7"]],previousId:null,id:"r2-176",order:176,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:71,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 176",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"circle"},{x:3,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c15",clue:1,category:"circle"},{x:5,y:2,w:1,h:2,id:"c16",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c17",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c18",category:"circle",direction:"lr"},{x:2,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:0,y:4,w:1,h:1,id:"c22",category:"circle"},{x:1,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c24",category:"circle"},{x:3,y:4,w:1,h:2,id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:0,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c29",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c30",category:"circle"},{x:5,y:5,w:1,h:1,id:"c31",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c2","c3"]],previousId:null,id:"r2-177",order:177,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:71,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 177",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4",parity:"even"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",clue:1},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:2,id:"c13"},{x:2,y:2,w:1,h:2,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15",direction:"lu"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19",clue:18},{x:4,y:3,w:1,h:1,id:"c20"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c20","c19"],initialOpen:!1}],previousId:null,id:"r2-178",order:178,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:86,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 178",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c3"},{x:1,y:1,w:1,h:1,id:"c4"},{x:2,y:1,w:1,h:1,id:"c5"},{x:5,y:1,w:1,h:1,id:"c6",clue:1},{x:0,y:2,w:1,h:1,id:"c7"},{x:1,y:2,w:1,h:1,id:"c8"},{x:2,y:2,w:1,h:1,id:"c9"},{x:3,y:2,w:1,h:1,id:"c10"},{x:4,y:2,w:1,h:1,id:"c11"},{x:5,y:2,w:1,h:1,id:"c12"},{x:0,y:3,w:1,h:1,id:"c13"},{x:1,y:3,w:1,h:1,id:"c14"},{x:2,y:3,w:1,h:1,id:"c15"},{x:3,y:3,w:1,h:1,id:"c16"},{x:4,y:3,w:1,h:1,id:"c17"},{x:5,y:3,w:1,h:1,id:"c18"},{x:0,y:4,w:1,h:1,id:"c19"},{x:1,y:4,w:1,h:1,id:"c20"},{x:2,y:4,w:1,h:1,id:"c21"},{x:3,y:4,w:1,h:1,id:"c22"},{x:4,y:4,w:1,h:1,id:"c23"},{x:5,y:4,w:1,h:2,id:"c24",parity:"odd"},{x:0,y:5,w:1,h:1,id:"c25"},{x:1,y:5,w:1,h:1,id:"c26"},{x:2,y:5,w:1,h:1,id:"c27"},{x:3,y:5,w:1,h:1,id:"c28"},{x:4,y:5,w:1,h:1,id:"c29"}],features:["big","parity","walls"],contentRevision:2,walls:[["c27","c28"]],previousId:null,id:"r2-179",order:179,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 179",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"circle"},{id:"c1",q:0,r:1,category:"triangle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:4,category:"triangle"},{id:"c4",q:0,r:5,category:"circle"},{id:"c5",q:1,r:0,category:"triangle"},{id:"c6",q:1,r:1,category:"triangle"},{id:"c7",q:1,r:2,category:"circle"},{id:"c8",q:1,r:3,category:"triangle"},{id:"c9",q:1,r:4,category:"circle"},{id:"c10",q:1,r:5,category:"triangle"},{id:"c11",q:2,r:0,category:"circle"},{id:"c12",q:2,r:1,category:"circle"},{id:"c13",q:2,r:2,category:"triangle"},{id:"c14",q:2,r:3,category:"circle"},{id:"c15",q:2,r:4,category:"triangle"},{id:"c16",q:2,r:5,category:"circle"},{id:"c17",q:3,r:0,category:"triangle"},{id:"c18",q:3,r:1,category:"triangle"},{id:"c19",q:3,r:2,category:"circle"},{id:"c20",q:3,r:3,category:"triangle"},{id:"c21",q:3,r:4,category:"circle"},{id:"c22",q:3,r:5,category:"triangle"},{id:"c23",q:4,r:0,clue:1,category:"circle"},{id:"c24",q:4,r:4,category:"triangle",clue:14},{id:"c25",q:4,r:5,category:"circle"}],features:["alternation","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c7","c8"],initialOpen:!1}],walls:[["c9","c10"],["c9","c15"]],previousId:null,id:"r2-180",order:180,chapter:18,chapterTitle:"\u7B2C18\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 180",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",clue:1,category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"circle"},{x:5,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:6,y:1,w:1,h:1,id:"c11",category:"circle"},{x:0,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c13",category:"circle"},{x:2,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c14",category:"circle"},{x:4,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c16",category:"circle"},{x:6,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c18",category:"circle"},{x:1,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c21",category:"circle"},{x:5,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:6,y:3,w:1,h:1,id:"c23",category:"circle"},{x:0,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:1,y:4,w:2,h:1,id:"c25",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c33",category:"circle"},{x:5,y:5,w:1,h:1,id:"c34",category:"triangle",clue:22},{x:6,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c22","c23"]],previousId:null,id:"r2-181",order:181,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:66,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 181",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7",clue:23},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16",clue:1},{x:5,y:2,w:1,h:1,id:"c17",direction:"dl"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22"},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24"},{x:1,y:4,w:1,h:1,id:"c25"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c12","c18"],initialOpen:!1}],walls:[["c1","c7"]],previousId:null,id:"r2-182",order:182,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:72,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 182",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4,clue:12},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2,clue:17},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1,clue:18},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3},{id:"c16",q:2,r:4,parity:"odd"},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2,clue:1},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:7},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c15","c16"]],previousId:null,id:"r2-183",order:183,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:72,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 183",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c5",category:"triangle",clue:32},{x:2,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c7",clue:1,category:"circle"},{x:4,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c9",category:"circle"},{x:6,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c11",category:"circle"},{x:2,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:2,h:1,id:"c13",category:"triangle"},{x:6,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"circle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c19",category:"circle"},{x:5,y:3,w:1,h:1,id:"c20",category:"triangle"},{x:6,y:3,w:1,h:1,id:"c21",category:"circle"},{x:0,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:1,y:4,w:1,h:1,id:"c23",category:"circle"},{x:2,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c25",category:"circle"},{x:4,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c33",category:"circle"},{x:5,y:5,w:1,h:1,id:"c34",category:"triangle"},{x:6,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c15","c16"],["c24","c31"]],previousId:null,id:"r2-184",order:184,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:69,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 184",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0,clue:18},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2,parity:"even"},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0,clue:20},{id:"c13",q:2,r:1,clue:22},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,clue:11},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4},{id:"c23",q:3,r:5,clue:4}],features:["parity","walls","rhythm-door"],contentRevision:2,doors:[{edge:["c5","c4"],initialOpen:!1}],walls:[["c13","c14"]],previousId:null,id:"r2-185",order:185,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",estimatedBand:"\u672A\u77E5\u8D77\u70B9\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:81,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 185",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2,clue:13},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1},{id:"c8",q:1,r:2},{id:"c9",q:1,r:3,clue:17},{id:"c10",q:1,r:4},{id:"c11",q:1,r:5},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2},{id:"c15",q:2,r:3,parity:"odd"},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1,clue:5},{id:"c20",q:3,r:2,clue:1},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,clue:28},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c19","c24"],["c1","c2"]],previousId:null,id:"r2-186",order:186,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:72,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 186",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:3,y:0,w:1,h:1,id:"c2",category:"circle",clue:11},{x:4,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c4",category:"circle"},{x:6,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"circle"},{x:5,y:1,w:1,h:1,id:"c11",category:"triangle"},{x:6,y:1,w:1,h:1,id:"c12",category:"circle",direction:"lu"},{x:0,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c14",category:"circle"},{x:2,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c16",category:"circle"},{x:4,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:5,y:2,w:1,h:1,id:"c18",category:"circle"},{x:6,y:2,w:1,h:1,id:"c19",category:"triangle"},{x:0,y:3,w:1,h:2,id:"c20",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c21",category:"circle"},{x:4,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:5,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c23",category:"circle"},{x:1,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c25",category:"circle"},{x:3,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"triangle"},{x:4,y:5,w:1,h:1,id:"c33",category:"circle"},{x:5,y:5,w:1,h:1,id:"c34",category:"triangle"},{x:6,y:5,w:1,h:1,id:"c35",category:"circle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c31","c30"],initialOpen:!1}],previousId:null,id:"r2-187",order:187,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 187",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:2,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:1,y:2,w:1,h:1,id:"c12",clue:20},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14",direction:"du"},{x:4,y:2,w:1,h:1,id:"c15",clue:1},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19"},{x:3,y:3,w:1,h:1,id:"c20",parity:"odd"},{x:4,y:3,w:2,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24",direction:"lr"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c24","c23"],initialOpen:!1}],previousId:null,id:"r2-188",order:188,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 188",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c1",category:"circle"},{x:3,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c3",category:"circle"},{x:0,y:1,w:1,h:1,id:"c4",category:"circle"},{x:2,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c6",category:"circle"},{x:4,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c8",clue:1,category:"circle"},{x:0,y:2,w:1,h:1,id:"c9",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c10",category:"circle"},{x:2,y:2,w:1,h:1,id:"c11",category:"circle"},{x:3,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c13",category:"circle"},{x:5,y:2,w:1,h:1,id:"c14",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:2,y:3,w:1,h:1,id:"c17",category:"circle"},{x:3,y:3,w:1,h:1,id:"c18",category:"circle"},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c20",category:"circle"},{x:0,y:4,w:1,h:1,id:"c21",category:"circle"},{x:1,y:4,w:2,h:1,id:"c22",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c23",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:0,y:5,w:1,h:1,id:"c25",category:"triangle"},{x:1,y:5,w:1,h:1,id:"c26",category:"circle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c1","c2"]],previousId:null,id:"r2-189",order:189,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:60,title:"\u62FC\u5757 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 189",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"circle"},{id:"c3",q:0,r:3,category:"triangle"},{id:"c4",q:0,r:4,category:"circle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,category:"circle"},{id:"c7",q:1,r:1,category:"triangle"},{id:"c8",q:1,r:2,category:"circle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"triangle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"triangle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"triangle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,clue:1,category:"circle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"circle"},{id:"c22",q:3,r:4,category:"triangle"},{id:"c23",q:3,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c13","c14"],["c11","c16"]],previousId:null,id:"r2-190",order:190,chapter:19,chapterTitle:"\u7B2C19\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:66,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 190",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:6,y:0,w:1,h:1,id:"c6",category:"circle"},{x:0,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c8",category:"circle"},{x:2,y:1,w:1,h:1,id:"c9",category:"triangle",clue:16},{x:3,y:1,w:1,h:1,id:"c10",category:"circle"},{x:4,y:1,w:1,h:1,id:"c11",category:"triangle",clue:14},{x:5,y:1,w:1,h:1,id:"c12",category:"circle"},{x:6,y:1,w:1,h:1,id:"c13",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c14",category:"circle"},{x:1,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c16",category:"circle"},{x:3,y:2,w:1,h:1,id:"c17",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c18",category:"circle"},{x:5,y:2,w:1,h:1,id:"c19",category:"triangle",direction:"lu"},{x:6,y:2,w:1,h:1,id:"c20",category:"circle"},{x:1,y:3,w:1,h:1,id:"c21",category:"circle"},{x:2,y:3,w:1,h:1,id:"c22",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c23",category:"circle"},{x:4,y:3,w:1,h:1,id:"c24",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c25",category:"circle"},{x:6,y:3,w:1,h:1,id:"c26",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c27",category:"circle"},{x:1,y:4,w:1,h:1,id:"c28",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c29",category:"circle"},{x:3,y:4,w:1,h:1,id:"c30",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c31",category:"circle"},{x:5,y:4,w:1,h:1,id:"c32",category:"triangle"},{x:0,y:5,w:2,h:1,id:"c33",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c34",category:"circle"},{x:4,y:5,w:1,h:1,id:"c35",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c21","c22"],initialOpen:!1}],previousId:null,id:"r2-191",order:191,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:64,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 191",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:2,h:1,id:"c1"},{x:3,y:0,w:1,h:1,id:"c2"},{x:5,y:0,w:1,h:1,id:"c3"},{x:6,y:0,w:1,h:1,id:"c4"},{x:0,y:1,w:1,h:1,id:"c5"},{x:1,y:1,w:1,h:1,id:"c6"},{x:2,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9"},{x:5,y:1,w:1,h:1,id:"c10"},{x:6,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12",direction:"du"},{x:2,y:2,w:1,h:1,id:"c13"},{x:3,y:2,w:1,h:1,id:"c14",clue:1},{x:4,y:2,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c15",parity:"odd"},{x:6,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:2,y:3,w:1,h:1,id:"c19",direction:"lu"},{x:3,y:3,w:1,h:1,id:"c20"},{x:6,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"},{x:6,y:4,w:1,h:1,id:"c28"},{x:0,y:5,w:1,h:1,id:"c29"},{x:1,y:5,w:1,h:1,id:"c30"},{x:2,y:5,w:1,h:1,id:"c31"},{x:3,y:5,w:1,h:1,id:"c32",direction:"ru"},{x:4,y:5,w:1,h:1,id:"c33"},{x:5,y:5,w:1,h:1,id:"c34"},{x:6,y:5,w:1,h:1,id:"c35"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c23","c24"],initialOpen:!1}],previousId:null,id:"r2-192",order:192,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:71,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 192",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:2,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:5,y:0,w:1,h:1,id:"c5",category:"triangle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c10",category:"circle"},{x:1,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c12",category:"circle"},{x:3,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c14",category:"circle"},{x:5,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c17",category:"circle"},{x:2,y:3,w:1,h:1,id:"c18",category:"triangle",clue:28},{x:3,y:3,w:2,h:2,shape:[[0,0],[0,1],[1,0]],id:"c19",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c20",category:"circle"},{x:0,y:4,w:1,h:1,id:"c21",category:"circle"},{x:1,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c23",category:"circle"},{x:4,y:4,w:1,h:1,id:"c24",category:"circle"},{x:5,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:3,y:5,w:1,h:1,id:"c27",category:"circle"},{x:4,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"circle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c19","c20"],["c3","c8"]],previousId:null,id:"r2-193",order:193,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 193",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0},{id:"c1",q:0,r:1},{id:"c2",q:0,r:2},{id:"c3",q:0,r:3},{id:"c4",q:0,r:4},{id:"c5",q:0,r:5},{id:"c6",q:1,r:0},{id:"c7",q:1,r:1,clue:27},{id:"c8",q:1,r:2,clue:1},{id:"c9",q:1,r:3},{id:"c10",q:1,r:4,clue:12},{id:"c11",q:1,r:5,clue:22},{id:"c12",q:2,r:0},{id:"c13",q:2,r:1},{id:"c14",q:2,r:2,clue:9},{id:"c15",q:2,r:3,clue:11},{id:"c16",q:2,r:4},{id:"c17",q:2,r:5},{id:"c18",q:3,r:0},{id:"c19",q:3,r:1},{id:"c20",q:3,r:2},{id:"c21",q:3,r:3},{id:"c22",q:3,r:4,parity:"odd"},{id:"c23",q:3,r:5},{id:"c24",q:4,r:0},{id:"c25",q:4,r:1},{id:"c26",q:4,r:2},{id:"c27",q:4,r:3},{id:"c28",q:4,r:4},{id:"c29",q:4,r:5}],features:["parity","walls"],contentRevision:2,walls:[["c0","c1"],["c20","c25"]],previousId:null,id:"r2-194",order:194,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:59,title:"\u516D\u8FB9 \xB7 \u51FA\u53E3\u5E03\u5C40 194",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",clue:1,category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:2,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:4,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:5,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c7",category:"circle"},{x:3,y:1,w:1,h:1,id:"c8",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c9",category:"circle"},{x:5,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c11",category:"circle"},{x:1,y:2,w:1,h:1,id:"c12",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c14",category:"circle"},{x:4,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c16",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c17",category:"circle"},{x:2,y:3,w:1,h:1,id:"c18",category:"circle"},{x:3,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:4,y:3,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"circle"},{x:2,y:4,w:1,h:1,id:"c22",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c23",category:"circle"},{x:4,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:5,y:4,w:1,h:1,id:"c25",category:"circle"},{x:1,y:5,w:1,h:1,id:"c26",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c27",category:"circle"},{x:3,y:5,w:1,h:1,id:"c28",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c29",category:"triangle"}],features:["big","alternation","walls"],contentRevision:2,walls:[["c19","c20"]],previousId:null,id:"r2-195",order:195,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:59,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 195",caption:""},{mode:"campaign-200-r2",geometry:"square",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:1,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6",clue:1},{x:1,y:1,w:1,h:1,id:"c7"},{x:2,y:1,w:1,h:1,id:"c8"},{x:3,y:1,w:1,h:1,id:"c9"},{x:4,y:1,w:1,h:1,id:"c10"},{x:5,y:1,w:1,h:1,id:"c11"},{x:0,y:2,w:1,h:1,id:"c12"},{x:1,y:2,w:1,h:1,id:"c13"},{x:2,y:2,w:1,h:1,id:"c14"},{x:3,y:2,w:1,h:1,id:"c15"},{x:4,y:2,w:1,h:1,id:"c16"},{x:5,y:2,w:1,h:1,id:"c17"},{x:0,y:3,w:1,h:1,id:"c18"},{x:1,y:3,w:1,h:1,id:"c19"},{x:2,y:3,w:1,h:1,id:"c20"},{x:3,y:3,w:1,h:1,id:"c21"},{x:4,y:3,w:1,h:1,id:"c22",clue:23},{x:5,y:3,w:1,h:1,id:"c23"},{x:0,y:4,w:1,h:1,id:"c24",clue:4},{x:1,y:4,w:1,h:1,id:"c25",direction:"lu"},{x:2,y:4,w:1,h:1,id:"c26"},{x:3,y:4,w:1,h:1,id:"c27"},{x:4,y:4,w:1,h:1,id:"c28"},{x:5,y:4,w:1,h:1,id:"c29"}],features:["direction","walls"],contentRevision:2,walls:[["c13","c14"]],previousId:null,id:"r2-196",order:196,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:59,title:"\u65B9\u683C \xB7 \u51FA\u53E3\u5E03\u5C40 196",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"triangle"},{x:1,y:0,w:1,h:1,id:"c1",clue:1,category:"circle"},{x:2,y:0,w:1,h:1,id:"c2",category:"triangle"},{x:3,y:0,w:1,h:1,id:"c3",category:"circle"},{x:5,y:0,w:1,h:1,id:"c4",category:"triangle"},{x:6,y:0,w:1,h:1,id:"c5",category:"circle"},{x:0,y:1,w:1,h:1,id:"c6",category:"circle"},{x:1,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:2,y:1,w:1,h:1,id:"c8",category:"circle"},{x:3,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:4,y:1,w:1,h:1,id:"c10",category:"triangle"},{x:5,y:1,w:1,h:1,id:"c11",category:"circle"},{x:6,y:1,w:1,h:1,id:"c12",category:"triangle",clue:34},{x:0,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:1,y:2,w:1,h:1,id:"c14",category:"circle"},{x:2,y:2,w:1,h:1,id:"c15",category:"triangle"},{x:3,y:2,w:1,h:1,id:"c16",category:"circle",direction:"du"},{x:4,y:2,w:1,h:1,id:"c17",category:"circle"},{x:5,y:2,w:1,h:1,id:"c18",category:"triangle"},{x:0,y:3,w:1,h:1,id:"c19",category:"circle"},{x:1,y:3,w:2,h:2,shape:[[0,0],[1,0],[0,1]],id:"c20",category:"circle"},{x:3,y:3,w:2,h:1,id:"c21",category:"triangle"},{x:5,y:3,w:1,h:1,id:"c22",category:"circle"},{x:6,y:3,w:1,h:1,id:"c23",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c24",category:"triangle"},{x:2,y:4,w:1,h:1,id:"c25",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c26",category:"triangle"},{x:4,y:4,w:1,h:1,id:"c27",category:"circle"},{x:6,y:4,w:1,h:1,id:"c28",category:"circle"},{x:0,y:5,w:1,h:1,id:"c29",category:"circle"},{x:1,y:5,w:1,h:1,id:"c30",category:"triangle"},{x:2,y:5,w:1,h:1,id:"c31",category:"circle"},{x:3,y:5,w:1,h:1,id:"c32",category:"circle"},{x:4,y:5,w:1,h:1,id:"c33",category:"triangle"},{x:5,y:5,w:1,h:1,id:"c34",category:"circle"},{x:6,y:5,w:1,h:1,id:"c35",category:"triangle"}],features:["big","direction","alternation","rhythm-door"],contentRevision:2,doors:[{edge:["c14","c7"],initialOpen:!1}],previousId:null,id:"r2-197",order:197,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u7EC3\u4E60",targetDifficulty:67,objectiveScore:61,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 197",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0"},{x:1,y:0,w:1,h:1,id:"c1"},{x:2,y:0,w:1,h:2,id:"c2"},{x:3,y:0,w:1,h:1,id:"c3"},{x:4,y:0,w:1,h:1,id:"c4"},{x:5,y:0,w:1,h:1,id:"c5"},{x:0,y:1,w:1,h:1,id:"c6"},{x:1,y:1,w:1,h:1,id:"c7"},{x:3,y:1,w:1,h:1,id:"c8"},{x:4,y:1,w:1,h:1,id:"c9",clue:26},{x:5,y:1,w:1,h:1,id:"c10"},{x:0,y:2,w:1,h:1,id:"c11",parity:"even"},{x:1,y:2,w:1,h:1,id:"c12"},{x:2,y:2,w:1,h:2,id:"c13",clue:1},{x:3,y:2,w:1,h:1,id:"c14"},{x:4,y:2,w:1,h:1,id:"c15"},{x:5,y:2,w:1,h:1,id:"c16"},{x:0,y:3,w:1,h:1,id:"c17"},{x:1,y:3,w:1,h:1,id:"c18"},{x:3,y:3,w:1,h:1,id:"c19"},{x:4,y:3,w:1,h:1,id:"c20",direction:"du"},{x:5,y:3,w:1,h:1,id:"c21"},{x:0,y:4,w:1,h:1,id:"c22"},{x:1,y:4,w:1,h:1,id:"c23"},{x:2,y:4,w:1,h:1,id:"c24"},{x:3,y:4,w:1,h:1,id:"c25"},{x:4,y:4,w:1,h:1,id:"c26"},{x:5,y:4,w:1,h:1,id:"c27"}],features:["big","direction","parity","rhythm-door"],contentRevision:2,doors:[{edge:["c21","c16"],initialOpen:!1}],previousId:null,id:"r2-198",order:198,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u6DF1\u60F3\u5019\u9009",role:"\u5CF0\u503C",targetDifficulty:82,objectiveScore:78,title:"\u62FC\u5757 \xB7 \u4EA4\u9519\u6311\u6218 198",caption:""},{mode:"campaign-200-r2",geometry:"hex",cells:[{id:"c0",q:0,r:0,category:"triangle"},{id:"c1",q:0,r:1,category:"circle"},{id:"c2",q:0,r:2,category:"triangle"},{id:"c3",q:0,r:3,category:"circle"},{id:"c4",q:0,r:4,category:"triangle"},{id:"c5",q:0,r:5,category:"circle"},{id:"c6",q:1,r:0,clue:1,category:"circle"},{id:"c7",q:1,r:1,category:"circle"},{id:"c8",q:1,r:2,category:"triangle"},{id:"c9",q:1,r:3,category:"triangle"},{id:"c10",q:1,r:4,category:"circle"},{id:"c11",q:1,r:5,category:"triangle"},{id:"c12",q:2,r:0,category:"triangle"},{id:"c13",q:2,r:1,category:"triangle"},{id:"c14",q:2,r:2,category:"circle"},{id:"c15",q:2,r:3,category:"circle"},{id:"c16",q:2,r:4,category:"circle"},{id:"c17",q:2,r:5,category:"triangle"},{id:"c18",q:3,r:0,category:"circle"},{id:"c19",q:3,r:1,category:"circle"},{id:"c20",q:3,r:2,category:"triangle"},{id:"c21",q:3,r:3,category:"triangle"},{id:"c22",q:3,r:4,category:"triangle",clue:22},{id:"c23",q:3,r:5,category:"circle"}],features:["alternation","walls"],contentRevision:2,walls:[["c15","c20"]],previousId:null,id:"r2-199",order:199,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u56DE\u843D",targetDifficulty:61,objectiveScore:68,title:"\u516D\u8FB9 \xB7 \u6362\u4E00\u79CD\u601D\u8DEF 199",caption:""},{mode:"campaign-200-r2",geometry:"blocks",cells:[{x:0,y:0,w:1,h:1,id:"c0",category:"circle"},{x:1,y:0,w:1,h:1,id:"c1",category:"triangle"},{x:2,y:0,w:1,h:1,id:"c2",category:"circle"},{x:3,y:0,w:1,h:1,id:"c3",category:"triangle"},{x:4,y:0,w:1,h:1,id:"c4",category:"circle"},{x:0,y:1,w:1,h:1,id:"c5",category:"triangle"},{x:1,y:1,w:1,h:1,id:"c6",category:"circle"},{x:2,y:1,w:1,h:1,id:"c7",category:"triangle"},{x:3,y:1,w:1,h:1,id:"c8",clue:1,category:"circle"},{x:4,y:1,w:1,h:1,id:"c9",category:"triangle"},{x:0,y:2,w:1,h:1,id:"c10",category:"circle"},{x:1,y:2,w:1,h:1,id:"c11",category:"triangle"},{x:2,y:2,w:1,h:1,id:"c12",category:"circle",direction:"ru"},{x:3,y:2,w:1,h:1,id:"c13",category:"triangle"},{x:4,y:2,w:1,h:1,id:"c14",category:"circle"},{x:0,y:3,w:1,h:1,id:"c15",category:"triangle"},{x:1,y:3,w:1,h:1,id:"c16",category:"circle"},{x:2,y:3,w:1,h:2,id:"c17",category:"triangle"},{x:3,y:3,w:1,h:1,id:"c18",category:"circle"},{x:4,y:3,w:1,h:1,id:"c19",category:"triangle"},{x:0,y:4,w:1,h:1,id:"c20",category:"circle"},{x:1,y:4,w:1,h:1,id:"c21",category:"triangle"},{x:3,y:4,w:1,h:1,id:"c22",category:"circle"},{x:4,y:4,w:1,h:1,id:"c23",category:"triangle"}],features:["big","direction","alternation","walls"],contentRevision:2,walls:[["c5","c10"],["c3","c8"]],previousId:null,id:"r2-200",order:200,chapter:20,chapterTitle:"\u7B2C20\u7AE0 \xB7 \u7EFC\u5408\u6311\u6218",playerBand:null,estimatedBand:"\u7565\u96BE\u5019\u9009",role:"\u6536\u675F",targetDifficulty:65,objectiveScore:68,title:"\u62FC\u5757 \xB7 \u51FA\u53E3\u5E03\u5C40 200",caption:""}],playOrder:["r2-001","r2-002","r2-003","r2-004","r2-005","r2-006","r2-007","r2-008","r2-009","r2-010","r2-011","r2-012","r2-013","r2-014","r2-015","r2-016","r2-017","r2-018","r2-019","r2-020","r2-021","r2-022","r2-023","r2-024","r2-025","r2-026","r2-027","r2-028","r2-029","r2-030","r2-031","r2-032","r2-033","r2-034","r2-035","r2-036","r2-037","r2-038","r2-039","r2-040","r2-041","r2-042","r2-043","r2-044","r2-045","r2-046","r2-047","r2-048","r2-049","r2-050","r2-051","r2-052","r2-053","r2-054","r2-055","r2-056","r2-057","r2-058","r2-059","r2-060","r2-061","r2-062","r2-063","r2-064","r2-065","r2-066","r2-067","r2-068","r2-069","r2-070","r2-071","r2-072","r2-073","r2-074","r2-075","r2-076","r2-077","r2-078","r2-079","r2-080","r2-081","r2-082","r2-083","r2-084","r2-085","r2-086","r2-087","r2-088","r2-089","r2-090","r2-091","r2-092","r2-093","r2-094","r2-095","r2-096","r2-097","r2-098","r2-099","r2-100","r2-101","r2-102","r2-103","r2-104","r2-105","r2-106","r2-107","r2-108","r2-109","r2-110","r2-111","r2-112","r2-113","r2-114","r2-115","r2-116","r2-117","r2-118","r2-119","r2-120","r2-121","r2-122","r2-123","r2-124","r2-125","r2-126","r2-127","r2-128","r2-129","r2-130","r2-131","r2-132","r2-133","r2-134","r2-135","r2-136","r2-137","r2-138","r2-139","r2-140","r2-141","r2-142","r2-143","r2-144","r2-145","r2-146","r2-147","r2-148","r2-149","r2-150","r2-151","r2-152","r2-153","r2-154","r2-155","r2-156","r2-157","r2-158","r2-159","r2-160","r2-161","r2-162","r2-163","r2-164","r2-165","r2-166","r2-167","r2-168","r2-169","r2-170","r2-171","r2-172","r2-173","r2-174","r2-175","r2-176","r2-177","r2-178","r2-179","r2-180","r2-181","r2-182","r2-183","r2-184","r2-185","r2-186","r2-187","r2-188","r2-189","r2-190","r2-191","r2-192","r2-193","r2-194","r2-195","r2-196","r2-197","r2-198","r2-199","r2-200"]};var Cc={basic:"\u4ECE\u6570\u5B57 1 \u5F00\u59CB\uFF0C\u6309\u4F4F\u6ED1\u52A8\uFF0C\u628A\u6240\u6709\u683C\u5B50\u8FDE\u8D77\u6765\u3002\u53EA\u80FD\u8D70\u5230\u8FB9\u6328\u7740\u8FB9\u7684\u683C\u5B50\uFF0C\u4E0D\u80FD\u659C\u7740\u8D70\u3002\u6BCF\u683C\u53EA\u80FD\u7ECF\u8FC7\u4E00\u6B21\u3002",walls:"\u9ED1\u9EC4\u6761\u7EB9\u662F\u4E00\u5835\u5899\uFF0C\u4E0D\u80FD\u76F4\u63A5\u7A7F\u8FC7\u53BB\u3002\u8BF7\u4ECE\u522B\u7684\u683C\u5B50\u7ED5\u5230\u5899\u7684\u53E6\u4E00\u8FB9\u3002",straight:"\u753B\u7740\u6A2A\u7EBF\u7684\u683C\u5B50\u53EA\u80FD\u6A2A\u7740\u7A7F\u8FC7\uFF1A\u4ECE\u5DE6\u8FB9\u8FDB\u3001\u53F3\u8FB9\u51FA\uFF0C\u4E5F\u53EF\u4EE5\u53CD\u8FC7\u6765\u3002\u4E0D\u80FD\u5728\u91CC\u9762\u8F6C\u5F2F\uFF0C\u4E5F\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002",vertical:"\u753B\u7740\u7AD6\u7EBF\u7684\u683C\u5B50\u53EA\u80FD\u7AD6\u7740\u7A7F\u8FC7\uFF1A\u4ECE\u4E0A\u8FB9\u8FDB\u3001\u4E0B\u8FB9\u51FA\uFF0C\u4E5F\u53EF\u4EE5\u53CD\u8FC7\u6765\u3002\u4E0D\u80FD\u5728\u91CC\u9762\u8F6C\u5F2F\uFF0C\u4E5F\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002",corner:"\u8FD9\u4E2A\u683C\u5B50\u91CC\u753B\u7740\u4E00\u6761\u8F6C\u5F2F\u7684\u7EBF\u3002\u6CBF\u8FD9\u6761\u7EBF\uFF0C\u4ECE\u4E00\u7AEF\u8FDB\u5165\u3001\u53E6\u4E00\u7AEF\u79BB\u5F00\uFF1B\u6B63\u7740\u8D70\u3001\u53CD\u7740\u8D70\u90FD\u53EF\u4EE5\u3002\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002",colour:"\u6BCF\u8D70\u4E00\u6B65\u90FD\u8981\u6362\u989C\u8272\uFF1A\u84DD\u8272 \u2192 \u6A59\u8272 \u2192 \u84DD\u8272\u3002\u540C\u4E00\u79CD\u989C\u8272\u7684\u4E24\u4E2A\u683C\u5B50\uFF0C\u5373\u4F7F\u6328\u7740\uFF0C\u4E5F\u4E0D\u80FD\u8FDE\u7EED\u8D70\u3002",parity:"\u4ECE\u8D77\u70B9\u5F00\u59CB\u6570\uFF0C\u7B2C\u4E00\u4E2A\u683C\u5B50\u7B97\u7B2C 1 \u6B65\u3002\u201C\u5947\u201D\u683C\u5FC5\u987B\u5728\u7B2C 1\u30013\u30015\u2026\u6B65\u7ECF\u8FC7\uFF1B\u201C\u5076\u201D\u683C\u5FC5\u987B\u5728\u7B2C 2\u30014\u30016\u2026\u6B65\u7ECF\u8FC7\u3002","rhythm-door":"\u95E8\u4E00\u5F00\u59CB\u662F\u5173\u7740\u7684\u3002\u6BCF\u8D70\u8FDB\u4E00\u4E2A\u683C\u5B50\uFF0C\u95E8\u5C31\u5F00\u3001\u5173\u5207\u6362\u4E00\u6B21\uFF1B\u8D77\u70B9\u4E5F\u7B97\u4E00\u6B65\u3002\u53EA\u6709\u663E\u793A\u201C\u5F00\u201D\u65F6\u624D\u80FD\u7A7F\u8FC7\u3002\u7A7F\u8FC7\u540E\uFF0C\u95E8\u4F1A\u4FDD\u6301\u6253\u5F00\uFF1B\u5982\u679C\u9000\u56DE\u5230\u7A7F\u95E8\u4E4B\u524D\uFF0C\u95E8\u53C8\u4F1A\u7EE7\u7EED\u5207\u6362\u3002",hex:"\u516D\u8FB9\u5F62\u7684\u6BCF\u6761\u8FB9\u65C1\u8FB9\u90FD\u53EF\u80FD\u6709\u4E00\u4E2A\u683C\u5B50\u3002\u53EA\u8981\u4E24\u4E2A\u683C\u5B50\u6709\u4E00\u6574\u6761\u8FB9\u6328\u5728\u4E00\u8D77\uFF0C\u5C31\u80FD\u76F4\u63A5\u8D70\u8FC7\u53BB\u3002\u6BCF\u7ECF\u8FC7\u4E00\u4E2A\u683C\u5B50\u7B97\u4E00\u6B65\u3002","unknown-start":"\u8FD9\u4E00\u5173\u6CA1\u6709\u6570\u5B57 1\uFF0C\u53EF\u4EE5\u81EA\u5DF1\u9009\u8D77\u70B9\u3002\u5148\u770B\u770B\u5176\u4ED6\u6570\u5B57\uFF0C\u8BD5\u7740\u627E\u51FA\u4ECE\u54EA\u91CC\u5F00\u59CB\uFF0C\u624D\u80FD\u6309\u6B63\u786E\u7684\u6B65\u6570\u5230\u8FBE\u5B83\u4EEC\u3002"};function fi(c){let e=["\u6309\u4F4F\u6ED1\u52A8\uFF0C\u628A\u6240\u6709\u683C\u5B50\u8FDE\u6210\u4E00\u6761\u7EBF\u3002\u6BCF\u4E2A\u683C\u5B50\u53EA\u80FD\u7ECF\u8FC7\u4E00\u6B21\u3002",c.geometry==="hex"?"\u516D\u8FB9\u5F62\u4E4B\u95F4\uFF0C\u6709\u4E00\u6574\u6761\u8FB9\u6328\u5728\u4E00\u8D77\u624D\u80FD\u8D70\u8FC7\u53BB\u3002":"\u53EA\u80FD\u8D70\u5230\u8FB9\u6328\u7740\u8FB9\u7684\u683C\u5B50\uFF0C\u4E0D\u80FD\u659C\u7740\u8D70\u3002","\u683C\u5B50\u91CC\u7684\u6570\u5B57\u8868\u793A\u7B2C\u51E0\u6B65\u5230\u8FD9\u91CC\u3002\u4F8B\u5982\u6570\u5B57 5\uFF0C\u5FC5\u987B\u5728\u7B2C 5 \u6B65\u8D70\u5230\u5B83\u3002"];c.geometry==="blocks"&&e.push("\u4E00\u4E2A\u5927\u683C\u6216\u4E0D\u89C4\u5219\u5F62\u72B6\u7684\u683C\u5B50\uFF0C\u6574\u4E2A\u7B97\u4E00\u6B65\u3002");for(let[i,t]of[["direction","corner"],["alternation","colour"],["parity","parity"],["walls","walls"],["rhythm-door","rhythm-door"]])c.features.includes(i)&&e.push(i==="direction"?"\u6709\u7EBF\u6761\u7684\u683C\u5B50\uFF0C\u8981\u6CBF\u56FE\u4E2D\u7684\u7EBF\u4ECE\u4E00\u7AEF\u8FDB\u5165\u3001\u53E6\u4E00\u7AEF\u79BB\u5F00\uFF1B\u4E0D\u80FD\u4F5C\u4E3A\u8D77\u70B9\u6216\u7EC8\u70B9\u3002":Cc[t]);return c.cells.some(i=>i.clue===1)||e.push(Cc["unknown-start"]),e.push("\u8D70\u9519\u4E86\uFF0C\u53EF\u4EE5\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\u5F80\u56DE\u9000\uFF1B\u4E5F\u53EF\u4EE5\u70B9\u201C\u64A4\u9500\u201D\u9000\u4E00\u6B65\uFF0C\u70B9\u201C\u91CD\u5F00\u201D\u91CD\u65B0\u5F00\u59CB\u3002"),e.join(` +`)}var Lr={\u56FA\u5B9A\u6570\u5B57\u6B65\u53F7\u4E0D\u7B26:"\u5230\u8FBE\u6570\u5B57\u683C\u7684\u6B65\u6570\u4E0D\u5BF9",\u8BE5\u683C\u6B65\u53F7\u5947\u5076\u4E0D\u7B26:"\u8D70\u5230\u201C\u5947\u201D\u683C\u8981\u6570\u5230 1\u30013\u30015\u2026\uFF1B\u8D70\u5230\u201C\u5076\u201D\u683C\u8981\u6570\u5230 2\u30014\u30016\u2026",\u8FDB\u51FA\u65B9\u5411\u4E0D\u7B26:"\u8BF7\u6CBF\u683C\u5B50\u91CC\u753B\u7684\u7EBF\uFF0C\u4ECE\u4E00\u7AEF\u8FDB\u5165\u3001\u53E6\u4E00\u7AEF\u79BB\u5F00",\u8FD9\u4E00\u6B65\u95E8\u662F\u5173\u95ED\u7684:"\u95E8\u73B0\u5728\u5173\u7740\uFF0C\u8BF7\u5148\u8D70\u5230\u522B\u7684\u683C\u5B50\uFF0C\u8BA9\u95E8\u5207\u6362\u5230\u201C\u5F00\u201D",\u84DD\u6A59\u989C\u8272\u5FC5\u987B\u4EA4\u66FF:"\u6BCF\u4E00\u6B65\u90FD\u8981\u6362\u989C\u8272\uFF1A\u84DD\u8272\u548C\u6A59\u8272\u4EA4\u66FF\u8D70","\u89C4\u5219\u4E0D\u7B26\uFF0C\u8BF7\u6CBF\u6765\u65F6\u8DEF\u9000\u56DE\u4E0A\u4E00\u683C\u518D\u8BD5\u3002":"\u8FD9\u4E00\u6B65\u4E0D\u7B26\u5408\u89C4\u5219\uFF0C\u8BF7\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\u9000\u56DE\u4E0A\u4E00\u683C\u518D\u8BD5\u3002","\u4E0B\u4E00\u6B65\u5728\u9EC4\u8272\u8FB9\u6846\u683C\uFF1B\u63D0\u793A\u4E0D\u4F1A\u81EA\u52A8\u753B\u8DEF\u3002":"\u4E0B\u4E00\u6B65\u8D70\u5230\u9EC4\u8272\u8FB9\u6846\u7684\u683C\u5B50\uFF0C\u8BF7\u81EA\u5DF1\u8FDE\u8FC7\u53BB\u3002","\u8BF7\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\u9EC4\u8272\u8FB9\u6846\u683C\uFF0C\u518D\u7EE7\u7EED\u3002":"\u8BF7\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\uFF0C\u4E00\u683C\u4E00\u683C\u9000\u56DE\u9EC4\u8272\u8FB9\u6846\u5904\uFF0C\u518D\u8BD5\u53E6\u4E00\u6761\u8DEF\u3002","\u8D77\u70B9\u9700\u8981\u8C03\u6574\uFF0C\u8BF7\u91CD\u5F00\u5E76\u4ECE\u9EC4\u8272\u8FB9\u6846\u683C\u5F00\u59CB\u3002":"\u8D77\u70B9\u9009\u9519\u4E86\u3002\u8BF7\u70B9\u201C\u91CD\u5F00\u201D\uFF0C\u4ECE\u9EC4\u8272\u8FB9\u6846\u7684\u683C\u5B50\u5F00\u59CB\u3002","\u95E8\u73B0\u5728\u5173\u95ED\uFF1B\u7ED5\u884C\u843D\u683C\u540E\u4F1A\u5207\u6362\u3002":"\u95E8\u73B0\u5728\u5173\u7740\u3002\u5148\u8D70\u5230\u522B\u7684\u683C\u5B50\uFF0C\u95E8\u5C31\u4F1A\u5F00\u3001\u5173\u5207\u6362\u4E00\u6B21\u3002","\u9ED1\u9EC4\u5899\u4E0D\u80FD\u7A7F\u8FC7\uFF0C\u8BF7\u4ECE\u53E6\u4E00\u4FA7\u7ED5\u884C\u3002":Cc.walls,"\u540C\u8272\u683C\u4E0D\u80FD\u8FDE\u7EED\u7ECF\u8FC7\uFF0C\u8BF7\u6362\u53E6\u4E00\u79CD\u989C\u8272\u3002":"\u4E0B\u4E00\u6B65\u8981\u6362\u989C\u8272\uFF1A\u84DD\u683C\u4E4B\u540E\u8D70\u6A59\u683C\uFF0C\u6A59\u683C\u4E4B\u540E\u8D70\u84DD\u683C\u3002"};function S1(c){let e=String(c);for(let[i,t]of Object.entries(Lr))e=e.split(i).join(t);return e.replaceAll("\uFF0C\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\u3002","\u3002\u8BF7\u6CBF\u521A\u624D\u7684\u8DEF\u7EBF\u9000\u56DE\u3002").replaceAll("\u8BBF\u95EE\u6B65\u53F7","\u7B2C\u51E0\u6B65\u7ECF\u8FC7").replaceAll("\u6B65\u53F7","\u6B65\u6570").replaceAll("\u8BA4\u6E05\u5F02\u5F62\u5171\u8FB9","\u627E\u51FA\u4E0D\u89C4\u5219\u683C\u5B50\u65C1\u8FB9\u80FD\u8D70\u7684\u683C\u5B50").replaceAll("\u516D\u5411\u5171\u8FB9","\u516D\u8FB9\u5F62\u600E\u4E48\u8D70").replaceAll("\u5171\u8FB9","\u8FB9\u6328\u7740\u8FB9")}for(let c of Ac.levels)c.tutorial&&(c.caption=Cc[c.tutorial]||c.caption),c.title=S1(c.title);var ve=wx.getPerformance?wx.getPerformance():{now:()=>Date.now()};Array.prototype.at||Object.defineProperty(Array.prototype,"at",{value:function(c){return c=Math.trunc(c)||0,this[c<0?this.length+c:c]},configurable:!0,writable:!0});var pc=wx.createCanvas(),ie=wx.createCanvas(),M1=new Map,be=()=>{};function mi(c){be=c}var ze=class{constructor(e=""){this.id=e,this.children=[],this.handlers={},this.value="",this.style={},this.className="",this.textContent="",this.hidden=!1,this.disabled=!1}set textContent(e){let i=S1(e);i!==this._text&&(this._text=i,be())}get textContent(){return this._text||""}set className(e){e!==this._className&&(this._className=e,be())}get className(){return this._className||""}set hidden(e){e!==this._hidden&&(this._hidden=e,be())}get hidden(){return this._hidden||!1}set disabled(e){e!==this._disabled&&(this._disabled=e,be())}get disabled(){return this._disabled||!1}replaceChildren(...e){this.children=e}append(...e){this.children.push(...e)}addEventListener(e,i){this.handlers[e]=i}setAttribute(){}setPointerCapture(){}getBoundingClientRect(){return{left:0,top:0,width:this.clientWidth,height:this.clientHeight}}click(){var e;this.disabled||(e=this.onclick)==null||e.call(this)}},dc={getElementById(c){return M1.has(c)||M1.set(c,new ze(c)),M1.get(c)},createElement(){return new ze}},Ve=dc.getElementById("board");Ve.getContext=()=>ie.getContext("2d");for(let c of["width","height"])Object.defineProperty(Ve,c,{get:()=>ie[c],set:e=>{ie[c]=e}});Ve.clientWidth=375;Ve.clientHeight=440;dc.getElementById("screen-play").className="screen hidden";dc.getElementById("rules-sheet").hidden=!0;dc.getElementById("feedback-sheet").hidden=!0;var fc={getItem(c){try{return wx.getStorageSync(c)||null}catch{return null}},setItem(c,e){try{wx.setStorageSync(c,String(e))}catch{}},removeItem(c){wx.removeStorageSync(c)}},K={devicePixelRatio:1,handlers:{},addEventListener(c,e){this.handlers[c]=e},AudioContext:wx.createWebAudioContext?function(){return wx.createWebAudioContext()}:void 0};function qi(c){let e=wx.env.USER_DATA_PATH+"/NumberSwipe-campaign-200-r2-records.json";try{wx.getFileSystemManager().writeFileSync(e,JSON.stringify(c,null,2),"utf8"),wx.shareFileMessage?wx.shareFileMessage({filePath:e,fileName:"NumberSwipe-r2-\u8BD5\u73A9\u8BB0\u5F55.json"}):wx.showModal({title:"\u8BB0\u5F55\u5DF2\u4FDD\u5B58",content:e,showCancel:!1})}catch{wx.showToast({title:"\u8BB0\u5F55\u5BFC\u51FA\u5931\u8D25",icon:"none"})}}function bi(c,e,i,t,a){let r=c.filter(l=>l.id===e),d=l=>{let g=!1;for(let u=0,p=l.length-1;ut!=S>t&&i<(b-x)*(t-w)/(S-w)+x&&(g=!g)}return g};if(!r.some(l=>d(l.p)))return!1;let o=[];for(let l of r)for(let g=0;gMath.hypot(l[0]-g[0],l[1]-g[1])<.01,n=o.filter(([l,g],u)=>!o.some(([p,x],w)=>u!==w&&h(l,x)&&h(g,p))),y=Math.min(3,.06*a);return n.every(([l,g])=>{let u=g[0]-l[0],p=g[1]-l[1],x=u*u+p*p,w=x?Math.max(0,Math.min(1,((i-l[0])*u+(t-l[1])*p)/x)):0;return Math.hypot(i-l[0]-u*w,t-l[1]-p*w)>=y})}var Pc=new Map,T1=0,_r=4*1024*1024;function vi(c,e,i,t,a,r){Oc(c,a,800,!0),c.textAlign="left",c.textBaseline="alphabetic";let d=String(e),o=x1(c,d,a),h=r===f.onPrimary;if(!Number.isFinite(o.actualBoundingBoxAscent)||!Number.isFinite(o.actualBoundingBoxRight)||typeof wx=="undefined"){c.save(),h&&(c.shadowColor="rgba(255,255,255,.5)",c.shadowBlur=2),rc(c,d,i,t,a,r,800,!0),c.restore();return}let n=[d,a.toFixed(3),r,c.font].join("|"),y=Pc.get(n);if(y)Pc.delete(n),Pc.set(n,y);else{let g=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,u=o.actualBoundingBoxAscent+o.actualBoundingBoxDescent,p=h?Math.max(.8,Math.min(2.6,a*.055)):0,x=Math.ceil(p*3+3),w=wx.createCanvas();w.width=Math.ceil((g+2*x)*2),w.height=Math.ceil((u+2*x)*2);let b=w.getContext("2d");b.setTransform(2,0,0,2,0,0),Oc(b,a,800,!0),b.textAlign="left",b.textBaseline="alphabetic";let S=b.createLinearGradient(0,x,0,x+u);if(S&&typeof S.addColorStop=="function"?(S.addColorStop(0,h?"#FFFFFF":"#65583F"),S.addColorStop(.48,h?"#FFFDFE":r),S.addColorStop(1,h?"#F0EEFF":"#4C402D"),b.fillStyle=S):b.fillStyle=r,b.fillText(d,x+o.actualBoundingBoxLeft,x+o.actualBoundingBoxAscent),!h)try{let q=b.getImageData(0,0,w.width,w.height);if(q!=null&&q.data){for(let T=0;T>>0)%17-8;for(let D=0;D<3;D++)q.data[k+D]+=B*.32}b.putImageData(q,0,0)}}catch{}let m=wx.createCanvas();m.width=w.width,m.height=w.height;let s=m.getContext("2d");for(h&&(s.shadowColor="rgba(61,43,146,.46)",s.shadowBlur=1.2*2,s.shadowOffsetY=.7*2,s.drawImage(w,0,0),s.shadowColor="rgba(255,255,255,.58)",s.shadowBlur=p*2,s.shadowOffsetY=0,s.drawImage(w,0,0),s.shadowColor="rgba(0,0,0,0)",s.shadowBlur=0),s.drawImage(w,0,0),y={canvas:m,pad:x,w:g,h:u,res:2},Pc.set(n,y),T1+=m.width*m.height*4;T1>_r&&Pc.size>1;){let q=Pc.keys().next().value,T=Pc.get(q);Pc.delete(q),T1-=T.canvas.width*T.canvas.height*4}}c.drawImage(y.canvas,i-y.w/2-y.pad,t-y.h/2-y.pad,y.canvas.width/y.res,y.canvas.height/y.res)}var Bi=new WeakMap,Be={liveRenders:0,previewRenders:0,targetCacheHits:0},G={reducedMotion:!1},Kr=c=>new Set(c.flatMap(e=>e.cells));function Ti(c,e,i){let t=c.category!==void 0;return{fill:t?c.category==="circle"?f.categoryBlueFace:f.categoryOrangeFace:i?f.danger:e?f.primary:f.cellFace,depth:t||!e&&!i?f.cellDepth:i?f.dangerDepth:f.primaryDepth,ink:!t&&(e||i)?f.onPrimary:f.ink,category:t}}function ki(c,e,i,t=!1){if(t)return;c.save();let a=i.slice(1).map((r,d)=>({a:i[d],b:r}));if(A.enhanced&&!G.reducedMotion)for(let r of e.feedbackEvents||[])r.kind==="undo"&&r.from&&e.now-r.timed.a===r.from&&d.b===r.cell)&&a.push({a:r.from,b:r.cell,undo:r});for(let r of a){let d=He(e,r.a,r.b);if(!d)continue;let[o,h]=d.segments[0],n=_(o,h),y=(h[0]-o[0])/n,l=(h[1]-o[1])/n,g=-l,u=y,[p,x]=d.entry,w=Math.min(e.pitch*H.referenceMatch.bridgeRatio,n*.6)/2,b=(e.feedbackEvents||[]).findLast(M=>M.from===r.a&&M.cell===r.b&&["move","checkpoint"].includes(M.kind)),S=!A.enhanced||G.reducedMotion?1:r.undo?1-Y(0,(e.now-r.undo.time)/W.undoMs,1):b?Y(0,(e.now-b.time)/W.bridgeMs,1):1,m=(e.inset+1.2)*S;if(m<.01)continue;let s=c.createLinearGradient(p-y*w,x-l*w,p+y*w,x+l*w);s!=null&&s.addColorStop&&(s.addColorStop(0,"#7D70EF"),s.addColorStop(.12,"#9386F8"),s.addColorStop(.34,"#ABA0FF"),s.addColorStop(.55,"#978BFA"),s.addColorStop(.8,f.primary),s.addColorStop(1,"#786BEC")),c.fillStyle=s!=null&&s.addColorStop?s:f.primary;let q=24,T=m*2/q;for(let M=0;Ml[1]),y=c.createLinearGradient(0,Math.min(...n),0,Math.max(...n));if(y&&typeof y.addColorStop=="function"){let l=g=>"#"+[1,3,5].map(u=>Y(0,parseInt(i.fill.slice(u,u+2),16)+g,255).toString(16).padStart(2,"0")).join("");y.addColorStop(0,l(3)),y.addColorStop(.25,i.fill),y.addColorStop(.75,i.fill),y.addColorStop(1,l(-3)),e.paints.set(i.fill,y)}else e.paints.set(i.fill,i.fill)}gc(c,e.rings,e.radius),c.fillStyle=e.paints.get(i.fill),c.fill(),c.save(),gc(c,e.rings,e.radius),c.clip(),c.lineCap="round",c.lineWidth=H.material.bevelWidth,c.strokeStyle=t.steps.has(e.cell.id)&&!i.category?f.primaryEdge:f.cellBevel;for(let n of e.rings)for(let y=0;y=-.25)continue;let w=Math.min(e.radius,u*.3);c.beginPath(),c.moveTo(l[0]+(g[0]-l[0])*w/u-p*.7,l[1]+(g[1]-l[1])*w/u-x*.7),c.lineTo(g[0]-(g[0]-l[0])*w/u-p*.7,g[1]-(g[1]-l[1])*w/u-x*.7),c.stroke()}c.restore()}c.restore()}}function $e(c,e,i,t,a,r,d,o=800,h=!1){c.save(),h?vi(c,i,t,a,r,d):rc(c,i,t,a,r,d,o);let n=c.measureText(String(i)).width;c.restore(),e.keepouts.push({x:t-n/2-3,y:a-r*.6-2,w:n+6,h:r*1.2+4})}function Gr(c,e,i,t){let a=e.indexOf(i.id);if(a<0)return"idle";if(a===0||t.has(i.id))return"error";let r=Xc(c,i.id,e[a-1]);return!i.direction.includes(r)||aw[m]);if(c.beginPath(),c.moveTo(g+b[0]*p,u+b[1]*p),c.lineTo(g,u),c.lineTo(g+S[0]*p,u+S[1]*p),c.lineCap="round",c.lineJoin="round",c.lineWidth=Y(7,h*.17,10),c.strokeStyle=x==="error"?f.dangerSoft:n?f.primaryEdge:f.surfaceMuted,c.stroke(),c.lineWidth=Y(3.5,h*.085,5),c.strokeStyle=x==="error"?f.danger:l,c.stroke(),e.channels.push({cell:r.id,kind:r.direction,center:[g,u],radius:p,state:x}),e.keepouts.push({x:g-p-4,y:u-p-4,w:p*2+8,h:p*2+8}),y){let m=String(y).length>1,s=Math.min(h*(m?.22:.26),m?18:21),q=s*(m?1.35:.85),T=Math.min(1.8,h*.018),M=d+h*.21,k=o-h*.25;qc(c,M-q/2-T,k-s*.55-T,q+T*2,s*1.1+T*2,Math.min(4,h*.05)),c.fillStyle=n&&!t.category?f.primaryPressed:f.surface,c.fill(),$e(c,e,y,M,k,s,l,800,!0)}}else{let g=y?h*(y>=10?.44:.5):h*.42,u=o+(!t.category&&r.parity&&y?-h*.1:0);y&&$e(c,e,y,d,u,g,l,800,!0),r.parity&&$e(c,e,r.parity==="odd"?"\u5947":"\u5076",d,y?o+h*.26:o,y?Y(11,h*.2,13):g,l,700)}if(e.errors.has(r.id)){let g=d-h*.32,u=o-h*.31;c.beginPath(),c.arc(g,u,7,0,Math.PI*2),c.fillStyle=f.danger,c.fill(),$e(c,e,"!",g,u,11,f.onPrimary,800)}}function Di(c,e){if(!c)return 0;let i=G.reducedMotion?1:Y(0,(e-c.started)/H.motionMs.door,1);return c.from+(c.to-c.from)*(1-(1-i)**3)}function D1(c,e,i,t=Date.now()){c.save();let a=(r,d)=>{var n;let o=He(e,...r);if(!o)return;let h=d==="open"||d==="latched";for(let[y,l]of o.segments){let g=_(y,l),u=w=>[y[0]+(l[0]-y[0])*w,y[1]+(l[1]-y[1])*w];c.lineCap="butt",c.lineWidth=Y(5,e.pitch*.13,8),c.strokeStyle=d==="wall"?f.wallInk:h?f.doorOpen:f.doorClosed,c.beginPath();let p=(n=e.doorTransitions)==null?void 0:n.get(r.join("|")),x=d==="wall"?0:Di(p,t)*.5;if(x>0?(c.moveTo(...u(.06)),c.lineTo(...u(.5-x/2)),c.moveTo(...u(.5+x/2)),c.lineTo(...u(.94))):(c.moveTo(...u(.06)),c.lineTo(...u(.94))),c.stroke(),d==="wall"){let w=-(l[1]-y[1])/g,b=(l[0]-y[0])/g,S=(l[0]-y[0])/g,m=(l[1]-y[1])/g;c.strokeStyle=f.wallStripe,c.lineWidth=2;for(let s=7;s(l.feedbackSequence||0)){if(s.kind==="complete")l.bursts=[];else if(s.kind==="undo")l.bursts=l.bursts.filter(q=>q.cell!==s.cell);else if(s.kind==="checkpoint"&&s.ribbon!==!1&&!G.reducedMotion){let q=l.byId.get(s.cell);q&&l.bursts.push({cell:s.cell,point:q.center,started:s.time,seed:s.step})}l.feedbackSequence=s.sequence}l.bursts=l.bursts.slice(-W.maxRibbons)}l.bursts||(l.bursts=[]);let x=l.lastPath||[];if(!A.enhanced&&!d&&!G.reducedMotion&&i.length===x.length+1&&x.every((s,q)=>s===i[q])){let s=l.byId.get(i.at(-1));(s==null?void 0:s.cell.clue)>1&&s.cell.clue===i.length&&!uc(e,i).length&&l.bursts.push({cell:s.cell.id,point:s.center,started:r,seed:i.length})}l.lastPath=[...i],l.bursts=l.bursts.filter(s=>r-s.started[s,q+1])),l.errors=Kr(uc(e,i)),l.keepouts=[],l.channels=[],l.views=l.cells.map(s=>({cell:s.cell.id,...Ti(s.cell,l.steps.get(s.cell.id),l.errors.has(s.cell.id)),error:l.errors.has(s.cell.id),category:s.cell.category||null,cellUnit:l.pitch}));let w=null;if(u&&typeof wx!="undefined"&&wx.createCanvas){w=l.hintLayers||{base:wx.createCanvas(),top:wx.createCanvas(),glow:wx.createCanvas()};for(let s of[w.base,w.top,w.glow]){s.width!==Math.round(t*n)&&(s.width=Math.round(t*n)),s.height!==Math.round(a*n)&&(s.height=Math.round(a*n));let q=s.getContext("2d");q.setTransform(n,0,0,n,0,0),q.clearRect(0,0,t,a)}w.key=p,l.hintLayers=w}else l.hintLayers=null;let b=w?w.base.getContext("2d"):c,S=w?w.top.getContext("2d"):c;b.clearRect(0,0,t,a),b.save();for(let s=0;sI1(b,l.cells[s],l.views[s],l));if(ki(b,l,i),b.restore(),w){let s=w.glow.getContext("2d");q1(s,l,u,0,!0),s.save(),s.globalCompositeOperation="destination-out",s.fillStyle="#000",s.strokeStyle="#000";for(let q of l.cells.filter(T=>l.steps.has(T.cell.id)))for(let T of[0,l.depth])gc(s,q.rings,q.radius,T),s.fill(),s.lineWidth=2*(Y(3,l.pitch*.065,7)+1),s.stroke();s.restore()}else u&&q1(c,l,u,0,!0);S.save();for(let s=0;s0||l.feedbackEvents.some(s=>r-s.time<(s.kind==="checkpoint"||s.kind==="complete"?W.checkpointMs:W.moveMs))||[...l.doorTransitions.values()].some(s=>s.from!==s.to&&r-s.startedc.byId.get(o)).filter(Boolean).map(o=>({parts:o.parts})),pitch:c.pitch,boardWidth:c.width,boardHeight:c.height,keepouts:c.keepouts,visitedShapes:c.cells.filter(o=>e.includes(o.cell.id)).map(o=>({rings:o.rings,radius:o.radius,depth:c.depth,maskPad:Y(3,c.pitch*.065,7)+1})),reducedMotion:G.reducedMotion};return Si.set(c,{key:t,keepouts:c.keepouts,value:d}),d}function Jr(c,e,i){if(G.reducedMotion)return;let t=["#FF986B","#A093FF","#FFD45C","#B9DBB2","#FFF9E8"];c.save(),c.lineCap="round";for(let a of e.bursts){let r=Math.max(0,(i-a.started)/W.ribbonMs),d=1-(1-r)**2;for(let o=0;o<22;o++){let h=o/22*Math.PI*2,n=e.pitch*(.38+o%5*.12),y=a.point[0]+Math.cos(h)*n*d,l=a.point[1]+Math.sin(h)*n*d+e.pitch*.16*r*r;c.globalAlpha=Math.min(1,(1-r)*2.2),c.strokeStyle=t[(o+a.seed)%t.length],c.lineWidth=Math.max(2,e.pitch*.035),c.beginPath(),c.moveTo(y-2,l-3),c.quadraticCurveTo(y+Math.sin(o+r*8)*4,l,y+2,l+3),c.stroke()}}c.restore()}function Yr(c,e=!1){return e||c<=0||c>=W.checkpointMs?1:1+(W.checkpointMaxScale-1)*Math.sin(Math.PI*c/W.checkpointMs)}function Ur(c,e,i,t,a){let r=A.enhanced&&e.feedbackEvents.findLast(o=>o.cell===i.cell.id||o.kind==="undo"&&o.from===i.cell.id),d=G.reducedMotion||!r||r.kind==="undo"&&r.from&&r.from!==i.cell.id?1:r.kind==="checkpoint"||r.kind==="complete"?Yr(t-r.time):zr(t-r.time);if(d===1){a();return}c.save(),c.translate(...i.center),c.scale(d,d),c.translate(-i.center[0],-i.center[1]),a(),c.restore()}function zr(c){return c<0||c>=W.moveMs?1:1+(W.moveMaxScale-1)*Math.sin(Math.PI*c/W.moveMs)}function*Ci(c,e,i,t){let a={...n1(e,i,t),level:e,steps:new Map,errors:new Set,channels:[],keepouts:[]};a.depth=e.geometry==="hex"?Y(1.2,a.pitch*.028,2.2):Y(3,a.pitch*H.referenceMatch.cellDepthRatio,H.referenceMatch.cellDepthMax),yield;for(let r of a.cells){let d=Ti(r.cell,void 0,!1);I1(c,r,d,a),Ii(c,a,r,d,[]),yield}}function Mi(c,e,i){let{width:t,height:a,hintLayers:r}=e;c.clearRect(0,0,t,a),c.drawImage(r.base,0,0,t,a),c.save(),c.globalAlpha=m1(i,G.reducedMotion),c.drawImage(r.glow,0,0,t,a),c.restore(),c.drawImage(r.top,0,0,t,a)}var ji={sourceSHA256:"0adf0c10a0677a922539fd5578808a8852d889fdc2afdcc8ce73848880d00f10",routes:{"r2-001":["t0","t1","t2"],"r2-002":["c3","c6","c2","c1","c0","c4","c5","c8","c7","c9"],"r2-003":["c1","c2","c5","c4","c7","c6","c3","c0"],"r2-004":["c3","c0","c1","c2","c4","c7","c6","c5"],"r2-005":["t0","t2","t3","t1"],"r2-006":["c6","c7","c8","c5","c4","c3","c0","c1","c2"],"r2-007":["c0","c3","c4","c1","c2","c5","c8","c7","c6","c9","c10"],"r2-008":["c10","c6","c3","c0","c1","c2","c5","c9","c8","c7","c4"],"r2-009":["t0","t1","t2","t5","t4","t3"],"r2-010":["c8","c7","c6","c3","c0","c1","c2","c5","c4"],"r2-011":["t0","t1","t2","t5","t4","t3"],"r2-012":["c5","c2","c1","c0","c3","c6","c7","c4"],"r2-013":["t0","t3","t4","t1","t2","t5"],"r2-014":["c11","c7","c6","c10","c14","c13","c12","c8","c9","c5","c4","c0","c1","c2","c3"],"r2-015":["c4","c7","c10","c9","c6","c3","c0","c1","c2","c5","c8"],"r2-016":["c3","c2","c1","c0","c4","c8","c12","c13","c9","c5","c6","c10","c11","c7"],"r2-017":["t0","t1","t2"],"r2-018":["c12","c8","c4","c0","c1","c5","c9","c10","c6","c2","c3","c7","c11"],"r2-019":["c14","c13","c12","c11","c8","c9","c10","c7","c3","c2","c1","c0","c4","c5","c6"],"r2-020":["c6","c7","c3","c2","c1","c0","c4","c5","c9","c8","c12","c13","c11","c10"],"r2-021":["c8","c2","c7","c11","c10","c6","c4","c1","c0","c3","c5","c9"],"r2-022":["c11","c4","c0","c1","c5","c6","c2","c3","c7","c10","c14","c13","c9","c8","c12"],"r2-023":["t0","t1","t2"],"r2-024":["c3","c1","c0","c2","c4","c7","c8","c9","c6","c5"],"r2-025":["c12","c8","c9","c5","c6","c10","c11","c7","c3","c2","c1","c0","c4"],"r2-026":["c7","c4","c0","c1","c2","c3","c6","c9","c8","c5"],"r2-027":["c10","c9","c11","c8","c4","c0","c1","c2","c3","c7","c6","c5"],"r2-028":["c10","c11","c7","c6","c3","c0","c1","c2","c5","c4","c8","c12","c9"],"r2-029":["t0","t1","t3","t2"],"r2-030":["c11","c12","c13","c9","c10","c6","c3","c2","c5","c8","c7","c4","c0","c1"],"r2-031":["c0","c3","c4","c1","c2","c8","c7","c6","c5","c9","c10","c11"],"r2-032":["c0","c3","c4","c1","c2","c6","c13","c12","c11","c10","c7","c8","c9","c5"],"r2-033":["c2","c5","c8","c11","c10","c7","c4","c1","c0","c3","c6","c9"],"r2-034":["c7","c11","c12","c8","c4","c0","c1","c2","c3","c6","c10","c13","c9","c5"],"r2-035":["t0","t3","t1","t2","t4","t5"],"r2-036":["c5","c8","c9","c6","c3","c2","c1","c0","c4","c7","c11","c10"],"r2-037":["c12","c11","c9","c10","c8","c4","c0","c1","c2","c3","c7","c6","c5"],"r2-038":["c14","c11","c12","c15","c13","c10","c6","c3","c2","c1","c4","c0","c7","c8","c9","c5"],"r2-039":["c0","c1","c2","c3","c7","c11","c10","c6","c5","c4","c8","c12","c13","c9"],"r2-040":["c9","c6","c3","c0","c1","c4","c7","c8","c5","c2"],"r2-041":["c14","c11","c10","c13","c12","c8","c9","c5","c4","c0","c1","c2","c3","c7","c6"],"r2-042":["c12","c11","c10","c9","c7","c5","c4","c0","c1","c2","c3","c6","c8"],"r2-043":["c11","c12","c8","c7","c3","c4","c5","c9","c10","c6","c2","c1","c0"],"r2-044":["c12","c8","c9","c10","c11","c7","c3","c2","c6","c5","c4","c0","c1"],"r2-045":["t0","t1","t2","t5","t4","t3","t6","t7"],"r2-046":["c11","c10","c6","c3","c0","c4","c7","c8","c9","c5","c2","c1"],"r2-047":["c14","c15","c12","c9","c5","c1","c0","c4","c8","c7","c11","c13","c10","c6","c2","c3"],"r2-048":["c9","c8","c5","c6","c2","c3","c7","c10","c13","c12","c14","c11","c4","c0","c1"],"r2-049":["c11","c12","c13","c10","c9","c6","c3","c2","c1","c0","c4","c7","c8","c5"],"r2-050":["c4","c3","c6","c7","c8","c5","c2","c1","c0"],"r2-051":["c9","c8","c11","c12","c13","c14","c10","c7","c3","c2","c6","c5","c4","c0","c1"],"r2-052":["c2","c5","c4","c7","c8","c11","c10","c9","c6","c3","c0","c1"],"r2-053":["c14","c13","c12","c8","c9","c6","c5","c0","c3","c10","c11","c7","c4","c2","c1"],"r2-054":["c14","c11","c7","c8","c12","c9","c13","c10","c6","c2","c1","c5","c4","c0","c3"],"r2-055":["c0","c1","c5","c8","c4","c11","c12","c9","c13","c10","c7","c3","c2","c6"],"r2-056":["c8","c9","c5","c2","c1","c4","c7","c11","c10","c6","c3","c0"],"r2-057":["c13","c11","c8","c4","c0","c1","c2","c6","c5","c9","c12","c10","c7","c3"],"r2-058":["c16","c13","c15","c14","c11","c12","c9","c5","c6","c10","c7","c3","c2","c1","c0","c4","c8"],"r2-059":["c9","c6","c3","c0","c1","c2","c5","c8","c7","c4"],"r2-060":["c4","c7","c6","c3","c0","c1","c2","c5","c8","c10","c9"],"r2-061":["c2","c1","c4","c5","c9","c8","c7","c11","c10","c6","c0","c3"],"r2-062":["c3","c4","c0","c1","c2","c6","c10","c14","c13","c16","c15","c12","c11","c7","c8","c9","c5"],"r2-063":["c0","c5","c9","c14","c19","c20","c15","c10","c6","c1","c2","c11","c16","c21","c22","c17","c12","c7","c3","c4","c8","c13","c18","c23"],"r2-064":["c13","c12","c11","c7","c8","c9","c10","c3","c2","c1","c0","c4","c5","c6"],"r2-065":["c4","c6","c9","c8","c3","c0","c1","c2","c5","c7"],"r2-066":["c5","c0","c1","c2","c3","c4","c8","c9","c13","c14","c19","c18","c17","c12","c7","c6","c11","c16","c15","c10"],"r2-067":["c17","c18","c23","c22","c21","c16","c12","c13","c14","c9","c4","c3","c8","c7","c2","c1","c0","c5","c6","c11","c10","c15","c19","c20"],"r2-068":["c4","c3","c2","c1","c0","c5","c6","c7","c12","c11","c10","c15","c16","c17","c18","c19","c14","c9","c8","c13"],"r2-069":["c2","c1","c0","c4","c5","c9","c8","c11","c12","c10","c6","c7","c3"],"r2-070":["c10","c6","c3","c0","c1","c7","c11","c12","c13","c9","c8","c4","c2","c5"],"r2-071":["c2","c3","c4","c5","c8","c13","c12","c11","c17","c16","c7","c6","c1","c0","c9","c10","c15","c14","c20","c21","c22","c23","c24","c25","c19","c18"],"r2-072":["c3","c2","c6","c5","c1","c0","c4","c8","c9","c11","c10","c7"],"r2-073":["c11","c7","c3","c0","c1","c4","c5","c9","c8","c12","c13","c14","c10","c6","c2"],"r2-074":["c1","c0","c4","c7","c11","c8","c5","c9","c12","c13","c10","c6","c3","c2"],"r2-075":["c0","c5","c4","c9","c10","c15","c14","c19","c20","c21","c22","c23","c18","c17","c16","c11","c12","c13","c8","c3","c2","c7","c6","c1"],"r2-076":["c12","c13","c18","c19","c14","c8","c3","c2","c7","c6","c1","c0","c5","c11","c16","c17","c22","c23","c24","c25","c21","c20","c15","c9","c10","c4"],"r2-077":["c14","c15","c10","c9","c8","c7","c13","c17","c18","c19","c20","c25","c24","c23","c22","c21","c16","c12","c11","c6","c0","c1","c2","c3","c4","c5"],"r2-078":["c9","c5","c4","c0","c1","c2","c3","c7","c6","c10","c11","c14","c13","c16","c15","c12","c8"],"r2-079":["c5","c2","c3","c6","c9","c13","c12","c8","c11","c15","c14","c10","c7","c4","c1","c0"],"r2-080":["c16","c12","c8","c4","c0","c1","c5","c6","c2","c3","c7","c11","c15","c14","c13","c9","c10"],"r2-081":["c0","c1","c5","c9","c10","c6","c2","c3","c4","c8","c7","c11","c12","c17","c21","c20","c16","c15","c14","c19","c18","c13"],"r2-082":["c3","c2","c1","c0","c5","c6","c7","c13","c14","c8","c9","c15","c21","c20","c25","c24","c19","c18","c12","c11","c17","c23","c22","c16","c10","c4"],"r2-083":["c0","c3","c4","c1","c2","c5","c6","c10","c14","c19","c18","c17","c16","c15","c11","c7","c8","c12","c13","c9"],"r2-084":["c0","c5","c4","c8","c16","c17","c12","c13","c18","c19","c15","c14","c10","c9","c6","c1","c2","c3","c7","c11"],"r2-085":["c11","c6","c5","c10","c9","c4","c0","c1","c2","c3","c8","c7","c12","c13","c18","c23","c22","c21","c20","c19","c14","c15","c16","c17"],"r2-086":["c1","c2","c3","c4","c9","c8","c7","c6","c11","c12","c16","c21","c20","c15","c14","c19","c18","c17","c13","c10","c5","c0"],"r2-087":["c20","c16","c17","c12","c11","c5","c0","c1","c6","c7","c2","c3","c4","c9","c8","c13","c18","c21","c22","c23","c19","c14","c15","c10"],"r2-088":["c6","c0","c1","c2","c7","c12","c18","c13","c19","c14","c20","c21","c15","c16","c22","c23","c17","c11","c5","c4","c10","c9","c8","c3"],"r2-089":["c1","c0","c4","c9","c8","c14","c20","c21","c15","c16","c10","c5","c6","c11","c17","c22","c23","c18","c19","c13","c12","c7","c3","c2"],"r2-090":["c14","c19","c20","c21","c16","c11","c7","c3","c2","c6","c5","c1","c0","c4","c8","c12","c17","c18","c13","c9","c10","c15"],"r2-091":["c11","c12","c6","c7","c8","c14","c13","c19","c18","c17","c23","c24","c25","c20","c21","c26","c27","c22","c16","c15","c9","c10","c5","c4","c3","c2","c1","c0"],"r2-092":["c0","c5","c1","c2","c3","c4","c8","c9","c10","c15","c14","c13","c12","c7","c6","c11","c16","c21","c22","c17","c18","c23","c19","c24","c20","c25"],"r2-093":["c11","c7","c8","c3","c9","c14","c13","c12","c17","c18","c19","c20","c25","c24","c23","c22","c21","c16","c15","c10","c6","c2","c1","c5","c4","c0"],"r2-094":["c21","c20","c15","c10","c5","c0","c1","c2","c7","c6","c11","c16","c17","c22","c23","c18","c19","c14","c9","c4","c3","c8","c13","c12"],"r2-095":["c12","c11","c10","c14","c19","c20","c15","c16","c21","c22","c23","c18","c17","c13","c9","c8","c7","c6","c5","c0","c1","c2","c3","c4"],"r2-096":["c11","c7","c3","c2","c1","c0","c5","c4","c8","c12","c18","c19","c13","c9","c10","c14","c20","c21","c22","c23","c17","c16","c15","c6"],"r2-097":["c14","c19","c24","c23","c18","c17","c11","c12","c13","c8","c9","c15","c20","c25","c21","c26","c27","c22","c16","c10","c5","c4","c3","c7","c2","c6","c1","c0"],"r2-098":["c18","c19","c20","c14","c13","c12","c6","c0","c1","c7","c2","c3","c8","c9","c4","c5","c11","c10","c15","c21","c22","c16","c17","c23"],"r2-099":["c0","c1","c2","c3","c4","c9","c14","c19","c23","c22","c21","c20","c15","c10","c5","c6","c11","c16","c17","c18","c13","c8","c7","c12"],"r2-100":["c16","c17","c18","c19","c14","c13","c12","c11","c6","c7","c8","c9","c4","c3","c2","c1","c0","c5","c10","c15"],"r2-101":["c7","c6","c12","c17","c16","c15","c10","c11","c5","c1","c0","c4","c3","c9","c20","c21","c22","c23","c24","c25","c19","c18","c13","c14","c8","c2"],"r2-102":["c11","c5","c0","c1","c6","c12","c17","c23","c24","c18","c13","c7","c2","c8","c3","c4","c9","c10","c16","c22","c27","c26","c21","c15","c14","c19","c25","c20"],"r2-103":["c3","c4","c5","c10","c9","c14","c13","c8","c12","c17","c18","c19","c20","c15","c21","c27","c26","c25","c24","c23","c22","c16","c11","c6","c7","c2","c1","c0"],"r2-104":["c25","c24","c23","c22","c16","c17","c11","c12","c18","c19","c20","c26","c27","c21","c15","c14","c10","c4","c3","c9","c13","c8","c2","c7","c6","c1","c0","c5"],"r2-105":["c11","c7","c4","c0","c1","c8","c12","c13","c10","c9","c5","c6","c3","c2"],"r2-106":["c7","c3","c2","c1","c0","c6","c15","c20","c21","c22","c17","c16","c10","c11","c12","c23","c24","c25","c19","c18","c13","c8","c4","c5","c9","c14"],"r2-107":["c9","c3","c4","c5","c11","c10","c15","c16","c17","c23","c27","c22","c21","c26","c20","c25","c24","c18","c19","c14","c13","c12","c6","c0","c1","c7","c2","c8"],"r2-108":["c25","c24","c23","c22","c17","c18","c19","c20","c26","c27","c21","c16","c15","c9","c8","c14","c13","c12","c11","c6","c0","c1","c7","c2","c3","c4","c5","c10"],"r2-109":["c5","c8","c11","c10","c7","c4","c0","c1","c2","c3","c6","c9","c13","c12"],"r2-110":["c24","c23","c17","c18","c13","c12","c6","c0","c1","c2","c3","c4","c5","c11","c10","c16","c21","c22","c27","c26","c25","c20","c19","c14","c15","c9","c8","c7"],"r2-111":["c5","c0","c1","c2","c6","c11","c17","c23","c24","c18","c12","c7","c3","c4","c8","c13","c19","c14","c9","c10","c15","c16","c22","c27","c26","c25","c20","c21"],"r2-112":["c25","c24","c23","c22","c18","c17","c12","c13","c14","c19","c20","c15","c10","c4","c3","c9","c8","c2","c7","c6","c1","c0","c5","c11","c16","c21"],"r2-113":["c5","c0","c1","c6","c12","c11","c10","c16","c21","c17","c18","c19","c13","c7","c2","c3","c4","c9","c8","c14","c15","c20","c25","c24","c23","c22"],"r2-114":["c3","c2","c1","c0","c6","c12","c7","c8","c13","c18","c19","c24","c25","c26","c21","c20","c14","c9","c15","c16","c10","c4","c5","c11","c17","c23","c22","c27","c28","c29"],"r2-115":["c0","c5","c10","c14","c19","c20","c15","c11","c6","c1","c2","c7","c12","c8","c3","c4","c9","c13","c18","c23","c22","c21","c16","c17"],"r2-116":["c13","c7","c1","c2","c3","c9","c8","c14","c15","c21","c16","c10","c4","c5","c11","c17","c22","c27","c26","c25","c24","c20","c19","c23","c18","c12","c6","c0"],"r2-117":["c4","c5","c10","c9","c3","c2","c1","c0","c6","c11","c7","c8","c12","c17","c23","c18","c24","c25","c20","c19","c13","c14","c15","c16","c21","c22","c27","c26"],"r2-118":["c0","c1","c6","c12","c18","c13","c7","c2","c3","c8","c9","c4","c5","c10","c11","c17","c23","c22","c16","c21","c20","c15","c14","c19"],"r2-119":["c9","c6","c5","c4","c8","c11","c12","c13","c10","c7","c3","c2","c1","c0"],"r2-120":["c20","c21","c27","c26","c25","c19","c24","c23","c18","c13","c12","c17","c22","c16","c10","c11","c7","c6","c5","c0","c1","c2","c3","c8","c4","c9","c14","c15"],"r2-121":["c12","c18","c19","c13","c7","c6","c0","c1","c2","c8","c3","c4","c5","c11","c17","c23","c22","c16","c21","c20","c14","c9","c15","c10"],"r2-122":["c0","c4","c5","c6","c1","c2","c3","c7","c8","c14","c13","c12","c11","c10","c9","c15","c21","c22","c16","c17","c18","c23","c24","c25","c20","c19"],"r2-123":["c9","c15","c14","c8","c7","c6","c0","c1","c2","c3","c4","c5","c11","c17","c23","c29","c28","c27","c26","c25","c24","c18","c12","c13","c19","c20","c21","c22","c16","c10"],"r2-124":["c9","c5","c0","c1","c6","c2","c3","c4","c8","c7","c12","c13","c18","c23","c22","c17","c16","c11","c10","c15","c14","c19","c20","c21"],"r2-125":["c11","c6","c7","c8","c12","c18","c17","c16","c21","c22","c23","c29","c28","c27","c26","c25","c24","c19","c13","c14","c20","c15","c10","c9","c5","c4","c0","c1","c2","c3"],"r2-126":["c6","c0","c1","c2","c3","c4","c5","c11","c10","c16","c17","c23","c29","c28","c27","c22","c21","c26","c25","c24","c18","c12","c7","c8","c13","c19","c20","c14","c15","c9"],"r2-127":["c6","c0","c1","c2","c3","c4","c5","c11","c17","c23","c29","c28","c27","c22","c16","c10","c9","c15","c21","c20","c26","c25","c24","c19","c18","c12","c7","c8","c14","c13"],"r2-128":["c23","c22","c17","c11","c5","c4","c10","c16","c21","c15","c20","c14","c9","c3","c2","c8","c13","c19","c18","c12","c7","c1","c0","c6"],"r2-129":["c3","c4","c5","c11","c17","c22","c27","c26","c25","c20","c21","c16","c10","c9","c15","c14","c8","c2","c1","c7","c13","c18","c19","c24","c23","c12","c6","c0"],"r2-130":["c7","c2","c1","c6","c11","c12","c13","c8","c3","c4","c9","c14","c15","c21","c27","c26","c20","c19","c25","c24","c18","c17","c23","c22","c16","c10","c5","c0"],"r2-131":["c6","c11","c12","c18","c24","c25","c19","c20","c14","c13","c8","c7","c3","c2","c1","c0","c4","c9","c15","c21","c22","c23","c17","c16","c10","c5"],"r2-132":["c2","c1","c0","c6","c7","c8","c3","c9","c4","c5","c11","c10","c16","c21","c22","c27","c26","c25","c20","c24","c19","c15","c14","c13","c12","c17","c23","c18"],"r2-133":["c20","c25","c26","c21","c27","c28","c29","c23","c22","c17","c16","c11","c5","c10","c4","c3","c9","c15","c14","c19","c24","c18","c13","c8","c2","c1","c7","c12","c6","c0"],"r2-134":["c15","c9","c10","c4","c3","c2","c8","c7","c13","c14","c19","c20","c21","c27","c26","c25","c24","c23","c22","c16","c11","c5","c0","c1","c6","c12","c17","c18"],"r2-135":["c13","c18","c19","c24","c25","c20","c14","c8","c9","c3","c2","c1","c7","c6","c12","c17","c23","c22","c21","c15","c16","c11","c10","c4","c5","c0"],"r2-136":["c15","c21","c25","c24","c20","c14","c8","c9","c4","c3","c2","c7","c6","c12","c13","c19","c23","c22","c18","c17","c16","c10","c11","c1","c5","c0"],"r2-137":["c3","c4","c5","c11","c17","c22","c27","c31","c30","c26","c29","c25","c20","c14","c15","c21","c16","c10","c9","c8","c2","c1","c0","c6","c7","c13","c12","c18","c19","c24","c23","c28"],"r2-138":["c0","c1","c2","c3","c9","c8","c7","c6","c12","c16","c21","c22","c13","c17","c23","c24","c18","c19","c14","c10","c4","c5","c11","c15","c20","c25"],"r2-139":["c21","c17","c18","c19","c22","c23","c14","c13","c12","c11","c6","c0","c1","c7","c8","c2","c3","c9","c4","c5","c10","c16","c15","c20","c24","c25"],"r2-140":["c16","c17","c23","c29","c28","c22","c21","c15","c14","c20","c19","c13","c7","c8","c9","c10","c11","c5","c4","c3","c2","c1","c0","c6","c12","c18","c24","c25","c26","c27"],"r2-141":["c10","c16","c21","c20","c15","c14","c9","c4","c8","c3","c2","c1","c0","c5","c6","c7","c13","c19","c18","c12","c11","c17","c22","c23","c28","c24","c25","c29","c26","c27","c31","c30"],"r2-142":["c0","c5","c11","c17","c23","c24","c25","c26","c21","c20","c15","c14","c19","c18","c12","c6","c1","c7","c13","c8","c2","c3","c4","c9","c10","c16","c22","c27"],"r2-143":["c2","c1","c0","c6","c7","c8","c14","c13","c12","c18","c24","c25","c19","c20","c21","c15","c9","c3","c4","c5","c11","c10","c16","c17","c23","c22","c27","c26"],"r2-144":["c23","c27","c26","c22","c17","c11","c16","c21","c20","c25","c24","c19","c18","c12","c6","c0","c1","c7","c2","c8","c13","c14","c15","c10","c5","c4","c9","c3"],"r2-145":["c0","c1","c6","c5","c4","c8","c9","c10","c15","c14","c19","c18","c13","c12","c17","c16","c11","c7","c3","c2"],"r2-146":["c13","c18","c23","c17","c22","c27","c26","c25","c24","c19","c20","c21","c16","c15","c14","c10","c11","c6","c5","c0","c1","c2","c3","c7","c12","c8","c9","c4"],"r2-147":["c1","c0","c5","c11","c17","c18","c23","c24","c25","c21","c26","c27","c22","c16","c10","c4","c9","c15","c20","c14","c19","c13","c12","c6","c7","c8","c2","c3"],"r2-148":["c0","c1","c6","c7","c2","c3","c4","c8","c9","c14","c18","c23","c29","c28","c27","c21","c22","c17","c13","c12","c16","c26","c25","c24","c19","c20","c15","c11","c10","c5"],"r2-149":["c3","c9","c8","c2","c1","c7","c13","c14","c15","c21","c26","c20","c19","c25","c24","c18","c12","c6","c0","c5","c4","c10","c11","c17","c16","c22","c23","c27","c28","c29","c30","c31"],"r2-150":["c16","c17","c11","c7","c3","c4","c8","c12","c18","c23","c29","c28","c22","c21","c27","c26","c25","c24","c19","c13","c9","c0","c1","c2","c6","c5","c10","c14","c15","c20"],"r2-151":["c3","c9","c15","c16","c10","c4","c5","c11","c17","c23","c29","c28","c22","c21","c27","c26","c20","c14","c8","c2","c1","c0","c6","c12","c18","c24","c25","c19","c13","c7"],"r2-152":["c3","c2","c1","c0","c6","c7","c8","c9","c15","c20","c19","c14","c13","c12","c17","c18","c22","c27","c28","c29","c23","c24","c30","c31","c26","c25","c21","c16","c10","c11","c5","c4"],"r2-153":["c2","c1","c0","c5","c11","c6","c12","c17","c23","c18","c13","c7","c8","c3","c4","c10","c9","c14","c19","c24","c28","c29","c30","c31","c27","c22","c16","c15","c21","c26","c20","c25"],"r2-154":["c25","c26","c31","c30","c29","c24","c23","c18","c19","c20","c21","c16","c15","c14","c13","c12","c6","c7","c8","c9","c10","c4","c3","c2","c1","c0","c5","c11","c17","c22","c28","c27"],"r2-155":["c0","c1","c5","c6","c11","c16","c22","c23","c17","c18","c24","c28","c29","c25","c19","c14","c9","c8","c13","c12","c7","c2","c3","c4","c10","c15","c20","c21","c27","c26","c30","c31"],"r2-156":["c0","c1","c6","c7","c12","c18","c24","c19","c13","c8","c2","c3","c4","c5","c11","c10","c9","c15","c14","c20","c25","c26","c27","c23","c17","c16","c21","c22"],"r2-157":["c17","c16","c15","c14","c13","c7","c8","c9","c10","c11","c5","c4","c3","c2","c1","c0","c6","c12","c18","c23","c19","c20","c24","c25","c26","c21","c22","c27"],"r2-158":["c17","c18","c24","c23","c22","c16","c12","c6","c0","c1","c7","c13","c8","c2","c3","c4","c5","c11","c10","c9","c14","c15","c21","c27","c26","c25","c19","c20"],"r2-159":["c31","c30","c25","c24","c29","c28","c23","c17","c18","c19","c20","c14","c13","c12","c6","c0","c1","c7","c8","c2","c3","c4","c5","c11","c16","c22","c27","c26","c21","c15","c10","c9"],"r2-160":["c21","c20","c26","c27","c28","c29","c23","c22","c17","c18","c14","c9","c10","c15","c24","c30","c31","c25","c19","c16","c11","c5","c4","c3","c2","c1","c0","c6","c12","c13","c7","c8"],"r2-161":["c13","c7","c6","c0","c1","c2","c8","c14","c15","c9","c3","c4","c5","c11","c10","c16","c17","c23","c29","c28","c22","c21","c27","c26","c20","c19","c25","c24","c18","c12"],"r2-162":["c1","c0","c6","c7","c12","c18","c24","c25","c19","c13","c14","c8","c2","c3","c4","c5","c11","c10","c9","c15","c20","c26","c21","c16","c17","c22","c27","c28","c23","c29"],"r2-163":["c21","c28","c35","c34","c33","c32","c31","c30","c23","c16","c9","c3","c0","c1","c2","c5","c4","c10","c17","c24","c25","c26","c27","c20","c19","c18","c11","c12","c6","c7","c13","c14","c8","c15","c22","c29"],"r2-164":["c2","c1","c0","c5","c11","c17","c27","c28","c29","c24","c25","c30","c31","c26","c22","c21","c20","c19","c13","c14","c15","c16","c10","c9","c4","c3","c8","c7","c6","c12","c18","c23"],"r2-165":["c3","c9","c14","c20","c25","c26","c21","c15","c16","c17","c23","c22","c27","c28","c29","c24","c19","c18","c13","c12","c11","c10","c4","c0","c1","c5","c6","c7","c8","c2"],"r2-166":["c18","c24","c25","c26","c27","c21","c15","c10","c5","c4","c9","c14","c20","c19","c13","c8","c3","c2","c1","c0","c6","c7","c12","c17","c23","c22","c16","c11"],"r2-167":["c17","c12","c6","c0","c1","c7","c13","c18","c23","c24","c19","c14","c15","c9","c8","c2","c3","c4","c5","c11","c10","c16","c21","c20","c25","c26","c27","c22"],"r2-168":["c0","c1","c2","c3","c4","c10","c15","c21","c27","c26","c25","c24","c23","c22","c16","c11","c5","c6","c12","c17","c18","c7","c8","c9","c14","c13","c19","c20"],"r2-169":["c5","c0","c1","c2","c3","c4","c8","c9","c14","c15","c20","c19","c25","c26","c31","c30","c29","c24","c23","c18","c13","c12","c7","c6","c11","c10","c16","c17","c21","c22","c27","c28"],"r2-170":["c0","c1","c2","c8","c7","c6","c12","c13","c14","c15","c16","c10","c9","c3","c4","c5","c11","c17","c23","c25","c24","c22","c21","c20","c19","c18"],"r2-171":["c25","c20","c14","c15","c10","c6","c0","c1","c2","c3","c8","c7","c11","c12","c17","c16","c21","c26","c27","c22","c23","c28","c29","c24","c19","c18","c13","c9","c4","c5"],"r2-172":["c0","c1","c6","c11","c10","c5","c4","c9","c15","c16","c17","c18","c12","c13","c7","c2","c3","c8","c14","c20","c19","c25","c26","c31","c30","c29","c24","c23","c22","c21","c27","c28"],"r2-173":["c15","c5","c4","c3","c8","c9","c14","c13","c19","c20","c21","c27","c26","c25","c24","c18","c12","c11","c17","c23","c22","c16","c10","c0","c1","c6","c7","c2"],"r2-174":["c5","c4","c10","c15","c14","c9","c3","c2","c1","c0","c6","c7","c8","c13","c18","c19","c20","c21","c27","c26","c25","c24","c23","c22","c16","c11","c12","c17"],"r2-175":["c7","c13","c12","c6","c0","c1","c2","c8","c14","c15","c9","c3","c4","c5","c11","c17","c22","c27","c26","c25","c24","c23","c18","c19","c20","c21","c16","c10"],"r2-176":["c21","c27","c26","c25","c24","c19","c20","c9","c14","c8","c7","c13","c18","c23","c22","c17","c12","c6","c0","c1","c2","c3","c4","c5","c11","c10","c15","c16"],"r2-177":["c15","c14","c13","c19","c18","c17","c11","c12","c6","c5","c0","c1","c2","c7","c8","c3","c4","c9","c10","c16","c27","c31","c30","c26","c21","c20","c25","c29","c24","c23","c22","c28"],"r2-178":["c6","c0","c1","c7","c8","c2","c3","c4","c5","c11","c10","c16","c17","c21","c27","c26","c20","c19","c25","c24","c23","c22","c18","c12","c13","c14","c15","c9"],"r2-179":["c6","c12","c11","c10","c3","c2","c5","c9","c15","c16","c17","c18","c24","c23","c29","c28","c22","c21","c27","c26","c25","c19","c20","c14","c13","c7","c8","c4","c1","c0"],"r2-180":["c23","c17","c11","c5","c0","c1","c2","c6","c12","c18","c19","c20","c21","c24","c25","c22","c16","c15","c14","c13","c7","c8","c9","c3","c4","c10"],"r2-181":["c5","c4","c3","c2","c8","c7","c1","c0","c6","c12","c13","c19","c18","c24","c29","c30","c31","c32","c33","c26","c27","c34","c35","c28","c23","c17","c11","c10","c9","c15","c16","c22","c21","c20","c14","c25"],"r2-182":["c16","c17","c23","c22","c21","c15","c9","c10","c11","c5","c4","c3","c2","c1","c0","c6","c12","c18","c24","c25","c19","c13","c7","c8","c14","c20","c26","c27","c28","c29"],"r2-183":["c20","c26","c27","c28","c29","c23","c22","c17","c16","c11","c5","c4","c10","c9","c3","c2","c8","c13","c7","c1","c0","c6","c12","c18","c24","c25","c19","c14","c15","c21"],"r2-184":["c7","c3","c4","c8","c9","c10","c14","c13","c19","c18","c17","c12","c11","c16","c23","c24","c25","c26","c27","c20","c21","c28","c35","c34","c33","c32","c31","c30","c29","c22","c15","c5","c0","c1","c2","c6"],"r2-185":["c20","c21","c22","c23","c17","c11","c5","c4","c10","c16","c15","c9","c3","c8","c2","c1","c0","c6","c7","c12","c18","c13","c19","c14"],"r2-186":["c20","c25","c24","c18","c19","c14","c13","c12","c6","c0","c1","c7","c2","c8","c3","c4","c9","c10","c5","c11","c17","c16","c15","c21","c26","c27","c28","c22","c23","c29"],"r2-187":["c1","c0","c6","c13","c14","c7","c8","c15","c16","c9","c2","c3","c4","c5","c12","c11","c10","c17","c18","c19","c23","c28","c35","c34","c33","c32","c31","c30","c29","c20","c21","c24","c25","c26","c27","c22"],"r2-188":["c15","c10","c11","c16","c21","c27","c26","c25","c24","c23","c22","c17","c18","c19","c20","c14","c9","c8","c13","c12","c7","c6","c0","c1","c2","c3","c4","c5"],"r2-189":["c8","c14","c20","c24","c29","c28","c27","c23","c18","c19","c13","c7","c3","c2","c6","c12","c11","c5","c1","c0","c4","c9","c10","c16","c17","c22","c26","c25","c21","c15"],"r2-190":["c19","c20","c21","c22","c23","c17","c16","c15","c14","c9","c8","c13","c18","c12","c6","c0","c1","c7","c2","c3","c4","c10","c5","c11"],"r2-191":["c0","c7","c14","c15","c21","c22","c16","c17","c23","c24","c18","c19","c12","c11","c10","c9","c8","c1","c2","c3","c4","c5","c6","c13","c20","c26","c25","c32","c31","c35","c34","c30","c29","c28","c27","c33"],"r2-192":["c14","c20","c25","c32","c33","c26","c27","c34","c35","c28","c21","c16","c11","c4","c3","c10","c15","c9","c8","c2","c1","c6","c7","c13","c19","c18","c23","c24","c31","c30","c29","c22","c17","c12","c5","c0"],"r2-193":["c0","c6","c7","c1","c2","c3","c4","c5","c10","c9","c8","c13","c14","c15","c20","c25","c29","c28","c24","c19","c27","c26","c23","c22","c21","c16","c17","c18","c12","c11"],"r2-194":["c8","c13","c12","c18","c24","c25","c19","c20","c14","c9","c15","c10","c16","c21","c26","c27","c22","c28","c29","c23","c17","c11","c5","c4","c3","c2","c7","c1","c6","c0"],"r2-195":["c0","c6","c11","c16","c17","c12","c7","c1","c2","c13","c18","c22","c21","c26","c27","c28","c23","c19","c14","c8","c3","c4","c5","c10","c9","c15","c20","c24","c25","c29"],"r2-196":["c6","c12","c18","c24","c25","c19","c13","c7","c8","c14","c20","c26","c27","c28","c29","c23","c17","c11","c5","c4","c10","c16","c22","c21","c15","c9","c3","c2","c1","c0"],"r2-197":["c1","c0","c6","c13","c19","c24","c29","c30","c31","c25","c20","c15","c14","c7","c8","c2","c3","c9","c16","c21","c27","c26","c32","c33","c34","c35","c28","c23","c22","c18","c17","c10","c11","c12","c5","c4"],"r2-198":["c13","c19","c25","c24","c23","c22","c17","c18","c12","c11","c6","c0","c1","c7","c2","c3","c8","c14","c15","c20","c26","c27","c21","c16","c10","c9","c4","c5"],"r2-199":["c6","c0","c1","c2","c7","c12","c18","c13","c19","c20","c14","c8","c3","c4","c5","c11","c10","c9","c15","c21","c16","c22","c23","c17"],"r2-200":["c8","c7","c12","c13","c18","c19","c14","c9","c4","c3","c2","c1","c0","c5","c6","c11","c10","c15","c20","c21","c16","c17","c22","c23"]}};var C1="variant:campaign-200-r2:v1:resume";function Xe(c){try{let e=JSON.parse(c.getItem(C1)||"null");return(e==null?void 0:e.version)===1&&typeof e.levelId=="string"?e:null}catch{return null}}function Qe(c,e,i,t){let a=new Set(e),r=c.findIndex(h=>h.id===(i==null?void 0:i.levelId)),d=c.findIndex(h=>h.id===t);if(r>=0&&!a.has(c[r].id))return{index:r,path:Array.isArray(i.path)?i.path:[]};let o=r>=0?r:d;if(o>=0&&!a.has(c[o].id))return{index:o,path:[]};for(let h=1;h<=c.length;h++){let n=(Math.max(-1,o)+h)%c.length;if(!a.has(c[n].id))return{index:n,path:[]}}return{index:Math.max(0,o),path:[]}}function j1(c,e,i){if(!Array.isArray(e)||e.length>c.cells.length)return[];let t=[];for(let a of e){if(typeof a!="string"||!i(c,t,a))return[];t.push(a)}return t}function Fi(c,e,i,t,a,r){let d=Xe(c),o=new Set(i);if(o.has(t.id)&&!r&&d&&!o.has(d.levelId)&&e.some(y=>y.id===d.levelId))return;let h=r||o.has(t.id)?Qe(e,i,null,t.id):{index:e.indexOf(t),path:[...a]},n=JSON.stringify({version:1,levelId:e[h.index].id,path:h.path});try{c.getItem(C1)!==n&&c.setItem(C1,n)}catch{}}function Ei(c,e,i){let t=new Map(c.cells.map(d=>[d.id,d])),a=e.flatMap((d,o)=>{let h=t.get(d);return o===0||o===e.length-1||h.clue!==void 0||h.direction||h.parity?[o]:[]}),r=0;for(;rc.end)return c=null,null;let d=Ei(i,t,a);return d&&d.starti[e.route[h]]&&i[o]?[{a:e.route[h],b:o,points:[i[e.route[h]],i[o]]}]:[]);e={...e,guides:d}}hi(c,e,e.pitch||t,a,r)}}var V=null,E1="",Pi=0,i1=Oi(),Jc=Ac,X=(Jc.playOrder||Jc.levels.map(c=>c.id)).map(c=>Jc.levels.find(e=>e.id===c)),O1=X.length;var F1=null,ke=[],Se=[],Li="mouse",F=c=>dc.getElementById(c),Q=F("board"),Yc=Q.getContext("2d"),Me=!1,v,Nc,I=[],Wc=0;var te=[],re=new Map,ae=1,jc=[],A1=!1,Te=null,tc=!1,Uc="variant:campaign-200-r2:v1",bc=new Ue(K,fc,Uc+":sound"),nc=[];try{nc=JSON.parse(fc.getItem(Uc)||"[]")}catch{}A.attach(bc,wx,fc);var Ze=new Map,e1=0,c1=null,Z=null,Gc=[];try{Gc=JSON.parse(fc.getItem(Uc+":records")||"[]")}catch{}function oe(){if(!Z)return;Z.reasoning=F("reasoning").value,Z.elapsedSeconds=Math.round((ve.now()-e1)/1e3),Z.completed=tc;let c={...Z,endedAt:new Date().toISOString()},e=Gc.findIndex(i=>i.attemptId===c.attemptId);e>=0?Gc[e]=c:Gc.push(c);try{fc.setItem(Uc+":records",JSON.stringify(Gc.slice(-500)))}catch{}}function kc(c){F("status").textContent=c,F("status").className="toast show",F1&&clearTimeout(F1),F1=setTimeout(()=>{F("status").className="toast"},1800)}function r1(){v.tutorial&&!nc.includes(v.id)&&!I.length&&(F("rule-text").textContent=v.caption,F("rules-sheet").hidden=!1),F("screen-select").className="screen hidden",F("screen-play").className="screen enter",wc()}function $r(){oe(),F("screen-select").className="screen enter",F("screen-play").className="screen hidden",P1(),F("status").className="toast"}function Xr(){Ze.clear();let c=[...(v.relations||[]).flatMap(e=>[e.from,e.to]),...(v.orderChains||[]).flat()];for(let e of c)Ze.has(e)||Ze.set(e,String.fromCharCode(65+Ze.size))}function Qr(){return{attemptId:Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,8),mode:Jc.mode,level:v.id,contentRevision:v.contentRevision,order:v.order,chapter:v.chapter,title:v.title,startedAt:new Date().toISOString(),thinkingBeforeFirstDrawSeconds:null,elapsedSeconds:0,firstError:null,backtracks:0,restarts:0,hints:0,completed:!1,reasoning:""}}function t1(c,e=!0){if(A.reset(),i1.clear(),Z&&oe(),Wc=c,v=X[c],Nc=[...ji.routes[v.id]],!Nc)throw Error("\u6CA1\u6709\u5408\u6CD5\u8DEF\u7EBF");I=[],jc=[],tc=!1,e1=ve.now(),c1=null,Z=Qr(),F("reasoning").value="",Xr(),F("goal").textContent=v.title,F("caption").textContent=v.caption||"\u5148\u89C2\u5BDF\uFF0C\u518D\u753B\uFF1B\u9519\u4E86\u53EF\u4EE5\u9000\u56DE\u3002",F("title").textContent="\u6570\u5B57\u4E00\u7B14",F("rule-text").textContent=Zr(v);try{fc.setItem(Uc+":current",v.id)}catch{}kc(""),_i(),P1(),e?r1():wc()}function P1(){let c=F("pack-list");c.replaceChildren();for(let e of Jc.chapters){let i=dc.createElement("section");i.className="pack";let t=dc.createElement("div");t.className="pack-title";let a=dc.createElement("span");a.textContent=e.title;let r=dc.createElement("span");r.className="pack-progress";let d=X.filter(h=>h.chapter===e.id);r.textContent=d.filter(h=>nc.includes(h.id)).length+" / "+d.length,t.append(a,r);let o=dc.createElement("div");o.className="level-grid";for(let h of d){let n=X.indexOf(h),y=dc.createElement("button");y.levelId=h.id,y.textContent=String(X.indexOf(h)+1),y.title=h.title,y.className="level-tile"+(nc.includes(h.id)?" cleared":"")+(n===Wc?" current":""),y.onclick=()=>t1(n),o.append(y)}i.append(t,o),c.append(i)}F("position").textContent=v.chapter+"-"+(X.filter(e=>e.chapter===v.chapter).indexOf(v)+1),F("level-sub").textContent=v.chapterTitle+" \xB7 \u7B2C"+(Wc+1)+"\u5173"+(v.tutorial?" \xB7 \u5F15\u5BFC":""),F("progress").textContent=nc.filter(e=>X.some(i=>i.id===e)).length+" / "+O1,F("overall-fill").style.width=nc.filter(e=>X.some(i=>i.id===e)).length/O1*100+"%",F("btn-continue").textContent="\u7EE7\u7EED \xB7 "+v.chapter+"-"+(X.filter(e=>e.chapter===v.chapter).indexOf(v)+1),F("level-progress").replaceChildren();for(let e of X.filter(i=>i.chapter===v.chapter)){let i=dc.createElement("i");i.className=(nc.includes(e.id)?"cleared ":"")+(e.id===v.id?"current":""),F("level-progress").append(i)}}var Zr=fi;function _i(){F("constraints").replaceChildren()}function wc(){var a;if(!v)return;let c=Q.clientWidth,e=Q.clientHeight;if(!c||!e)return;let i=K.devicePixelRatio||1;Q.width!==Math.round(c*i)&&(Q.width=Math.round(c*i)),Q.height!==Math.round(e*i)&&(Q.height=Math.round(e*i)),Yc.setTransform(i,0,0,i,0,0),V=R1(Yc,v,I,c,e,{preview:Me,...Qi(Date.now()),pixelRatio:i}),{polygons:te,centers:re,unit:ae}=V,ke=V.channels,Se=V.views;let t=uc(v,I);Me||($i(),et(t),F("remaining-n").textContent=tc?"\u5B8C\u6210":String(v.cells.length-I.length),F("remaining").className="remaining"+(tc?" done":""),(a=v.doors)!=null&&a.length&&_i(),t.length&&kc(t[0].message+"\uFF0C\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\u3002"),F("undo").disabled=!I.length,F("next").hidden=!tc||Wc===X.length-1)}function Ni(c,e,i){let t=!1;for(let a=0,r=i.length-1;ae!=n>e&&c<(h-d)*(e-o)/(n-o)+d&&(t=!t)}return t}function Ki(c,e){var i;return(i=te.find(t=>{if(v.geometry!=="hex")return Ni(c,e,t.p);let[a,r]=re.get(t.id),d=Li==="touch"?.92:.86;return Ni(c,e,t.p.map(([o,h])=>[a+(o-a)*d,r+(h-r)*d]))}))==null?void 0:i.id}function Wi(c,e){A.emit("error",v,c,I.at(-1)===c?I.length:I.length+1),Z.firstError||(Z.firstError={step:I.length+1,cell:c,message:e}),kc(e)}function Gi(c){var t,a;if(!c||tc)return;let e=I.indexOf(c);if(e!==-1){if(I.length>=2&&e===I.length-2){Z.backtracks++;let r=I.pop();A.emit("undo",v,r,I.length,{from:I.at(-1)}),jc=[],kc("\u5DF2\u56DE\u9000\uFF0C\u7EE7\u7EED\u89C2\u5BDF\u5269\u4F59\u683C\u3002"),wc()}return}if(!Ne(v,I,c)){let r=Qc(v);(I.length&&r.adj[r.ids.get(I.at(-1))].includes(r.ids.get(c))||!I.length)&&Wi(c,I.length?(t=v.walls)!=null&&t.some(o=>o.includes(I.at(-1))&&o.includes(c))?"\u8FD9\u662F\u6C38\u4E45\u5899\uFF0C\u4E0D\u80FD\u7A7F\u8FC7\u3002":(a=v.doors)!=null&&a.some(o=>o.edge.includes(I.at(-1))&&o.edge.includes(c))?"\u95E8\u73B0\u5728\u5173\u95ED\uFF1B\u7ED5\u884C\u843D\u683C\u540E\u4F1A\u5207\u6362\u3002":"\u540C\u8272\u683C\u4E0D\u80FD\u8FDE\u7EED\u7ECF\u8FC7\uFF0C\u8BF7\u6362\u53E6\u4E00\u79CD\u989C\u8272\u3002":"\u8BF7\u4ECE\u6570\u5B57 1 \u5F00\u59CB\u3002");return}c1===null&&(c1=ve.now(),Z.thinkingBeforeFirstDrawSeconds=Math.round((c1-e1)/1e3)),I.push(c),jc=[];let i=uc(v,I);if(i.length)Wi(c,i[0].message);else{let r=v.cells.find(d=>d.id===c);I.length1&&r.clue===I.length||r.parity||r.direction?"checkpoint":"move",v,c,I.length,{from:I.at(-2),ribbon:!!r.parity||r.clue>1&&r.clue===I.length}),kc("")}if(I.length===v.cells.length&&!i.length){if(tc=!0,Z.completed=!0,Z.elapsedSeconds=Math.round((ve.now()-e1)/1e3),!nc.includes(v.id)){nc.push(v.id);try{fc.setItem(Uc,JSON.stringify(nc))}catch{}}kc(Wc===X.length-1?O1+"\u5173\u5B8C\u6210\uFF01":"\u5B8C\u6210\uFF01"),A.emit("complete",v,c,I.length,{from:I.at(-2)}),oe(),P1()}wc()}function Ji(c){let e=Q.getBoundingClientRect();return[c.clientX-e.left,c.clientY-e.top]}Q.addEventListener("pointerdown",c=>{A.begin();try{c.preventDefault(),bc.unlock(),Li=c.pointerType||"mouse",A1=!0,Q.setPointerCapture(c.pointerId),Te=Ji(c),Gi(Ki(...Te))}finally{A.end()}});Q.addEventListener("pointermove",c=>{A.begin();try{if(!A1)return;c.preventDefault();let e=Ji(c),i=Te||e,t=Math.hypot(e[0]-i[0],e[1]-i[1]),a=Math.ceil(t/Math.max(3,ae*.1));for(let r=1;r<=a;r++)it(i[0]+(e[0]-i[0])*r/a,i[1]+(e[1]-i[1])*r/a);Te=e}finally{A.end()}});function Yi(){A1=!1,Te=null}Q.addEventListener("pointerup",Yi);Q.addEventListener("pointercancel",Yi);F("undo").onclick=()=>{if(bc.unlock(),I.length){let c=I.pop();A.emit("undo",v,c,I.length,{from:I.at(-1)}),Z.backtracks++,Z.completed=!1,tc=!1,jc=[],kc("\u5DF2\u64A4\u9500\u4E00\u6B65\u3002"),wc()}};F("restart").onclick=()=>{A.reset(),bc.unlock(),bc.play("restart"),I=[],tc=!1,jc=[],Z.restarts++,Z.completed=!1,kc("\u5DF2\u91CD\u5F00\u3002"),wc()};F("hint").onclick=()=>{Z.hints++,jc=[];let c=i1.request(v,Nc,I);kc(c?"\u6CBF\u5F15\u5BFC\u5E26\u8FDE\u63A5\u4E24\u7AEF\uFF1B\u8D70\u504F\u53EF\u64A4\u9500\u6216\u91CD\u5F00\uFF0C\u6B63\u786E\u5230\u8FBE\u540E\u63D0\u793A\u6D88\u5931\u3002":"\u5DF2\u7ECF\u5B8C\u6210\u3002"),wc()};F("next").onclick=()=>{Wc+1{oe(),qi({version:Jc.version,exportedAt:new Date().toISOString(),clearedIds:nc,records:Gc}),kc("\u5DF2\u4FDD\u5B58\u8BD5\u73A9\u8BB0\u5F55\u3002")};K.addEventListener("pagehide",()=>{oe(),$i()});F("btn-back").onclick=()=>{A.reset(),$r()};F("btn-continue").onclick=r1;F("btn-rules").onclick=()=>{F("rules-sheet").hidden=!1};F("close-rules").onclick=()=>{F("rules-sheet").hidden=!0};F("btn-feedback").onclick=()=>{F("feedback-sheet").hidden=!1};F("close-feedback").onclick=()=>{oe(),F("feedback-sheet").hidden=!0};K.addEventListener("resize",wc);var Hi;(Hi=K.visualViewport)==null||Hi.addEventListener("resize",wc);K.addEventListener("orientationchange",wc);var N1=null;try{N1=fc.getItem(Uc+":current")}catch{}var Ma=X.findIndex(c=>c.id===N1),ct=Xe(fc),Ui=Qe(X,nc,ct,N1);t1(Ui.index,!1);I=j1(v,Ui.path,Ne);I.length===v.cells.length&&!uc(v,I).length&&(I=[]);wc();r1();function zi(){var c,e;F("btn-sound").textContent=bc.enabled?"\u97F3\u6548\u5F00":"\u97F3\u6548\u5173",F("btn-sound").title=bc.enabled?"\u5173\u95ED\u97F3\u6548":"\u5F00\u542F\u97F3\u6548",(e=(c=F("btn-sound")).setAttribute)==null||e.call(c,"aria-pressed",String(bc.enabled))}F("btn-sound").onclick=()=>{bc.toggle(),zi()};zi();function et(c){if(!v.tutorial)return;let e=v.caption;if(c.length)e="\u89C4\u5219\u4E0D\u7B26\uFF0C\u8BF7\u6CBF\u6765\u65F6\u8DEF\u9000\u56DE\u4E0A\u4E00\u683C\u518D\u8BD5\u3002";else if(tc)e="\u5B66\u4F1A\u4E86\uFF01\u63A5\u4E0B\u6765\u8BD5\u8BD5\u6B63\u5F0F\u5173\u5361\u3002";else if(v.tutorial==="colour")e=I.length===1?"\u4E0B\u4E00\u6B65\u53BB\u6A59\u8272\u5757\uFF1B\u540C\u8272\u84DD\u5757\u4E0D\u80FD\u8FDE\u7EED\u8D70\u3002":I.length===2?"\u518D\u6362\u56DE\u84DD\u8272\uFF0C\u5B8C\u6210\u84DD \u2192 \u6A59 \u2192 \u84DD\u3002":v.caption;else if(["straight","vertical","corner"].includes(v.tutorial)){let i=v.cells.find(a=>a.direction),t=I.indexOf(i.id);t>=0&&t===I.length-1&&(e=v.tutorial==="straight"?"\u6CBF\u6A2A\u7EBF\u4ECE\u53E6\u4E00\u4FA7\u79BB\u5F00\uFF0C\u4E0D\u80FD\u62D0\u5F2F\u3002":v.tutorial==="vertical"?"\u6CBF\u7AD6\u7EBF\u4ECE\u53E6\u4E00\u4FA7\u79BB\u5F00\uFF0C\u4E0D\u80FD\u5411\u5DE6\u53F3\u8D70\u3002":"\u6CBF\u56FE\u4E2D\u62D0\u89D2\u8FDE\u63A5\u7684\u53E6\u4E00\u4FA7\u79BB\u5F00\u3002")}F("caption").textContent=e}K.variantSnapshot=()=>({mode:Jc.mode,level:v.id,order:v.order,displayOrder:Wc+1,tutorial:v.tutorial||null,soundEnabled:bc.enabled,lastSound:bc.lastEvent,chapter:v.chapter,records:Gc.length,cellViews:Se,geometry:v.geometry,directionMarkers:ke,screen:F("screen-play").className.includes("hidden")?"select":"play",path:[...I],violations:uc(v,I),cleared:tc,centers:Object.fromEntries(re),unit:ae,openedGates:(v.gates||[]).map(c=>I.includes(c.switchCell)),doors:(v.doors||[]).map(c=>Rc(c,I)),latchedDoors:(v.doors||[]).map(c=>Ec(c,I))});function Ie(){let c=i1.view(v,Nc,I);return c?{...c,visitedPolygons:te.filter(e=>I.includes(e.id)).map(e=>e.p.map(i=>[...i])),...Ri(V,I,c.route)}:null}function Vi(c,e,i,t,a){let r={canvas:Q,ctx:Yc,level:v,solution:Nc,path:I,polygons:te,centers:re,unit:ae,focus:jc,cleared:tc,channelViews:ke,cellViews:Se,brightScene:V};try{return Q={clientWidth:t,clientHeight:a,get width(){return c.width},set width(d){c.width=d},get height(){return c.height},set height(d){c.height=d}},Yc=c.getContext("2d"),v={...e,tutorial:null},Nc=[],I=i,jc=[],tc=!1,Me=!0,wc(),{centers:Object.fromEntries(re),channels:ke,cells:Se}}finally{({canvas:Q,ctx:Yc,level:v,solution:Nc,path:I,polygons:te,centers:re,unit:ae,focus:jc,cleared:tc,channelViews:ke,cellViews:Se,brightScene:V}=r),Me=!1}}function $i(){v&&Fi(fc,X,nc,v,I,tc)}function Xi(){let c=Xe(fc),e=Qe(X,nc,c,v.id);(v.id!==X[e.index].id||tc)&&(t1(e.index,!1),I=j1(v,e.path,Ne),wc()),r1()}function W1(c){let e=Qi(c);if(!(V!=null&&V.animating)&&!e.hintTarget&&!(V!=null&&V.hintLayers))return;let i=K.devicePixelRatio||1;Yc.setTransform(i,0,0,i,0,0),V=R1(Yc,v,I,Q.clientWidth,Q.clientHeight,{now:c,...e,pixelRatio:i})}function Qi(c){let e=Me?null:i1.view(v,Nc,I),i=e?v.id+":"+e.start+":"+e.end:"";return i!==E1&&(E1=i,Pi=c),{hintTarget:(e==null?void 0:e.route.at(-1))||null,hintElapsed:c-Pi}}function a1(){E1="",V&&(V.hintLayers=null)}function Zi(c){V&&D1(c,V,I)}function De(){return!!(V!=null&&V.animating)}function it(c,e){let i=Ki(c,e);I.length>=2&&i===I.at(-2)&&!bi(te,i,c,e,ae)||Gi(i)}function cr(c){var i;if(c.tutorial)return[c.tutorial];let e=["basic"];c.features.includes("walls")&&e.push("walls");for(let[t,a]of[["straight","lr"],["vertical","du"]])c.cells.some(r=>r.direction===a)&&e.push(t);return c.cells.some(t=>t.direction&&!["lr","du"].includes(t.direction))&&e.push("corner"),c.features.includes("alternation")&&e.push("colour"),c.features.includes("parity")&&e.push("parity"),(i=c.doors)!=null&&i.length&&e.push("rhythm-door"),c.geometry==="hex"&&e.push("hex"),c.cells.some(t=>t.clue===1)||e.push("unknown-start"),e}function er(c,e){let i=c.levels.find(n=>n.tutorial===e);if(!i)throw Error("\u7F3A\u5C11\u6559\u5B66\u5173 "+e);let t=X1(i)[0],a=Array.from({length:t.length+1},(n,y)=>t.slice(0,y));if(e==="rhythm-door")for(let n=t.length-1;n>=0;n--)a.push(t.slice(0,n));let r=[],d=Qc(i);if(e==="walls"&&r.push({after:1,route:t.slice(0,1),blocked:i.walls[0],message:"\u8BD5\u7740\u7A7F\u5899\uFF1A\u8FD9\u6761\u8FB9\u88AB\u6321\u4F4F\uFF0C\u9700\u8981\u7ED5\u884C"}),e==="colour"){let n=i.cells.find(l=>l.id===t[0]),y=d.adj[d.ids.get(n.id)].map(l=>d.cells[l]).find(l=>l.category===n.category);y&&r.push({after:1,route:t.slice(0,1),blocked:[n.id,y.id],message:"\u540C\u8272\u4E0D\u80FD\u8FDE\u7EED\u8D70\uFF1B\u6539\u8D70\u65C1\u8FB9\u7684\u6A59\u8272\u683C"})}if(["straight","vertical","corner","parity"].includes(e))for(let n=1;nd.cells[g].id).find(g=>!y.includes(g)&&uc(i,[...y,g]).some(u=>u.key.startsWith((e==="parity"?"parity":"direction")+":")));if(l){r.push({after:n,route:[...y,l],message:e==="parity"?"\u9519\u8BEF\u793A\u4F8B\uFF1A\u5947\u5076\u4E0E\u5F53\u524D\u6B65\u6570\u4E0D\u7B26\uFF0C\u683C\u5B50\u53D8\u7EA2":"\u9519\u8BEF\u793A\u4F8B\uFF1A\u6CA1\u6709\u6CBF\u56FE\u4E2D\u7684\u4E24\u7AEF\u8FDB\u51FA\uFF0C\u56FE\u6807\u53D8\u7EA2"});break}}if(e==="parity"){let n=t[0];for(let y of d.adj[d.ids.get(n)])for(let l of d.adj[y]){let g=[n,d.cells[y].id,d.cells[l].id];new Set(g).size===3&&uc(i,g).some(u=>u.key.startsWith("parity:"))&&!r.length&&r.push({after:1,route:g,message:"\u9519\u8BEF\u793A\u4F8B\uFF1A\u7B2C 3 \u6B65\u8D70\u5230\u201C\u5076\u201D\u683C\uFF0C\u683C\u5B50\u53D8\u7EA2"})}}let o=[];a.forEach((n,y)=>{if(o.push({route:n}),yg.after===y)){o.push(l);for(let g=l.route.length-1;g>n.length;g--)o.push({route:l.route.slice(0,g),message:"\u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u9000\u56DE\uFF0C\u518D\u6309\u89C4\u5219\u8D70"});o.push({route:n,message:l.blocked?"\u6539\u8D70\u7B26\u5408\u89C4\u5219\u7684\u76F8\u90BB\u683C\u5B50":"\u6CBF\u6765\u65F6\u8DEF\u9000\u56DE\uFF0C\u91CD\u65B0\u6309\u89C4\u5219\u8D70"})}});let h=[];for(let n of o){let y=h.at(-1);if(!(y&&JSON.stringify(y.route)===JSON.stringify(n.route)&&!n.blocked&&!y.blocked)){if(y&&n.route.length>y.route.length+1)for(let l=y.route.length+1;lu.id===o.at(-1)),g=n?"\u7B2C "+n+" \u6B65":"\u5148\u89C2\u5BDF\u683C\u5B50\uFF0C\u518D\u5F00\u59CB\u8FDE\u7EBF";if(y==="basic"&&(g=n?"\u7B2C "+n+" \u6B65 \xB7 \u6BCF\u4E2A\u683C\u5B50\u53EA\u7ECF\u8FC7\u4E00\u6B21":"\u4ECE\u6570\u5B57 1 \u5F00\u59CB"),y==="colour"&&n&&(g+=" \xB7 "+(l.category==="circle"?"\u84DD\u8272\uFF1B\u4E0B\u4E00\u6B65\u6362\u6A59\u8272":"\u6A59\u8272\uFF1B\u4E0B\u4E00\u6B65\u6362\u84DD\u8272")),y==="parity"&&n&&(g+=" \xB7 "+(n%2?"\u5947\u6570\u6B65\uFF1A1\u30013\u30015\u2026":"\u5076\u6570\u6B65\uFF1A2\u30014\u30016\u2026")),["straight","vertical","corner"].includes(y)){let u=o.findIndex(p=>{var x;return(x=c.level.cells.find(w=>w.id===p))==null?void 0:x.direction});g=u<0?"\u89C2\u5BDF\u7EBF\u6761\u8FDE\u63A5\u7684\u4E24\u7AEF":u===n-1?"\u4ECE\u7EBF\u7684\u4E00\u7AEF\u8FDB\u5165\uFF0C\u4E0B\u4E00\u6B65\u6CBF\u53E6\u4E00\u7AEF\u79BB\u5F00":"\u6CBF\u6307\u5B9A\u7684\u7EBF\u7A7F\u8FC7\uFF0C\u56FE\u6807\u4EAE\u8D77"}if(y==="rhythm-door"){let u=c.level.doors[0];g+=" \xB7 "+(Ec(u,o)?"\u5DF2\u7ECF\u7A7F\u8FC7\uFF1A\u95E8\u4FDD\u6301\u6253\u5F00":Rc(u,o)?"\u95E8\u5F00\uFF1A\u73B0\u5728\u53EF\u4EE5\u7A7F\u8FC7":"\u95E8\u5173\uFF1A\u6B64\u65F6\u4E0D\u80FD\u7A7F\u8FC7"),h.length>n&&(g="\u56DE\u9000\u5230\u7B2C "+n+" \u6B65 \xB7 "+(Ec(u,o)?"\u5C1A\u672A\u9000\u8FC7\u95E8\uFF0C\u4FDD\u6301\u6253\u5F00":"\u5DF2\u64A4\u9500\u7A7F\u95E8\uFF0C\u6062\u590D\u5F00\u5173\u5207\u6362"))}return y==="walls"&&(g=n?"\u6CBF\u5176\u4ED6\u683C\u5B50\u7ED5\u8FC7\u53BB\uFF0C\u9ED1\u9EC4\u5899\u59CB\u7EC8\u4E0D\u80FD\u7A7F\u8D8A":"\u627E\u5230\u9ED1\u9EC4\u5899\uFF1A\u8FD9\u6761\u8FB9\u4E0D\u80FD\u8D70"),y==="hex"&&(g=n?"\u7B2C "+n+" \u6B65 \xB7 \u6CBF\u76F8\u90BB\u7684\u6574\u6761\u8FB9\u79FB\u52A8":"\u89C2\u5BDF\u516D\u8FB9\u5F62\u76F8\u90BB\u7684\u8FB9"),y==="unknown-start"&&(g=n?"\u7B2C "+n+" \u6B65 \xB7 \u6838\u5BF9\u662F\u5426\u6309\u65F6\u5230\u8FBE\u6570\u5B57\u683C":"\u6CA1\u6709\u6570\u5B57 1\uFF1A\u89C2\u5BDF\u5176\u4ED6\u6570\u5B57\uFF0C\u9009\u62E9\u8D77\u70B9"),g=d.message||g,{route:o,previous:h,message:g,blocked:d.blocked,progress:e>=i?1:a-Math.floor(a),finished:e>=i,index:r}}var rt=1e3;function rr(c,e){let i=c.duration+rt;return Math.min(c.duration,Math.max(0,e)%i)}function tr(c,e,i,t=!1){let a=c.createLinearGradient(0,0,e,i);a&&typeof a.addColorStop=="function"?(a.addColorStop(0,"#FFE898"),a.addColorStop(.45,f.background),a.addColorStop(1,f.backgroundBottom),c.fillStyle=a):c.fillStyle=f.background,c.fillRect(0,0,e,i),!t&&(c.save(),c.strokeStyle=f.pattern,c.globalAlpha=.3,c.lineWidth=3,c.lineJoin="round",c.beginPath(),c.arc(8,i*.18,37,0,Math.PI*2),c.stroke(),c.beginPath(),c.moveTo(e-24,i*.1),c.lineTo(e+9,i*.18),c.lineTo(e-56,i*.16),c.closePath(),c.stroke(),c.save(),c.translate(8,i*.73),c.rotate(-.3),qc(c,-20,-20,44,44,8),c.stroke(),c.restore(),c.beginPath(),c.arc(e+2,i*.87,27,0,Math.PI*1.65),c.stroke(),c.restore())}function tt(c,e,i,t,a,r){if(c.save(),c.translate(i,t),c.scale(a/28,a/28),r||(c.globalAlpha=.38),c.lineCap="round",c.lineJoin="round",c.shadowColor="rgba(130,79,23,.22)",c.shadowBlur=1.5,c.shadowOffsetY=.8,e==="\u6307\u8DEF"){c.strokeStyle="#FFD74E",c.lineWidth=2,c.beginPath();for(let d of[-3.05,-2.45,-1.8,-1.12,-.5,.15])c.moveTo(Math.cos(d)*9.4,-2+Math.sin(d)*9.4),c.lineTo(Math.cos(d)*12.2,-2+Math.sin(d)*12.2);c.stroke(),c.beginPath(),c.arc(0,-2,6.8,0,Math.PI*2),c.fillStyle="#FFD34B",c.fill(),c.shadowBlur=0,c.strokeStyle="#F0B330",c.lineWidth=.75,c.stroke(),c.beginPath(),c.arc(-.8,-2.8,4.4,Math.PI*1.05,Math.PI*1.65),c.strokeStyle="#FFF4BD",c.lineWidth=1.6,c.stroke(),qc(c,-3.2,3.5,6.4,4.8,1.3),c.fillStyle="#FFFAE4",c.fill(),c.beginPath(),c.moveTo(-2.3,6),c.lineTo(2.3,6),c.strokeStyle="#D8D4C9",c.lineWidth=.8,c.stroke(),qc(c,-2.3,8,4.6,1.8,.8),c.fillStyle="#D5CEC5",c.fill()}else if(e==="\u91CD\u5F00"){let d=()=>{c.beginPath(),c.arc(0,0,7.1,-Math.PI*.28,Math.PI*1.25)};d(),c.lineWidth=5.1,c.strokeStyle="#EB633A",c.stroke(),c.shadowBlur=0,c.save(),c.translate(0,-.55),d(),c.lineWidth=4.3,c.strokeStyle="#FF8557",c.stroke(),c.restore(),c.beginPath(),c.moveTo(-4.8,-10.4),c.quadraticCurveTo(-5.6,-11,-6.4,-10.1),c.lineTo(-10,-5.8),c.quadraticCurveTo(-10.7,-4.8,-9.4,-4.3),c.lineTo(-3.7,-2.8),c.quadraticCurveTo(-2.6,-2.7,-2.8,-4),c.closePath(),c.fillStyle="#FF8355",c.fill(),c.strokeStyle="#FFAA7A",c.lineWidth=.65,c.stroke()}else e==="\u64A4\u9500"&&(c.beginPath(),c.moveTo(-10,-2),c.lineTo(-3,-8),c.quadraticCurveTo(-1.5,-9,-1.5,-6),c.lineTo(-1.5,-4),c.lineTo(2,-4),c.quadraticCurveTo(10,-4,10,4),c.lineTo(10,7),c.quadraticCurveTo(10,9,7.8,9),c.quadraticCurveTo(5.8,9,5.8,7),c.lineTo(5.8,5),c.quadraticCurveTo(5.8,1,2,1),c.lineTo(-1.5,1),c.lineTo(-1.5,3.5),c.quadraticCurveTo(-1.5,6,-3.5,4.4),c.closePath(),c.fillStyle="#FFBE40",c.fill(),c.shadowBlur=0,c.strokeStyle="#F2A323",c.lineWidth=.8,c.stroke(),c.beginPath(),c.moveTo(-7.7,-2.2),c.lineTo(-3.3,-6),c.strokeStyle="#FFE6A1",c.lineWidth=.8,c.stroke());c.restore()}function ar(c,e,i,t,a,r,{enabled:d=!0,primary:o=!1,pressed:h=!1}={}){let n=Math.min(a*.24,r*H.referenceMatch.buttonRadiusRatio),y=h?2:0;c.save(),oc(c,i,t+y,a,r-4,n,d?o?h?f.primaryPressed:f.primary:f.surface:f.surfaceMuted,d?h?2:5:3);let l=d?o?f.onPrimary:f.ink:f.disabledInk;if(["\u91CD\u5F00","\u64A4\u9500","\u6307\u8DEF"].includes(e)&&r>=50){let g=e==="\u91CD\u5F00"?38:e==="\u64A4\u9500"?36:35;tt(c,e,i+a/2,t+r*.3+y,g*(r>=64?1:.79),d),c.shadowColor=o?"rgba(255,255,255,.40)":"rgba(255,255,255,.6)",c.shadowOffsetY=o?0:.6,c.shadowBlur=o?2:.8,di(c,e,i+a/2,t+r*.72+y,r>=64?18.5:16,l)}else rc(c,e,i+a/2,t+r/2-1+y,o?16:14,l,700);c.restore()}function or(c,e,i,t,a=!1){let r=H.referenceMatch.stageMargin;oc(c,r,i,e-r*2,t,a?24:30,f.stage,a?4:6)}function dr(c,e,i,t,a,r,d){oc(c,e,i,t,a,a/2,f.surface,3);let o=[["\u5DF2\u8D70 ",f.ink],[""+r,f.primary],[" \u6B65 \xB7 \u8FD8\u5269 ",f.ink],[""+d,f.primary],[" \u5757",f.ink]],h=t<240?13:15;Oc(c,h,700);let n=o.map(([g])=>c.measureText(g).width),y=n.reduce((g,u)=>g+u,0),l=e+(t-y)/2;o.forEach(([g,u],p)=>{rc(c,g,l+n[p]/2,i+a/2-1,h,u,700),l+=n[p]})}var lr=wx.createCanvas(),cc=null,Ce=0,hc=null,H1=new Map,O=c=>dc.getElementById(c),E=pc.getContext("2d"),R=375,z=812,J=60,Tc=24,ac=0,zc=[],Hc=null,Vc=!0,$c=0,G1=wx.createCanvas();G1.width=1;G1.height=1;var ge=new Ee({canRun:()=>Vc&&Hc===null}),ne="",Sc=0,K1="",Re=null,gr=0,le=wx.createCanvas(),ye=le.getContext("2d"),xc=new Ae(wx),he={key:"",started:0},yc=!1,wr="",se=0,je=!1,de=wx.createCanvas(),Fe="",xr=0,ur=0,U=null,L1=!1;function mc(){Vc&&!$c&&($c=requestAnimationFrame(ot))}var o1=wx.createCanvas(),we="",pr=0;mi(()=>{we="",Fe="",mc()});G.reducedMotion=!1;var Ic=Ac.playOrder.map(c=>Ac.levels.find(e=>e.id===c));function J1(){var e,i,t,a,r;we="";let c=wx.getWindowInfo?wx.getWindowInfo():wx.getSystemInfoSync();R=c.windowWidth,z=c.windowHeight,J=Math.max(((e=c.safeArea)==null?void 0:e.top)||0,((i=wx.getMenuButtonBoundingClientRect)==null?void 0:i.call(wx).bottom)||0)+12,Tc=Math.max(16,z-(((t=c.safeArea)==null?void 0:t.bottom)||z)),K.devicePixelRatio=Math.min(c.pixelRatio||1,3),pc.width=R*K.devicePixelRatio,pc.height=z*K.devicePixelRatio,O("board").clientWidth=R,O("board").clientHeight=Math.max(140,z-J-Tc-218),(r=(a=K.handlers).resize)==null||r.call(a),mc()}function Mc(c,e,i,t=16,a=f.ink){rc(E,c,e,i,t,a)}function _1(c,e,i=16){Oc(E,i);let t=[];for(let a of String(c).split(` +`)){let r="";for(let d of a)r&&E.measureText(r+d).width>e&&(t.push(r),r=""),r+=d;t.push(r)}return t}function $(c,e,i,t,a,r,{enabled:d=!0,primary:o=!1}={}){ar(E,c,e,i,t,a,{enabled:d,primary:o,pressed:!G.reducedMotion&&wr===c&&Date.now()c.children[1].children)}function nr(c,e,i){if(c){let t=e.level+":"+c.start+":"+c.end;he.key!==t&&(he={key:t,started:Date.now()});let a=O("board").clientHeight;le.width!==Math.round(R*i)&&(le.width=Math.round(R*i)),le.height!==Math.round(a*i)&&(le.height=Math.round(a*i)),ye.setTransform(i,0,0,i,0,0),ye.clearRect(0,0,R,a),Ai(ye,{...c,dpr:i},e.centers,e.unit,Date.now()-he.started,e.path),E.drawImage(le,0,J+82,R,a),E.save(),E.translate(0,J+82),Zi(E),E.restore()}else he={key:"",started:0},Je(ye),a1()}function ot(){var p;if($c=0,!Vc)return;ur++;let c=K.devicePixelRatio;E.setTransform(c,0,0,c,0,0);let e=K.variantSnapshot(),i=Ic[e.displayOrder],t=e.level+":"+R+":"+O("board").clientHeight;e.screen==="play"&&i&&!e.cleared?ne!==t&&(ne=t,ge.start(t,Ci(G1.getContext("2d"),i,R,O("board").clientHeight))):e.cleared?ge.stop():ne&&(ge.stop(),ne=""),xc.scene(e.screen==="select"?"select":e.cleared?"complete":"play",e.level),!e.cleared||e.screen!=="play"?(U=null,je=!1):!je&&(!U||U.key!==e.level)&&(U={key:e.level,started:Date.now(),requested:Bc.completeRequestedAt}),U&&(U.started=A.completionStart(Bc.completeStartedAt,e.soundEnabled));let a=Ie(),r=e.cleared&&e.screen==="play"&&!yc&&O("rules-sheet").hidden&&!je?e.level+":"+R+":"+z:"";if(r&&Fe===r&&!De()&&Date.now()>=se){xr++,E.drawImage(de,0,0,R,z),(U==null?void 0:U.started)!==null&&!G.reducedMotion&&B1(E,R,J+82,O("board").clientHeight,Date.now()-U.started),U&&(U.started===null||Date.now()-U.started=se,o=JSON.stringify([e.level,e.path,R,z,c,G.reducedMotion]);if(d&&we===o){pr++,E.drawImage(o1,0,0,R,z),W1(Date.now()),E.drawImage(ie,0,J+82,R,O("board").clientHeight),nr(a,e,c),G.reducedMotion||mc();return}let h=Ic.find(x=>x.id===e.level),n=(h.features||[]).length>=3||((p=e.cellViews)==null?void 0:p.length)>=30;if(tr(E,R,z,!O("screen-play").className.includes("hidden")&&n),zc=[],O("screen-play").className.includes("hidden")){let x=at(),w=Math.ceil(Ic.length/15);L1||(ac=Math.floor((e.displayOrder-1)/15)),L1=!0,ac=Math.max(0,Math.min(w-1,ac));let S=Ic.slice(ac*15,(ac+1)*15).map(q=>x[Ic.indexOf(q)]),m=wi(R,z,J,Tc,15);ui(E,R,J,O("progress").textContent,ac*15+1,Math.min((ac+1)*15,Ic.length));let s=Oe(R,J).settings;$("\u8BBE\u7F6E",s.x,s.y,s.w,s.h,()=>yc=!0),S.forEach((q,T)=>{let M=Math.floor(T/m.columns),k=T%m.columns,B=S.length-M*m.columns,N=m.x+0+k*(m.w+m.gap),C=m.y+M*(m.h+m.gap),P=q.textContent+(q.className.includes("cleared")?" \u2713":"");xi(E,q.textContent,N,C,m.w,m.h,{completed:q.className.includes("cleared"),current:q.className.includes("current")}),zc.push({label:P,x:N,y:C,w:m.w,h:m.h,run:()=>q.click(),enabled:!0})}),$("\u4E0A\u4E00\u9875",18,z-Tc-106,90,38,()=>ac=Math.max(0,ac-1),{enabled:ac>0}),Mc(ac+1+" / "+w,R/2,z-Tc-87),$("\u4E0B\u4E00\u9875",R-108,z-Tc-106,90,38,()=>ac=Math.min(w-1,ac+1),{enabled:acvc("btn-continue"),{primary:!0}),$("\u53CD\u9988",R-98,z-Tc-56,80,42,dt)}else{L1=!1,$("\u9009\u5173",16,J,62,36,()=>vc("btn-back")),oc(E,R/2-60,J+2,120,32,16,f.coral,3),Mc("\u7B2C "+K.variantSnapshot().displayOrder+" \u5173",R/2,J+18,18,f.onPrimary),$("\u8BBE\u7F6E",R-94,J,78,36,()=>yc=!0),dr(E,84,J+43,R-100,31,e.path.length,h.cells.length-e.path.length),or(E,R,J+82,O("board").clientHeight,n),W1(Date.now()),E.drawImage(ie,0,J+82,R,O("board").clientHeight);let x=z-Tc-102,w=K.variantSnapshot().cleared,b=w?K.variantSnapshot().displayOrder===Ic.length?"200 \u5173\u5168\u90E8\u5B8C\u6210\uFF01":"\u5B8C\u6210\uFF01\u51C6\u5907\u597D\u5C31\u8FDB\u5165\u4E0B\u4E00\u5173\u3002":O("status").className.includes("show")&&O("status").textContent?O("status").textContent:"\u6309\u4F4F\u6ED1\u52A8\u8FDE\u7EBF \xB7 \u6CBF\u6765\u65F6\u8DEF\u9010\u683C\u56DE\u9000",S=_1(b,R-36,13);S.slice(0,2).forEach((s,q)=>Mc(q===1&&S.length>2?s.slice(0,-1)+"\u2026":s,R/2,x-12+q*22,13,w?f.success:f.inkSecondary));let m=z<700?54:70;if(w)$(O("next").hidden?"\u8FD4\u56DE\u9009\u5173":"\u4E0B\u4E00\u5173 \u2192",16,x+22,R-32,m,()=>vc(O("next").hidden?"btn-back":"next"),{primary:!0});else{let s=(R-48)/3;$("\u91CD\u5F00",16,x+22,s,m,()=>vc("restart")),$("\u64A4\u9500",24+s,x+22,s,m,()=>vc("undo"),{enabled:!O("undo").disabled}),$("\u6307\u8DEF",32+2*s,x+22,s,m,()=>vc("hint"),{primary:!0})}$("\u89C4\u5219",16,J+43,56,30,()=>vc("btn-rules"))}if(r&&!De()&&Date.now()>=se&&(de.width!==pc.width&&(de.width=pc.width),de.height!==pc.height&&(de.height=pc.height),de.getContext("2d").drawImage(pc,0,0),Fe=r),U&&U.started===null&&!yc&&O("rules-sheet").hidden){let x=R/2,w=J+82+O("board").clientHeight*.45;oc(E,x-74,w-40,148,80,25,f.surface,2),Mc("\u5B8C\u6210\uFF01",x,w,24,f.success)}if(U&&U.started!==null&&!G.reducedMotion&&!yc&&O("rules-sheet").hidden&&B1(E,R,J+82,O("board").clientHeight,Date.now()-U.started),!O("rules-sheet").hidden){E.fillStyle="rgba(67,56,47,.32)",E.fillRect(0,0,R,z);let x=J+12,w=Math.max(240,z-x-Tc-20);oc(E,16,x,R-32,w,24,f.surface,5),zc=[],Mc("\u600E\u4E48\u73A9",R/2,x+28,23);let b=K.variantSnapshot().level+":"+O("rule-text").textContent;K1!==b&&(K1=b,Sc=0,cc=null);let S=Ic.find(L=>L.id===K.variantSnapshot().level),m=cr(S),s=[],q=Math.max(90,Math.min(220,w*.34)),T=Math.max(1,Math.floor((w-q-230)/23));for(let L of m){let ic=L==="basic"&&!S.tutorial?` +\u683C\u5B50\u91CC\u7684\u6570\u5B57\u8868\u793A\u7B2C\u51E0\u6B65\u5230\u8FD9\u91CC\uFF0C\u4F8B\u5982\u6570\u5B57 5\uFF0C\u8981\u5728\u7B2C 5 \u6B65\u5230\u8FBE\u3002`+(S.geometry==="blocks"?"\u5927\u683C\u6216\u4E0D\u89C4\u5219\u683C\u5B50\uFF0C\u6574\u4E2A\u53EA\u7B97\u4E00\u6B65\u3002":"")+"\u8D70\u9519\u540E\u6CBF\u539F\u8DEF\u9000\u4E00\u6B65\uFF0C\u6216\u70B9\u64A4\u9500\uFF1B\u91CD\u5F00\u4F1A\u6E05\u7A7A\u8DEF\u7EBF\u3002":"",sc=_1(Cc[L]+ic,R-72,15);for(let Dc=0;DcC.centers[sc]);E.beginPath(),E.moveTo(B.x+L[0],B.y+L[1]),E.lineTo(B.x+ic[0],B.y+ic[1]),E.setLineDash([5,5]),E.strokeStyle=f.danger,E.lineWidth=4,E.stroke(),E.setLineDash([]),Mc("\xD7",B.x+(L[0]+ic[0])/2,B.y+(L[1]+ic[1])/2,26,f.danger)}let P=hc.route.at(-1),j=hc.previous.at(-1),ec=C.centers[P],lc=C.centers[j]||ec;if(ec){let L=hc.progress,ic=B.x+lc[0]+(ec[0]-lc[0])*L,sc=B.y+lc[1]+(ec[1]-lc[1])*L;lc!==ec&&(E.beginPath(),E.moveTo(B.x+lc[0],B.y+lc[1]),E.lineTo(ic,sc),E.strokeStyle=f.primary,E.lineWidth=6,E.lineCap="round",E.stroke()),E.beginPath(),E.arc(ic,sc,10,0,Math.PI*2),E.strokeStyle=f.hint,E.lineWidth=3,E.stroke()}_1(hc.message,R-76,14).forEach((L,ic)=>Mc(L,R/2,B.y+B.h+16+ic*20,14,f.primary)),M.lines.forEach((L,ic)=>Mc(L,R/2,B.y+B.h+65+ic*23,15)),$("\u91CD\u64AD",R/2-32,x+w-144,64,30,()=>{Ce=Date.now()}),s.length>1&&($("\u4E0A\u4E00\u6BB5",38,x+w-102,80,30,()=>{Sc--,cc=null},{enabled:Sc>0}),Mc(Sc+1+" / "+s.length,R/2,x+w-87,14),$("\u4E0B\u4E00\u6BB5",R-118,x+w-102,80,30,()=>{Sc++,cc=null},{enabled:Scvc("close-rules"),{primary:!0})}if(yc){E.fillStyle="rgba(67,56,47,.32)",E.fillRect(0,0,R,z),zc=[];let x=Math.max(J,z/2-185);oc(E,24,x,R-48,340,24,f.surface,5),Mc("\u8BBE\u7F6E",R/2,x+32,24),$("\u97F3\u4E50\uFF1A"+(xc.enabled?"\u5F00":"\u5173"),44,x+65,R-88,48,()=>xc.toggle()),$("\u97F3\u6548\uFF1A"+(e.soundEnabled?"\u5F00":"\u5173"),44,x+125,R-88,48,()=>vc("btn-sound")),$("\u632F\u52A8\uFF1A"+(A.haptics.enabled?"\u5F00":"\u5173"),44,x+185,R-88,48,()=>A.haptics.setEnabled(!A.haptics.enabled)),$("\u5B8C\u6210",44,x+265,R-88,48,()=>yc=!1,{primary:!0})}d?(o1.width=pc.width,o1.height=pc.height,o1.getContext("2d").drawImage(pc,0,0),we=o):we="",!yc&&O("rules-sheet").hidden&&e.screen==="play"&&nr(a,e,c);let l=!yc&&O("rules-sheet").hidden&&e.screen==="play",g=!yc&&!O("rules-sheet").hidden&&!G.reducedMotion&&!!cc,u=l&&U&&!G.reducedMotion&&(U.started===null||Date.now()-U.started{c.confirm&&(O("reasoning").value=c.content||"",vc("close-feedback"),wx.showModal({title:"\u53CD\u9988\u5DF2\u4FDD\u5B58",content:"\u662F\u5426\u5BFC\u51FA\u5168\u90E8\u8BD5\u73A9\u8BB0\u5F55\uFF1F",success:e=>{e.confirm&&vc("export")}}))}})}function fr(c){return{clientX:c.clientX,clientY:c.clientY-J-82,pointerId:c.identifier,pointerType:"touch",preventDefault(){}}}wx.onTouchStart(c=>{var t,a;if(xc.resume(),Hc!==null)return;let e=c.changedTouches[0];if(!e)return;let i=zc.find(r=>e.clientX>=r.x&&e.clientX<=r.x+r.w&&e.clientY>=r.y&&e.clientY<=r.y+r.h);if(i){if(i.enabled){xc.resume(),we="",wr=i.label,se=Date.now()+120;let r=O("screen-play").className.includes("hidden")||yc||["\u9009\u5173","\u89C4\u5219","\u8BBE\u7F6E","\u8FD4\u56DE\u6E38\u620F"].includes(i.label);Fe="",(i.label==="\u4E0B\u4E00\u5173 \u2192"||i.label==="\u8FD4\u56DE\u9009\u5173")&&(ge.stop(),ne="",je=!0,U=null,cancelAnimationFrame($c),$c=0),i.run(),r&&A.audio.play("ui"),mc()}return}yc||!O("rules-sheet").hidden||O("screen-play").className.includes("hidden")||e.clientYJ+82+O("board").clientHeight||(Hc=e.identifier,(a=(t=O("board").handlers).pointerdown)==null||a.call(t,fr(e)),mc())});wx.onTouchMove(c=>{var i,t;let e=c.touches.find(a=>a.identifier===Hc);e&&((t=(i=O("board").handlers).pointermove)==null||t.call(i,fr(e)),mc())});var mr=c=>{var e,i;c.changedTouches.some(t=>t.identifier===Hc)&&((i=(e=O("board").handlers).pointerup)==null||i.call(e),Hc=null)};wx.onTouchEnd(mr);wx.onTouchCancel(mr);wx.onHide(()=>{var c,e,i,t;Vc=!1,Fe="",ge.stop(),ne="",xc.suspend(),he={key:"",started:0},Je(ye),a1(),Ce=Date.now(),je=K.variantSnapshot().cleared,U=null,A.reset(),k1(),cancelAnimationFrame($c),$c=0,Hc=null,(e=(c=O("board").handlers).pointercancel)==null||e.call(c),(t=(i=K.handlers).pagehide)==null||t.call(i)});wx.onShow(()=>{if(!Vc){Vc=!0,Ce=Date.now(),yc=!1,Xi();let c=K.variantSnapshot();xc.scene(c.screen==="select"?"select":c.cleared?"complete":"play",c.level),xc.resume(),J1(),mc()}});var yr;(yr=wx.onAudioInterruptionBegin)==null||yr.call(wx,()=>{xc.suspend(),A.reset(),k1()});var hr;(hr=wx.onAudioInterruptionEnd)==null||hr.call(wx,()=>{Vc&&(xc.resume(),mc())});var sr;(sr=wx.onWindowResize)==null||sr.call(wx,J1);GameGlobal.numberSwipeR2={snapshot:()=>({...K.variantSnapshot(),theme:"bright-classroom",release:gi,fonts:{...Le},renderedFrames:ur,clearBaseHits:xr,warming:!!ge.pending,boardRenders:Be.liveRenders,hintBaseHits:pr,lessonBoardRenders:gr,music:xc.snapshot(),selection:{page:ac+1,pages:Math.ceil(Ic.length/15),pageSize:15,chapter:ac+1,chapters:Math.ceil(Ic.length/15)},reducedMotion:G.reducedMotion,boardRect:{x:0,y:J+82,w:R,h:O("board").clientHeight},hint:Ie(),softHint:{...me,targetCacheHits:Be.targetCacheHits},audio:{...Bc},feedback:A.snapshot(),rules:O("rule-text").textContent,lesson:!O("rules-sheet").hidden&&hc?{key:cc==null?void 0:cc.key,finished:hc.finished,duration:cc==null?void 0:cc.duration,path:[...hc.route],message:hc.message}:null}),buttons:()=>zc.map(({label:c,x:e,y:i,w:t,h:a,enabled:r})=>({label:c,x:e,y:i,w:t,h:a,enabled:r}))};A.audio.beforeComplete=()=>xc.duck();A.audio.afterComplete=()=>xc.unduck();U1(wx,mc);J1();mc();})(); diff --git a/wechat-campaign-200-r2/hints.test.mjs b/wechat-campaign-200-r2/hints.test.mjs index 1518d39..ea93ee2 100644 --- a/wechat-campaign-200-r2/hints.test.mjs +++ b/wechat-campaign-200-r2/hints.test.mjs @@ -35,27 +35,27 @@ test('hint draws skip player edges and mask visited cells on their own layer; co const ctx=new Proxy({globalCompositeOperation:'source-over',save(){stack.push(this.globalCompositeOperation);},restore(){this.globalCompositeOperation=stack.pop();},beginPath(){from=to=null;},moveTo:(...p)=>{from=p;},lineTo:(...p)=>{to=p;},stroke(){if(from&&to)strokes.push([from,to]);},arc:(...p)=>arcs.push(p),fill(){events.push({kind:'fill',mode:this.globalCompositeOperation});}},{get:(o,k)=>o[k]??(()=>{}),set:(o,k,v)=>(o[k]=v,true)}); const poly=[[0,0],[100,0],[100,100],[0,100]]; drawHint(ctx,{route:['a','b','c'],visitedPolygons:[poly]},{a:[0,0],b:[100,0],c:[200,0]},50,300,['a','b']); - assert.deepEqual(strokes,[[[100,0],[200,0]],[[100,0],[200,0]]],'only unwalked edge receives hint strokes'); + assert.equal(strokes.length,4);assert.ok(strokes.every(s=>JSON.stringify(s)===JSON.stringify([[100,0],[200,0]])),'only unwalked edge receives hint strokes'); assert.ok(events.some(e=>e.kind==='fill'&&e.mode==='destination-out')); assert.equal(ctx.globalCompositeOperation,'source-over'); - assert.equal(arcs.length,1,'no moving light or rings over already walked edge'); + assert.equal(arcs.length,0,'A3 has no light beads or endpoint rings'); }); test('parity is a segment anchor; colour is not; flow moves continuously across cells',()=>{ const l={cells:solution.map(id=>({id,...(id==='d'?{parity:'odd'}:{category:'circle'})}))}; assert.deepEqual(hintSegment(l,solution,[]).route,['a','b','c','d']); const arcs=[],ctx=new Proxy({arc:(...p)=>arcs.push(p)},{get:(o,k)=>o[k]??(()=>{}),set:(o,k,v)=>(o[k]=v,true)}); drawHint(ctx,{route:['a','b','c']},{a:[0,0],b:[100,0],c:[100,100]},50,300); - assert.deepEqual(arcs.at(-3).slice(0,2),[50,0]); + assert.equal(arcs.length,0,'static fallback has no moving beads'); }); -test('coral teaching ribbon preserves visited masks and offers direction in reduced motion',()=>{ +test('soft teaching ribbon preserves visited masks without arrows in reduced motion',()=>{ for(const reducedMotion of [false,true]){ const strokes=[],fills=[],stack=[]; const ctx=new Proxy({globalCompositeOperation:'source-over',save(){stack.push(this.globalCompositeOperation);},restore(){this.globalCompositeOperation=stack.pop();},stroke(){strokes.push({color:this.strokeStyle,mode:this.globalCompositeOperation});},fill(){fills.push(this.globalCompositeOperation);}},{get:(o,k)=>o[k]??(()=>{}),set:(o,k,v)=>(o[k]=v,true)}); const path=['a']; drawHint(ctx,{route:['a','b'],guides:[{a:'a',b:'b',points:[[0,0],[100,0]]}],visitedShapes:[{rings:[[[0,0],[20,0],[20,20],[0,20]]],radius:3,depth:3,maskPad:4}],keepouts:[{x:40,y:0,w:12,h:15}],reducedMotion},{},50,300,path); - assert.ok(strokes.some(s=>s.color==='#F49B75')); - assert.ok(strokes.filter(s=>s.color==='#C96E48'&&s.mode==='source-over').length>=1,'directional chevron'); + assert.ok(strokes.some(s=>s.color==='rgba(255,185,126,0.72)')); + assert.equal(strokes.filter(s=>s.color==='#C96E48').length,0,'no chevrons'); assert.ok(fills.includes('destination-out')); assert.equal(ctx.globalCompositeOperation,'source-over'); assert.deepEqual(path,['a']); diff --git a/wechat-campaign-200-r2/project.config.json b/wechat-campaign-200-r2/project.config.json index fda52a8..e760eae 100644 --- a/wechat-campaign-200-r2/project.config.json +++ b/wechat-campaign-200-r2/project.config.json @@ -131,6 +131,10 @@ { "type": "file", "value": "undo-next.test.mjs" + }, + { + "type": "file", + "value": "soft-hint.test.mjs" } ] }, diff --git a/wechat-campaign-200-r2/qa/a3-browser-20261023.txt b/wechat-campaign-200-r2/qa/a3-browser-20261023.txt new file mode 100644 index 0000000..d9adff2 --- /dev/null +++ b/wechat-campaign-200-r2/qa/a3-browser-20261023.txt @@ -0,0 +1 @@ +PASS 28/28:A3四尺寸、七类真实关卡,静态带面未逐帧重建,目标呼吸使用缓存。浏览器验收,微信真机待验。 320×568 / 第4关;320×568 / 第28关;320×568 / 第9关;320×568 / 第65关;320×568 / 第29关;320×568 / 第66关;320×568 / 第163关;375×812 / 第4关;375×812 / 第28关;375×812 / 第9关;375×812 / 第65关;375×812 / 第29关;375×812 / 第66关;375×812 / 第163关;390×844 / 第4关;390×844 / 第28关;390×844 / 第9关;390×844 / 第65关;390×844 / 第29关;390×844 / 第66关;390×844 / 第163关;414×896 / 第4关;414×896 / 第28关;414×896 / 第9关;414×896 / 第65关;414×896 / 第29关;414×896 / 第66关;414×896 / 第163关 \ No newline at end of file diff --git a/wechat-campaign-200-r2/qa/a3-check-20261023.txt b/wechat-campaign-200-r2/qa/a3-check-20261023.txt new file mode 100644 index 0000000..bf6d4b7 --- /dev/null +++ b/wechat-campaign-200-r2/qa/a3-check-20261023.txt @@ -0,0 +1,136 @@ + +> numberswipe-main@1.0.0 check +> npm run build && npm test && npm run smoke + + +> numberswipe-main@1.0.0 build +> node build.mjs + +Built campaign-200-r2: 200 levels + +> numberswipe-main@1.0.0 test +> node --test *.test.mjs + +✔ 手机没有浏览器音频接口时,原生播放器仍能播放全部 36 步和六类反馈音 (8.9435ms) +✔ 关闭音效停止播放;再次开启会试听并保存偏好;后台中断停止所有播放器 (1.1639ms) +✔ 延迟通关音在静音或进入后台时取消,不在返回后突然播放 (47.0186ms) +✔ 音频错误可诊断,不再静默吞掉 (0.8142ms) +✔ 所有音频均为非静音 PCM;原版第13步比第1步高一个八度 (49.8985ms) +✔ 教学和组合规则用具体动作及奇偶例子解释,没有未解释的术语 (39.0574ms) +✔ 过关提示同步使用实际播放起点,非请求时间 (1.1057ms) +✔ 过关短句使用用户提供的3秒WAV,不与旧和弦叠加 (7.5766ms) +✔ jingle end, cancellation and playback error restore BGM without restarting (6.6654ms) +✔ muted effects never duck BGM and unrelated effect errors cannot end jingle ducking (0.5332ms) +✔ hide and music preference do not revive playback through a late jingle callback (0.5819ms) +✔ BGMB is absent from the runtime manifest and music package (0.9783ms) +✔ merged irregular outlines retain holes and never draw internal unit edges (187.7866ms) +✔ all 200 boards fit four screen budgets with stable safe anchors and real shared entrances (1687.1491ms) +✔ guides through every irregular block stay inside its occupied shape (67.4851ms) +✔ visited, conflicting and hinted category cells retain their material identity (15.4878ms) +✔ five font subsets match their manifest and fit the package budget (6.3089ms) +✔ upstream adapter fails closed if the inspected render seams change (4.4174ms) +✔ procedural cushion pixels preserve holes and light the upper bevel without a border (39.8189ms) +✔ visible glyph bounds are centered independently of font ascent and side bearings (2.0616ms) +✔ stage with zero depth casts alpha shadows without painting a solid backing (12.7032ms) +✔ native width-only TextMetrics still centers the rasterized glyph ink (5.3524ms) +✔ fixed channels remain anchored at their block centers after number enlargement (2251.9192ms) +✔ checkpoint ribbons trigger on correct arrival only and never duplicate per frame (7.9589ms) +✔ checkpoint pulse is small, centered in time and settles without looping (0.8892ms) +✔ event batches preserve every landing and sequence but commit only highest audio and haptic (8.628ms) +✔ completion waits at most 120ms and ignores late audio callbacks (0.7635ms) +✔ light haptics are limited, checkpoint replaces light, and completion adds only one delayed short pulse (0.9155ms) +✔ unsupported graded haptic falls back to one short pulse, never long vibration (4.573ms) +✔ haptic disable, preview and lifecycle cancellation suppress delayed or expired work (1.2133ms) +✔ late failed haptic requests cannot revive old pulses and ungraded completion falls back once (16.0315ms) +✔ rectangles, concave shapes and hexagons require geometric inward distance without treating internal seams as walls (58.0774ms) +✔ one high-speed native move records all intermediate cells and completion without duplicate final node (333.9406ms) +✔ legal but off-solution moves use public rules, while invalid clues only produce error (513.6096ms) +✔ drag near a previous-block boundary cannot undo; deeper entry can, and undo button remains immediate (263.342ms) +✔ tutorial, redraw, hint and restored saved routes do not generate player feedback (316.5441ms) +✔ pressure and rebound have bounded amplitude and duration (0.7293ms) +✔ interpolation cannot duplicate the same failed-cell event within one native movement (0.4654ms) +✔ nodes are driven by explicit events even when multiple arrive before rendering; at most two ribbons survive (54.316ms) +✔ audio fast moves merge to latest pitch and completion stops the whole four-channel pool (4.2573ms) +✔ settings persist haptic preference independently and chapter cards always use three columns (196.5803ms) +✔ original audio is preserved and high pitches lose energy rather than growing sharper (20.3321ms) +✔ empty, partial and wrong routes reveal the first incomplete full segment (8.1753ms) +✔ completion hides the hint; repeat clicks cannot skip; undo and restart return to earlier segments (1.1961ms) +✔ all 200 levels reveal consecutive segments without changing the player path (3772.7025ms) +✔ hint draws skip player edges and mask visited cells on their own layer; compositing is restored (3.0586ms) +✔ parity is a segment anchor; colour is not; flow moves continuously across cells (2.7027ms) +✔ soft teaching ribbon preserves visited masks without arrows in reduced motion (3.0311ms) +✔ hint rounds shared guide junctions and keeps separate runs disconnected (2.0014ms) +✔ 实际教学关动画:basic (5.7751ms) +✔ 实际教学关动画:walls (1.3457ms) +✔ 实际教学关动画:straight (3.5357ms) +✔ 实际教学关动画:vertical (5.928ms) +✔ 实际教学关动画:corner (2.104ms) +✔ 实际教学关动画:colour (1.229ms) +✔ 实际教学关动画:parity (0.7272ms) +✔ 实际教学关动画:rhythm-door (2.0488ms) +✔ 实际教学关动画:hex (16.839ms) +✔ 实际教学关动画:unknown-start (8.1501ms) +✔ 200关的组合规则均能找到对应真实教学关 (146.9163ms) +✔ 教学减速,结束停留1秒后自动循环 (3.789ms) +✔ music loops independently, persists mute and cancels in background (2.5341ms) +✔ old arrows retain distance, rush to endpoint and fresh arrows move at base speed (1.0276ms) +✔ settings have exactly three independent preferences, and hint has its own cue (531.0682ms) +✔ actual fixed numeric node uses checkpoint pitch, final cell uses complete chord (357.6796ms) +✔ selected menu and BGMA loop are stereo PCM WAV with complete musical durations (12.9153ms) +✔ selected runtime WAVs retain the original durations after sample-rate adaptation (46.8893ms) +✔ gameplay ambient uses lower scene volume and keeps independent mute and resume behavior (0.7041ms) +✔ all 200 levels: valid numeric, parity and direction arrivals play checkpoint pitch; final arrival only completes (53800.1232ms) +✔ drag back and undo button both vibrate lightly; disabling vibration suppresses both (82.8582ms) +✔ haptic cadence is approximately 15 percent denser without changing light or medium grades (3.0517ms) +✔ regular and special scale settle at 90ms with a larger special peak (0.3485ms) +✔ rendered undo target and nonnumeric checkpoint animate immediately without adding ribbons (9.0174ms) +✔ quick undo cancels removed node rebound, including last-step removal (3.4522ms) +✔ navigation buttons use the same selection cue and settings include uniform colons (63.494ms) +✔ early next during confetti cancels warming; settled ceremony reuses its background (285.4005ms) +✔ font corpus includes every settings label including music le glyph (1.8083ms) +✔ first launch goes directly to gameplay (493.2614ms) +✔ resume unfinished route after exit from gameplay (615.7597ms) +✔ resume unfinished route after exit from selection (504.8706ms) +✔ completed level resumes next unfinished, including leaving from cleared screen (183.7206ms) +✔ replaying a cleared level does not replace the unfinished save (188.5401ms) +✔ legacy saves, malformed data and full completion have valid startup targets (219.7827ms) +✔ selection pages expose fifteen cards and fit phone safe areas (514.0614ms) +✔ hint-only frames reuse static UI, and player input invalidates it (151.9144ms) +✔ hint curves are cached and distance lookup is stable at boundaries (2.1228ms) +✔ new-mechanic lesson reuses the board while the continuous cursor advances (130.4526ms) +✔ BGMA stays continuous across level changes and completion redraws (2.7072ms) +✔ subpackage completion never plays a stale scene after hiding, muting, or clearing (0.6587ms) +✔ music load failure is silent and one real resume can retry; muted pending loads stay silent (0.6025ms) +✔ runtime uses supplied WAV hashes and ships music as a subpackage with a small main bundle (266.2246ms) +✔ title is centered and selection settings share the progress and level-range row (925.6168ms) +✔ completion ducks BGMA until jingle ends and next level never restarts it (252.8562ms) +✔ title artwork is a transparent, high resolution PNG packaged locally (12.136ms) +✔ asynchronous native image load requests a repaint and draws the artwork without a font substitute (1.315ms) +✔ artwork stays above progress pills and clear of settings; fifteen cards still fit all phone sizes (1184.7768ms) +✔ A3 width, one wide patch and brighter body preserve original design proportions (7.0053ms) +✔ ribbon caches its body, draws source-atop only offscreen and starts each frame clean (13.5722ms) +✔ one patch travels at 60px/s on the full route and does not restart when player advances (0.5319ms) +✔ reduced motion and missing canvas use a static ribbon without main-board compositing (0.6184ms) +✔ real target contours and smoothed routes stay attached to actual 200-level geometry (2580.5724ms) +✔ live target breath uses cached board layers, arrival and background stop obsolete visuals (273.3177ms) +✔ undo button reverses seven played steps as 7,6,5,4,3,2,1 (723.4609ms) +✔ drag reverses seven played steps as 7,6,5,4,3,2,1 (316.3682ms) +✔ completion amplitude is reduced 15 percent while node, undo and restart volumes stay unchanged (2.476ms) +✔ fast reverse coalesces to the latest descending pitch and cannot replay an old forward note (2.3642ms) +✔ all prepared routes match the immutable level hash and public rules (32.8606ms) +✔ entering next level draws the live board once and preserves the running BGMA player (2786.6811ms) +✔ next-board warming advances one item per frame and cancels on deadline, replacement or hide (0.8861ms) +✔ idle material warming never changes the player path or emits sound and vibration (113.63ms) +ℹ tests 110 +ℹ suites 0 +ℹ pass 110 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 54956.9338 + +> numberswipe-main@1.0.0 smoke +> node smoke.mjs + +PASS 200/200: r2源文件哈希一致、唯一解、微信发布包触摸通关、撤销/重开/指路、存档/音效设置恢复、前后台切换。 diff --git a/wechat-campaign-200-r2/qa/a3-hint-pixels-20261023.txt b/wechat-campaign-200-r2/qa/a3-hint-pixels-20261023.txt new file mode 100644 index 0000000..7d68f1c --- /dev/null +++ b/wechat-campaign-200-r2/qa/a3-hint-pixels-20261023.txt @@ -0,0 +1 @@ +PASS:200/200关,点击A3指路前后和撤销重画后,玩家已走格子的实际Canvas填色像素一致。 diff --git a/wechat-campaign-200-r2/qa/a3-preview-20261023.png b/wechat-campaign-200-r2/qa/a3-preview-20261023.png new file mode 100644 index 0000000..25f8921 Binary files /dev/null and b/wechat-campaign-200-r2/qa/a3-preview-20261023.png differ diff --git a/wechat-campaign-200-r2/qa/a3-preview.html b/wechat-campaign-200-r2/qa/a3-preview.html new file mode 100644 index 0000000..0bb00f1 --- /dev/null +++ b/wechat-campaign-200-r2/qa/a3-preview.html @@ -0,0 +1,69 @@ + + +数字一笔 · 明亮教具室试玩 + +

数字一笔 · 节点反馈与立体标题验收

200关实际游戏包的 Canvas 预览。全部画面由程序绘制,字体随包提供。

+
+ diff --git a/wechat-campaign-200-r2/qa/bright-classroom.html b/wechat-campaign-200-r2/qa/bright-classroom.html index 9916848..f3fca66 100644 --- a/wechat-campaign-200-r2/qa/bright-classroom.html +++ b/wechat-campaign-200-r2/qa/bright-classroom.html @@ -20,7 +20,7 @@ const levels=pack.playOrder.map(id=>pack.levels.find(l=>l.id===id)); const size=document.querySelector('#size'),levelSelect=document.querySelector('#level'),status=document.querySelector('#status'),phone=document.querySelector('#phone'); let runtime,feedbackMode='enhanced'; for(const [i,l] of levels.entries()){const o=document.createElement('option');o.value=i;o.textContent=`第 ${i+1} 关 · ${l.title}`;levelSelect.append(o);} -const samples=[['基础大块',3],['异形拼块',levels.findIndex(l=>l.cells.some(c=>c.shape)&&l.cells.length>=12)],['通道与数字',levels.findIndex(l=>l.features.includes('direction')&&l.cells.some(c=>c.clue&&c.direction))],['双色与奇偶',levels.findIndex(l=>l.features.includes('alternation')&&l.features.includes('parity'))],['节奏门',levels.findIndex(l=>l.doors?.length)],['六边墙',levels.findIndex(l=>l.geometry==='hex'&&l.walls?.length)],['密集36块',levels.findIndex(l=>l.id==='r2-163')]]; +const samples=[['基础大块',3],['异形拼块',levels.findIndex(l=>l.cells.some(c=>c.shape)&&l.cells.length>=12)],['通道与数字',levels.findIndex(l=>l.features.includes('direction')&&l.cells.some(c=>c.direction))],['双色与奇偶',levels.findIndex(l=>l.features.includes('alternation')&&l.features.includes('parity'))],['节奏门',levels.findIndex(l=>l.doors?.length)],['六边墙',levels.findIndex(l=>l.geometry==='hex'&&l.walls?.length)],['密集36块',levels.findIndex(l=>l.id==='r2-163')]]; for(const [name,index] of samples){const b=document.createElement('button');b.textContent=name;b.onclick=()=>show(index);document.querySelector('#samples').append(b);} function boot(){ const [width,height]=size.value.split('×').map(Number),handlers={},frames=new Map(),canvases=[],store=new Map();let frame=0,now=100000; @@ -58,4 +58,10 @@ show(3);function pump(){runtime.tick();requestAnimationFrame(pump);}requestAnima const settingsCheck=document.createElement('button');settingsCheck.textContent='设置文字验收';settingsCheck.onclick=()=>{runtime.button('设置');update();};document.querySelector('.tools').append(settingsCheck); const timingCheck=document.createElement('button');timingCheck.textContent='通关早点击验收';document.querySelector('.tools').append(timingCheck); timingCheck.onclick=()=>{const results=[];for(const i of [3,90,162,191])for(const delay of [0,40,110,300,3000]){runtime.select(i);for(const id of solve(levels[i])[0])runtime.cell(id);runtime.tick(delay);const start=performance.now();runtime.button('下一关 →');const elapsed=performance.now()-start;if(runtime.api.snapshot().displayOrder!==i+2||runtime.api.snapshot().cleared)throw Error('切关失败');results.push({level:i+1,delay,ms:Number(elapsed.toFixed(1))});}status.textContent='PASS 20/20:通关后0/40/110/300/3000ms切关,上一关演出均取消。真实Canvas浏览器数据,iOS真机待复测。\n'+JSON.stringify(results);}; + +const a3Sample=document.createElement('button');a3Sample.textContent='A3软糖样张';a3Sample.onclick=()=>{show(3);runtime.cell(solve(levels[3])[0][0]);runtime.button('指路');runtime.tick(900);update();};document.querySelector('.tools').append(a3Sample); +const a3Check=document.createElement('button');a3Check.textContent='A3尺寸与动画验收';document.querySelector('.tools').append(a3Check);a3Check.onclick=()=>{ + const rows=[];for(const dimensions of ['320×568','375×812','390×844','414×896'])for(const [,index]of samples){if(index<0)continue;size.value=dimensions;show(index);runtime.cell(solve(levels[index])[0][0]);runtime.button('指路');runtime.tick(1800);const before=runtime.api.snapshot();for(let n=0;n<12;n++)runtime.tick(16);const after=runtime.api.snapshot();if(after.softHint.builds!==before.softHint.builds)throw Error('静态带面重复构建');if(after.hint&&after.softHint.targetCacheHits<=before.softHint.targetCacheHits)throw Error('目标暖光未使用缓存');rows.push(dimensions+' / 第'+(index+1)+'关');} + status.textContent='PASS '+rows.length+'/'+rows.length+':A3四尺寸、七类真实关卡,静态带面未逐帧重建,目标呼吸使用缓存。浏览器验收,微信真机待验。\n'+rows.join(';'); +}; diff --git a/wechat-campaign-200-r2/release-info.json b/wechat-campaign-200-r2/release-info.json index 56469bf..8053490 100644 --- a/wechat-campaign-200-r2/release-info.json +++ b/wechat-campaign-200-r2/release-info.json @@ -1,10 +1,15 @@ { "channel": "main", - "version": "2026-10-23-ios-clear-ui-fix", + "version": "2026-10-23-soft-ribbon-a3-bright", "date": "2026-10-23", "baseVersion": "2026-10-22-resume-chapter-lessons", "baseMainSHA256": "bb35d5edf8d96eb3253c78052d219b32f9a4241efd9971537f6c9c8896188125", - "package": "NumberSwipe-main-iOS通关切换与界面反馈修复-20261023.zip", + "package": "NumberSwipe-main-A3明亮软糖指路-20261023.zip", "promotedFrom": "2026-10-22-layered-feedback-music-flow", - "previousVersion": "2026-10-23-descending-undo-fast-next" + "previousVersion": "2026-10-23-ios-clear-ui-fix", + "baseCommit": "6abbc37", + "includes": [ + "ios-clear-ui-fix", + "soft-ribbon-a3-bright" + ] } diff --git a/wechat-campaign-200-r2/soft-hint.test.mjs b/wechat-campaign-200-r2/soft-hint.test.mjs new file mode 100644 index 0000000..7a89cde --- /dev/null +++ b/wechat-campaign-200-r2/soft-hint.test.mjs @@ -0,0 +1,13 @@ +import test from 'node:test';import assert from 'node:assert/strict';import fs from 'node:fs'; +import {SoftHintPainter,softHintTokens as T,softHighlightAt,targetBreath} from './src/soft-hint.mjs'; +import {prepareHintMotion} from './src/hint-motion.mjs';import {boot} from './qa/runtime-harness.mjs'; +import {renderBrightBoard,hintGeometry} from './src/bright-classroom/board-renderer.mjs';import {inside} from './src/bright-classroom/geometry.mjs'; +const pack=JSON.parse(fs.readFileSync(new URL('./src/upstream/levels.json',import.meta.url))),levels=pack.playOrder.map(id=>pack.levels.find(l=>l.id===id)),routes=JSON.parse(fs.readFileSync(new URL('./src/prepared-routes.json',import.meta.url))).routes; +function context(events=[]){const stack=[];return new Proxy({globalCompositeOperation:'source-over',globalAlpha:1,measureText:()=>({width:20}),save(){stack.push([this.globalCompositeOperation,this.globalAlpha]);},restore(){[this.globalCompositeOperation,this.globalAlpha]=stack.pop();},createLinearGradient:()=>({addColorStop(){}}),createRadialGradient:()=>({addColorStop(){}}),fill(){events.push(['fill',this.globalCompositeOperation]);},fillRect(){events.push(['rect',this.globalCompositeOperation]);},drawImage(){events.push(['image',this.globalCompositeOperation]);}},{get:(o,k)=>o[k]??(()=>{}),set:(o,k,v)=>(o[k]=v,true)});} +const hint={route:['a','b','c'],guides:[{a:'a',b:'b',points:[[30,30],[150,30]]},{a:'b',b:'c',points:[[150,30],[150,160]]}],keepouts:[],visitedShapes:[],boardWidth:200,boardHeight:220,dpr:2}; +test('A3 width, one wide patch and brighter body preserve original design proportions',()=>{const original=JSON.parse(fs.readFileSync(new URL('../docs/design/bright-classroom/concepts/hint-soft-ribbon-a3.tokens.json',import.meta.url)));assert.equal(T.body.widthRatio,.235);assert.equal(T.highlight.count,1);assert.equal(T.body.crownWidthRatio,.76);assert.equal(T.endpointFade.radiusRatio,.39);assert.equal(T.body.widthRatio,original.body.widthRatio);assert.notDeepEqual(T.body.gradient,original.body.gradient);for(const pitch of [20,36,104,200])assert.equal(prepareHintMotion(hint,pitch,[]).width,Math.max(7,Math.min(26,pitch*.235)));}); +test('ribbon caches its body, draws source-atop only offscreen and starts each frame clean',()=>{let canvases=0;const internal=[],out=[],painter=new SoftHintPainter(()=>{canvases++;return {width:0,height:0,getContext:()=>context(internal)};}),ctx=context(out);painter.draw(ctx,hint,50,300,[]);const base=painter.base;for(let i=0;i<60;i++)painter.draw(ctx,hint,50,300+i*16,[]);assert.equal(canvases,2);assert.equal(painter.base,base);assert.ok(internal.some(e=>e[1]==='source-atop'));assert.ok(out.every(e=>e[1]==='source-over'));painter.reset();assert.equal(painter.base,null);}); +test('one patch travels at 60px/s on the full route and does not restart when player advances',()=>{const motion=prepareHintMotion(hint,50,[]);const a=softHighlightAt(motion,300),b=softHighlightAt(motion,800);assert.ok(Math.abs(b.at-a.at-30)<.001);assert.equal(a.cycle,Math.max(1800,motion.total/60*1000));assert.ok(a.at{const log=[],p=new SoftHintPainter(()=>null),ctx=context(log);p.draw(ctx,{...hint,reducedMotion:true},50,0,[]);assert.ok(!log.some(e=>e[1]==='source-atop'));assert.equal(ctx.globalCompositeOperation,'source-over');assert.equal(targetBreath(0,true),1);assert.equal(targetBreath(0),.65);assert.equal(targetBreath(1100),1);}); +test('real target contours and smoothed routes stay attached to actual 200-level geometry',()=>{const ctx=context();for(const level of levels){const route=routes[level.id],scene=renderBrightBoard(ctx,level,[],375,468,{preview:true,now:0}),h=hintGeometry(scene,[],route),m=prepareHintMotion(h,scene.pitch,[]);assert.equal(h.targetId,route.at(-1));assert.equal(h.targetShape.rings,scene.byId.get(route.at(-1)).rings);assert.ok(m.runs.length);for(const run of m.runs)for(const p of run){const valid=h.routeShapes.some(s=>s.parts.some(r=>inside(p,r)));if(!valid)assert.ok(h.guides.some(g=>g.points.some(q=>Math.hypot(q[0]-p[0],q[1]-p[1]){const ui=boot();ui.select(3);ui.button('指路');ui.advance(400);const before=ui.api.snapshot();for(let i=0;i<10;i++)ui.advance(16);const after=ui.api.snapshot();assert.ok(after.softHint.targetCacheHits>before.softHint.targetCacheHits);assert.equal(after.softHint.builds,before.softHint.builds);const sequence=after.feedback.sequence;const h=after.hint;for(const id of routes[levels[3].id].slice(0,h.end+1))ui.cell(id);assert.equal(ui.api.snapshot().hint,null);ui.handlers.Hide();assert.equal(ui.frames.size,0);assert.ok(ui.api.snapshot().feedback.sequence>=sequence);}); diff --git a/wechat-campaign-200-r2/src/bright-classroom/board-renderer.mjs b/wechat-campaign-200-r2/src/bright-classroom/board-renderer.mjs index b94dec3..023556f 100644 --- a/wechat-campaign-200-r2/src/bright-classroom/board-renderer.mjs +++ b/wechat-campaign-200-r2/src/bright-classroom/board-renderer.mjs @@ -1,3 +1,4 @@ +import {drawSoftTarget,targetBreath} from '../soft-hint.mjs'; import {feedback} from '../feedback.mjs'; import {FEEDBACK} from '../feedback-params.mjs'; import {violations,sideBetween,doorOpen,doorLatched} from '../upstream/rules.mjs'; @@ -7,7 +8,7 @@ import {cushion} from './cushion.mjs'; import {numberStamp} from './number-stamp.mjs'; const caches=new WeakMap(); -export const boardDiagnostics={liveRenders:0,previewRenders:0}; +export const boardDiagnostics={liveRenders:0,previewRenders:0,targetCacheHits:0}; export const preferences={reducedMotion:false}; const errorIds=bad=>new Set(bad.flatMap(b=>b.cells)); @@ -189,13 +190,16 @@ export function drawBarriers(ctx,scene,path,now=Date.now()){ ctx.restore(); } -export function renderBrightBoard(ctx,level,path,width,height,{now=Date.now(),preview=false}={}){ +export function renderBrightBoard(ctx,level,path,width,height,{now=Date.now(),preview=false,hintTarget=null,hintElapsed=0,pixelRatio=1}={}){ boardDiagnostics[preview?'previewRenders':'liveRenders']++; let cached=caches.get(ctx); if(!cached||cached.level!==level||cached.width!==width||cached.height!==height){ cached={...buildGeometry(level,width,height),level,width,height,pathKey:null,changedAt:now};caches.set(ctx,cached); } const scene=cached,pathKey=path.join('|');scene.now=now; + const target=hintTarget&&!path.includes(hintTarget)&&!preview?hintTarget:null; + const targetKey=JSON.stringify([pathKey,target,width,height,pixelRatio,feedback.epoch,feedback.sequence,preferences.reducedMotion]); + if(target&&scene.hintLayers?.key===targetKey&&!scene.animating){boardDiagnostics.targetCacheHits++;compositeTarget(ctx,scene,hintElapsed);return scene;} if(scene.feedbackEpoch!==feedback.epoch){scene.bursts=[];scene.feedbackSequence=0;scene.feedbackEpoch=feedback.epoch;} scene.feedbackEvents=preview?[]:feedback.active(level,now); if(!preview&&feedback.enhanced){ @@ -226,14 +230,24 @@ export function renderBrightBoard(ctx,level,path,width,height,{now=Date.now(),pr scene.depth=level.geometry==='hex'?clamp(1.2,scene.pitch*.028,2.2):clamp(3,scene.pitch*T.referenceMatch.cellDepthRatio,T.referenceMatch.cellDepthMax); scene.steps=new Map(path.map((id,i)=>[id,i+1]));scene.errors=errorIds(violations(level,path));scene.keepouts=[];scene.channels=[]; scene.views=scene.cells.map(g=>({cell:g.cell.id,...appearance(g.cell,scene.steps.get(g.cell.id),scene.errors.has(g.cell.id)),error:scene.errors.has(g.cell.id),category:g.cell.category||null,cellUnit:scene.pitch})); - ctx.clearRect(0,0,width,height);ctx.save(); - for(let i=0;idrawMaterial(ctx,scene.cells[i],scene.views[i],scene)); - drawBridges(ctx,scene,path); - for(let i=0;idrawMaterial(base,scene.cells[i],scene.views[i],scene)); + drawBridges(base,scene,path);base.restore(); + if(layers){const glow=layers.glow.getContext('2d');drawSoftTarget(glow,scene,target,0,true);glow.save();glow.globalCompositeOperation='destination-out';glow.fillStyle='#000';glow.strokeStyle='#000';for(const g of scene.cells.filter(g=>scene.steps.has(g.cell.id))){for(const dy of [0,scene.depth]){trace(glow,g.rings,g.radius,dy);glow.fill();glow.lineWidth=2*(clamp(3,scene.pitch*.065,7)+1);glow.stroke();}}glow.restore();} + else if(target)drawSoftTarget(ctx,scene,target,0,true); + top.save(); + for(let i=0;i0||scene.feedbackEvents.some(e=>now-e.time<(e.kind==='checkpoint'||e.kind==='complete'?FEEDBACK.checkpointMs:FEEDBACK.moveMs))||[...scene.doorTransitions.values()].some(d=>d.from!==d.to&&now-d.startedpath.includes(g.cell.id)).map(g=>({rings:g.rings,radius:g.radius,depth:scene.depth,maskPad:clamp(3,scene.pitch*.065,7)+1})),reducedMotion:preferences.reducedMotion}; + const value={guides,targetId:route.at(-1),targetShape:scene.byId.get(route.at(-1))?{rings:scene.byId.get(route.at(-1)).rings,radius:scene.byId.get(route.at(-1)).radius}:null,routeShapes:route.map(id=>scene.byId.get(id)).filter(Boolean).map(g=>({parts:g.parts})),pitch:scene.pitch,boardWidth:scene.width,boardHeight:scene.height,keepouts:scene.keepouts,visitedShapes:scene.cells.filter(g=>path.includes(g.cell.id)).map(g=>({rings:g.rings,radius:g.radius,depth:scene.depth,maskPad:clamp(3,scene.pitch*.065,7)+1})),reducedMotion:preferences.reducedMotion}; hintGeometryCache.set(scene,{key,keepouts:scene.keepouts,value});return value; } @@ -289,3 +303,5 @@ export function* warmBoardMaterials(ctx,level,width,height){ yield; for(const g of scene.cells){const view=appearance(g.cell,undefined,false);drawMaterial(ctx,g,view,scene);drawSymbols(ctx,scene,g,view,[]);yield;} } + +function compositeTarget(ctx,scene,elapsed){const {width,height,hintLayers:l}=scene;ctx.clearRect(0,0,width,height);ctx.drawImage(l.base,0,0,width,height);ctx.save();ctx.globalAlpha=targetBreath(elapsed,preferences.reducedMotion);ctx.drawImage(l.glow,0,0,width,height);ctx.restore();ctx.drawImage(l.top,0,0,width,height);} diff --git a/wechat-campaign-200-r2/src/hint-motion.mjs b/wechat-campaign-200-r2/src/hint-motion.mjs new file mode 100644 index 0000000..3469305 --- /dev/null +++ b/wechat-campaign-200-r2/src/hint-motion.mjs @@ -0,0 +1,46 @@ +import {distance,inside} from './bright-classroom/geometry.mjs'; +import {T,clamp} from './bright-classroom/theme.mjs'; +const preparedHints=new WeakMap(); +export function prepareHintMotion(hint,unit,path){ + const key=JSON.stringify([unit,path]),cached=preparedHints.get(hint.guides)||new Map(); + if(cached.has(key))return cached.get(key); + const covered=(a,b)=>path.some((id,i)=>i>0&&((path[i-1]===a&&id===b)||(path[i-1]===b&&id===a))); + const guides=hint.guides.filter(g=>!covered(g.a,g.b)); + let radius=unit*T.hintSoftRibbon.body.cornerRadiusRatio,runs=smoothHintRuns(guides,radius); + if(hint.routeShapes?.length){const legal=p=>hint.routeShapes.some(s=>s.parts.some(r=>inside(p,r)))||guides.some(g=>g.points.slice(1).some((b,i)=>nearSegment(p,g.points[i],b)<=unit*.02));for(let n=0;n<8&&runs.some(r=>r.some(p=>!legal(p)));n++){radius=n===7?0:radius*.5;runs=smoothHintRuns(guides,radius);}} + const width=clamp(T.hintSoftRibbon.body.widthMin,unit*T.hintSoftRibbon.body.widthRatio,T.hintSoftRibbon.body.widthMax); + let total=0; + const segments=runs.flatMap(points=>points.slice(1).map((b,i)=>({a:points[i],b,length:distance(points[i],b)}))).filter(s=>s.length>.01).map(s=>({...s,start:total,end:total+=s.length})); + const value={guides,runs,width,segments,total};cached.set(key,value);if(cached.size>4)cached.delete(cached.keys().next().value);preparedHints.set(hint.guides,cached);return value; +} +export function hintPointAt(motion,at){ + const {segments}=motion;if(!segments.length)return null; + let low=0,high=segments.length-1; + while(low>1;if(segments[mid].end{ + const p=points.filter((v,i)=>!i||distance(v,points[i-1])>.01); + if(p.length<3)return p; + const out=[p[0]]; + for(let i=1;i[c.id,c])); const anchors=solution.flatMap((id,i)=>{const c=cells.get(id);return i===0||i===solution.length-1||c.clue!==undefined||c.direction||c.parity?[i]:[];}); @@ -25,149 +24,10 @@ export function createHintController(){ }; } -// Draw only on the dedicated transparent hint canvas, never on the player board. -export function drawHint(ctx,hint,centers,unit,elapsed,playerPath=[],arrows=null){ - if(!hint||hint.route.length<2)return; - if(hint.guides){drawGeometryHint(ctx,hint,unit,elapsed,playerPath,arrows);return;} - const points=hint.route.map(id=>centers[id]);if(points.some(p=>!p))return; - const visited=new Set(playerPath); - const covered=hint.route.slice(1).map((b,i)=>{const a=hint.route[i];return playerPath.some((id,j)=>j>0&&((playerPath[j-1]===a&&id===b)||(playerPath[j-1]===b&&id===a)));}); - const width=Math.max(4,Math.min(9,unit*.13)); - const progress=elapsed%Math.max(1200,(points.length-1)*240)/Math.max(1200,(points.length-1)*240)*(points.length-1); - ctx.save();ctx.lineCap='round';ctx.lineJoin='round'; - const trace=(i,color,w)=>{if(covered[i])return;ctx.beginPath();ctx.moveTo(...points[i]);ctx.lineTo(...points[i+1]);ctx.strokeStyle=color;ctx.lineWidth=w;ctx.stroke();}; - for(let i=0;i=0;j--){ - const t=progress-j*.045;if(t<0)continue; - const k=Math.min(Math.floor(t),points.length-2),f=t-k;if(covered[k])continue; - const a=points[k],b=points[k+1],x=a[0]+(b[0]-a[0])*f,y=a[1]+(b[1]-a[1])*f; - ctx.beginPath();ctx.arc(x,y,width*(.45+(10-j)*.035),0,Math.PI*2); - ctx.fillStyle=`rgba(255,255,255,${.12+(10-j)*.075})`;ctx.fill(); - if(j===0){ctx.strokeStyle='rgba(35,36,58,.9)';ctx.lineWidth=2;ctx.stroke();} - } - for(const i of [0,points.length-1]){ - if(visited.has(hint.route[i]))continue; - ctx.beginPath();ctx.arc(...points[i],Math.max(8,unit*.23),0,Math.PI*2); - ctx.strokeStyle='rgba(35,36,58,.72)';ctx.lineWidth=7;ctx.stroke(); - ctx.strokeStyle='rgba(255,255,255,.92)';ctx.lineWidth=3;ctx.stroke(); - } - // Clear the hint inside every actually visited cell, including wrong routes. - // The base board's filled cells, numbers and channel effects stay fully visible. - ctx.globalCompositeOperation='destination-out';ctx.fillStyle='#000000'; - for(const p of hint.visitedPolygons||[]){ - ctx.beginPath();ctx.moveTo(...p[0]);for(const v of p.slice(1))ctx.lineTo(...v);ctx.closePath();ctx.fill(); - } - ctx.restore(); -} -const preparedHints=new WeakMap(); -export function prepareHintMotion(hint,unit,path){ - const key=JSON.stringify([unit,path]),cached=preparedHints.get(hint.guides)||new Map(); - if(cached.has(key))return cached.get(key); - const covered=(a,b)=>path.some((id,i)=>i>0&&((path[i-1]===a&&id===b)||(path[i-1]===b&&id===a))); - const guides=hint.guides.filter(g=>!covered(g.a,g.b)),runs=smoothHintRuns(guides,unit*.16),width=Math.max(4,Math.min(8,unit*.12)); - let total=0; - const segments=runs.flatMap(points=>points.slice(1).map((b,i)=>({a:points[i],b,length:distance(points[i],b)}))).filter(s=>s.length>.01).map(s=>({...s,start:total,end:total+=s.length})); - const value={guides,runs,width,segments,total};cached.set(key,value);if(cached.size>4)cached.delete(cached.keys().next().value);preparedHints.set(hint.guides,cached);return value; -} -export function hintPointAt(motion,at){ - const {segments}=motion;if(!segments.length)return null; - let low=0,high=segments.length-1; - while(low>1;if(segments[mid].end{ctx.strokeStyle=color;ctx.lineWidth=w;for(const points of runs){if(!points.length)continue;ctx.beginPath();ctx.moveTo(...points[0]);for(const p of points.slice(1))ctx.lineTo(...p);ctx.stroke();}}; - // Cream-backed coral teaching ribbon: soft toy material, no metallic rail. - ctx.shadowColor='rgba(148,99,55,.18)';ctx.shadowBlur=unit*.045;ctx.shadowOffsetY=1.2; - draw(C.hintRibbonLight,width+5);ctx.shadowBlur=0;ctx.shadowOffsetY=0; - draw(C.hintRibbon,width); - ctx.globalAlpha=.28;draw(C.hintRibbonLight,width*.48);ctx.globalAlpha=1; - ctx.setLineDash([]); - if(!hint.reducedMotion){ - const full=arrows?prepareHintMotion(hint,unit,[]):motion; - let start=0;const first=runs[0]?.[0];if(first&&arrows){let nearest=Infinity;for(const s of full.segments){const d=distance(s.a,first);if(d=0;j--){ - let at=pulseHead-j*Math.max(.9,width*.30);if(at<0)continue; - const point=hintPointAt(arrows?full:motion,at);if(point){ - const {segment,x,y}=point; - ctx.globalAlpha=(1-j/18)*.85;ctx.shadowColor='rgba(255,245,215,.65)';ctx.shadowBlur=j===0?width*1.2:0; - ctx.beginPath();ctx.arc(x,y,width*(.23+(16-j)/16*.4),0,Math.PI*2);ctx.fillStyle=C.hintSpark;ctx.fill(); - if(j===0){ctx.globalAlpha=1;ctx.shadowBlur=0;hintArrow(ctx,segment.a,segment.b,x,y,width);} - } - } - } - ctx.globalAlpha=1;ctx.shadowBlur=0; - } - if(hint.reducedMotion)for(const g of guides){ - const b=g.points.at(-1),a=g.points.at(-2);if(a&&b)hintArrow(ctx,a,b,(a[0]+b[0])/2,(a[1]+b[1])/2,width); - } - // Fade the entire ribbon, highlight and moving light before painting the - // endpoint sticker. The line disappears at its inner edge, not at the - // rectangular typography keepout, so no hard stub protrudes past it. - ctx.save();ctx.globalCompositeOperation='destination-out'; - for(const point of [runs[0]?.[0],runs.at(-1)?.at(-1)]){ - if(!point)continue; - const radius=Math.max(17,unit*.46),[x,y]=point; - const fade=ctx.createRadialGradient(x,y,0,x,y,radius); - if(!fade?.addColorStop)continue; - fade.addColorStop(0,'rgba(0,0,0,1)'); - fade.addColorStop(.55,'rgba(0,0,0,1)'); - fade.addColorStop(1,'rgba(0,0,0,0)'); - ctx.fillStyle=fade;ctx.fillRect(x-radius,y-radius,radius*2,radius*2); - } - ctx.restore(); - // Destination sticker surrounds the target without hiding its clue. - const target=runs.at(-1)?.at(-1); - if(target){ - const r=Math.max(9,unit*.25); - ctx.beginPath();ctx.arc(...target,r,0,Math.PI*2);ctx.strokeStyle=C.hintRibbonLight;ctx.lineWidth=5;ctx.stroke(); - ctx.strokeStyle=C.hintRibbon;ctx.lineWidth=2.5;ctx.stroke(); - } - // Nothing in the hint layer may obscure player materials or rule typography. - ctx.globalCompositeOperation='destination-out';ctx.fillStyle='#000';ctx.strokeStyle='#000'; - for(const shape of hint.visitedShapes||[]){ - for(const dy of [0,shape.depth]){trace(ctx,shape.rings,shape.radius,dy);ctx.fill();ctx.lineWidth=shape.maskPad?shape.maskPad*2:3;ctx.stroke();} - } - for(const rect of hint.keepouts||[])ctx.fillRect(rect.x,rect.y,rect.w,rect.h); - ctx.restore(); -} - -function hintArrow(ctx,a,b,x,y,width){ - const len=distance(a,b);if(len<1)return; - const dx=(b[0]-a[0])/len,dy=(b[1]-a[1])/len,r=width*.65; - ctx.beginPath();ctx.moveTo(x-dx*r-dy*r,y-dy*r+dx*r);ctx.lineTo(x+dx*r,y+dy*r);ctx.lineTo(x-dx*r+dy*r,y-dy*r-dx*r); - ctx.strokeStyle=C.hintRibbonDepth;ctx.lineWidth=Math.max(2,width*.38);ctx.stroke(); -} - -// Round the complete route, including turns where two cell guides meet. -export function smoothHintRuns(guides,radius){ - const raw=[];let last; - for(const g of guides){ - if(!g.points.length)continue; - if(last&&last.b===g.a&&distance(raw.at(-1).at(-1),g.points[0])<.1)raw.at(-1).push(...g.points.slice(1)); - else raw.push([...g.points]); - last=g; - } - return raw.map(points=>{ - const p=points.filter((v,i)=>!i||distance(v,points[i-1])>.01); - if(p.length<3)return p; - const out=[p[0]]; - for(let i=1;icenters[hint.route[i]]&¢ers[b]?[{a:hint.route[i],b,points:[centers[hint.route[i]],centers[b]]}]:[]);hint={...hint,guides};} + drawSoftHint(ctx,hint,hint.pitch||unit,elapsed,playerPath); } diff --git a/wechat-campaign-200-r2/src/main.mjs b/wechat-campaign-200-r2/src/main.mjs index 1a611f5..a8e20b7 100644 --- a/wechat-campaign-200-r2/src/main.mjs +++ b/wechat-campaign-200-r2/src/main.mjs @@ -1,14 +1,14 @@ import {IdleWarmup} from './idle-warmup.mjs'; import {loadSelectionTitle,selectionRow} from './selection-title.mjs'; import {Music} from './music.mjs'; -import {HintArrows} from './hint-arrows.mjs'; +import {resetSoftHint,softHintDiagnostics} from './soft-hint.mjs'; import {feedback} from './feedback.mjs'; import releaseInfo from '../release-info.json' with {type:'json'}; import {chapterLayout,levelCard,selectionHeader} from './level-select.mjs'; import {CLEAR_DURATION,clearProgress,drawClearCelebration} from './bright-classroom/celebration.mjs'; import {stopAudio,audioDiagnostics} from './audio.mjs'; import { mainCanvas, boardCanvas, document, window, PACK, setViewInvalidator } from './platform.mjs'; -import {renderLesson,hintView,resumeGameplay,refreshBrightBoard,brightOverlay,brightAnimating} from './upstream/ui.mjs'; +import {renderLesson,hintView,resumeGameplay,refreshBrightBoard,brightOverlay,brightAnimating,resetBrightHint} from './upstream/ui.mjs'; import {drawHint} from './hints.mjs'; import {lessonKeys,makeLesson,lessonFrame,loopLessonTime} from './lessons.mjs'; import {tutorials} from './copy.mjs'; @@ -22,7 +22,7 @@ const warmCanvas=wx.createCanvas();warmCanvas.width=1;warmCanvas.height=1; const warmup=new IdleWarmup({canRun:()=>visible&&pointer===null});let warmupKey=''; let rulePage=0,ruleKey='',lessonBoardCache=null,lessonBoardRenders=0; const hintCanvas=wx.createCanvas(),hintContext=hintCanvas.getContext('2d'); -const music=new Music(wx),hintArrows=new HintArrows(); +const music=new Music(wx); let hintAnimation={key:'',started:0}; let settingsOpen=false,pressedLabel='',pressedUntil=0; let celebrationSuppressed=false; @@ -38,7 +38,7 @@ function text(value, x, y, size = 16, color = C.ink) { label(ctx,value,x,y,size, function splitLines(value,maxWidth,size=16){textFont(ctx,size);const lines=[];for(const paragraph of String(value).split('\n')){let line='';for(const c of paragraph){if(line&&ctx.measureText(line+c).width>maxWidth){lines.push(line);line='';}line+=c;}lines.push(line);}return lines;} function wrapped(value,x,y,maxWidth,size=16){const lines=splitLines(value,maxWidth,size);lines.forEach((line,i)=>text(line,x,y+i*(size+9),size));return lines.length;} function button(label, x, y, w, h, run, { enabled = true, primary = false } = {}) { buttonArt(ctx,label,x,y,w,h,{enabled,primary,pressed:!preferences.reducedMotion&&pressedLabel===label&&Date.now() section.children[1].children); } function paintHintLayer(hint,boardState,d){ @@ -49,10 +49,10 @@ function paintHintLayer(hint,boardState,d){ if(hintCanvas.width!==Math.round(width*d))hintCanvas.width=Math.round(width*d); if(hintCanvas.height!==Math.round(h*d))hintCanvas.height=Math.round(h*d); hintContext.setTransform(d,0,0,d,0,0);hintContext.clearRect(0,0,width,h); - drawHint(hintContext,hint,boardState.centers,boardState.unit,Date.now()-hintAnimation.started,boardState.path,hintArrows.frame(key,Date.now(),feedback.events)); + drawHint(hintContext,{...hint,dpr:d},boardState.centers,boardState.unit,Date.now()-hintAnimation.started,boardState.path); ctx.drawImage(hintCanvas,0,top+82,width,h); ctx.save();ctx.translate(0,top+82);brightOverlay(ctx);ctx.restore(); - }else {hintAnimation={key:'',started:0};hintArrows.reset();} + }else {hintAnimation={key:'',started:0};resetSoftHint(hintContext);resetBrightHint();} } function draw() { @@ -80,7 +80,7 @@ function draw() { const cacheEligible=Boolean(animationHint)&&state.screen==='play'&&!state.cleared&&!settingsOpen&&$('rules-sheet').hidden&&!brightAnimating()&&Date.now()>=pressedUntil; const baseKey=JSON.stringify([state.level,state.path,width,height,d,preferences.reducedMotion]); if(cacheEligible&&hintBaseKey===baseKey){ - hintBaseHits++;ctx.drawImage(hintBaseCanvas,0,0,width,height);paintHintLayer(animationHint,state,d); + hintBaseHits++;ctx.drawImage(hintBaseCanvas,0,0,width,height);refreshBrightBoard(Date.now());ctx.drawImage(boardCanvas,0,top+82,width,$('board').clientHeight);paintHintLayer(animationHint,state,d); if(!preferences.reducedMotion)requestPaint();return; } const currentLevel=ordered.find(l=>l.id===state.level); @@ -228,7 +228,7 @@ const release = e => { if (e.changedTouches.some(p => p.identifier === pointer)) } }; wx.onTouchEnd(release); wx.onTouchCancel(release); -wx.onHide(() => { visible = false;clearBaseKey='';warmup.stop();warmupKey='';music.suspend();hintArrows.reset(); lessonStarted=Date.now(); celebrationSuppressed=window.variantSnapshot().cleared;clearCelebration=null;feedback.reset();stopAudio(); cancelAnimationFrame(raf);raf=0; pointer = null; $('board').handlers.pointercancel?.(); window.handlers.pagehide?.(); }); +wx.onHide(() => { visible = false;clearBaseKey='';warmup.stop();warmupKey='';music.suspend();hintAnimation={key:'',started:0};resetSoftHint(hintContext);resetBrightHint(); lessonStarted=Date.now(); celebrationSuppressed=window.variantSnapshot().cleared;clearCelebration=null;feedback.reset();stopAudio(); cancelAnimationFrame(raf);raf=0; pointer = null; $('board').handlers.pointercancel?.(); window.handlers.pagehide?.(); }); wx.onShow(() => { if (!visible) { visible = true;lessonStarted=Date.now();settingsOpen=false;resumeGameplay(); const resumed=window.variantSnapshot();music.scene(resumed.screen==='select'?'select':resumed.cleared?'complete':'play',resumed.level);music.resume(); @@ -239,7 +239,7 @@ wx.onAudioInterruptionBegin?.(()=>{music.suspend();feedback.reset();stopAudio(); wx.onAudioInterruptionEnd?.(()=>{if(visible){music.resume();requestPaint();}}); wx.onWindowResize?.(resize); // 只读状态,供微信开发者工具和发布包自动验收定位问题。 -GameGlobal.numberSwipeR2 = { snapshot: () => ({...window.variantSnapshot(),theme:'bright-classroom',release:releaseInfo,fonts:{...fontDiagnostics},renderedFrames,clearBaseHits,warming: Boolean(warmup.pending),boardRenders:boardDiagnostics.liveRenders,hintBaseHits,lessonBoardRenders,music:music.snapshot(),selection:{page:page+1,pages:Math.ceil(ordered.length/15),pageSize:15,chapter:page+1,chapters:Math.ceil(ordered.length/15)},reducedMotion:preferences.reducedMotion,boardRect:{x:0,y:top+82,w:width,h:$('board').clientHeight},hint:hintView(),audio:{...audioDiagnostics},feedback:feedback.snapshot(),rules: $('rule-text').textContent,lesson:!$('rules-sheet').hidden&&lessonState?{key:lesson?.key,finished:lessonState.finished,duration:lesson?.duration,path:[...lessonState.route],message:lessonState.message}:null}), buttons: () => buttons.map(({ label, x, y, w, h, enabled }) => ({ label, x, y, w, h, enabled })) }; +GameGlobal.numberSwipeR2 = { snapshot: () => ({...window.variantSnapshot(),theme:'bright-classroom',release:releaseInfo,fonts:{...fontDiagnostics},renderedFrames,clearBaseHits,warming: Boolean(warmup.pending),boardRenders:boardDiagnostics.liveRenders,hintBaseHits,lessonBoardRenders,music:music.snapshot(),selection:{page:page+1,pages:Math.ceil(ordered.length/15),pageSize:15,chapter:page+1,chapters:Math.ceil(ordered.length/15)},reducedMotion:preferences.reducedMotion,boardRect:{x:0,y:top+82,w:width,h:$('board').clientHeight},hint:hintView(),softHint:{...softHintDiagnostics,targetCacheHits:boardDiagnostics.targetCacheHits},audio:{...audioDiagnostics},feedback:feedback.snapshot(),rules: $('rule-text').textContent,lesson:!$('rules-sheet').hidden&&lessonState?{key:lesson?.key,finished:lessonState.finished,duration:lesson?.duration,path:[...lessonState.route],message:lessonState.message}:null}), buttons: () => buttons.map(({ label, x, y, w, h, enabled }) => ({ label, x, y, w, h, enabled })) }; feedback.audio.beforeComplete=()=>music.duck(); feedback.audio.afterComplete=()=>music.unduck(); loadSelectionTitle(wx,requestPaint); diff --git a/wechat-campaign-200-r2/src/soft-hint.mjs b/wechat-campaign-200-r2/src/soft-hint.mjs new file mode 100644 index 0000000..c93ac36 --- /dev/null +++ b/wechat-campaign-200-r2/src/soft-hint.mjs @@ -0,0 +1,68 @@ +import {T,clamp} from './bright-classroom/theme.mjs'; +import {trace} from './bright-classroom/geometry.mjs'; +import {prepareHintMotion,hintPointAt} from './hint-motion.mjs'; + +export const softHintDiagnostics={builds:0,frames:0,staticFallbacks:0}; +export const softHintTokens=T.hintSoftRibbon; +const painters=new WeakMap(); +const gradient=(ctx,stops,height)=>{const g=ctx.createLinearGradient(0,0,0,height);if(!g?.addColorStop)return stops[1][1];for(const [at,color]of stops)g.addColorStop(at,color);return g;}; +function strokeRuns(ctx,runs,color,width){ctx.strokeStyle=color;ctx.lineWidth=width;ctx.lineCap='round';ctx.lineJoin='round';for(const points of runs){if(points.length<2)continue;ctx.beginPath();ctx.moveTo(...points[0]);for(const p of points.slice(1))ctx.lineTo(...p);ctx.stroke();}} +function body(ctx,motion,height){ + const p=softHintTokens.body,w=motion.width;ctx.save(); + ctx.shadowColor=p.shadowColor;ctx.shadowBlur=p.shadowBlur;ctx.shadowOffsetY=p.shadowY; + strokeRuns(ctx,motion.runs,p.edgeOuter,w+p.edgeOuterExtra);ctx.shadowBlur=0;ctx.shadowOffsetY=0; + strokeRuns(ctx,motion.runs,p.edgeInner,w+p.edgeInnerExtra); + strokeRuns(ctx,motion.runs,gradient(ctx,p.gradient,height),w); + ctx.translate(...p.crownOffset);strokeRuns(ctx,motion.runs,p.crownColor,w*p.crownWidthRatio);ctx.restore(); +} +export function softHighlightAt(motion,elapsed){ + if(!motion.total)return null;const h=softHintTokens.highlight,cycle=Math.max(h.minCycleMs,motion.total/h.speed*1000),at=((elapsed%cycle)+cycle)%cycle/cycle*motion.total; + const point=hintPointAt(motion,at),before=hintPointAt(motion,Math.max(point.segment.start,at-3)),after=hintPointAt(motion,Math.min(point.segment.end,at+3)); + return {...point,at,cycle,angle:Math.atan2(after.y-before.y,after.x-before.x)}; +} +function shine(ctx,motion,elapsed){ + const point=softHighlightAt(motion,elapsed);if(!point)return;const h=softHintTokens.highlight,r=motion.width*h.radiusRatioToWidth; + ctx.save();ctx.globalCompositeOperation='source-atop'; + if(ctx.globalCompositeOperation!=='source-atop'){ctx.restore();return;} + ctx.translate(point.x,point.y);ctx.rotate(point.angle);ctx.scale(h.stretchAlongPath,1); + const g=ctx.createRadialGradient(0,-1,0,0,0,r);if(g?.addColorStop){for(const [at,color]of h.gradient)g.addColorStop(at,color);ctx.fillStyle=g;ctx.fillRect(-r,-r,2*r,2*r);}ctx.restore(); +} +function mask(ctx,hint,motion,unit){ + ctx.save();ctx.globalCompositeOperation='destination-out'; + const p=softHintTokens.endpointFade; + for(const pt of [motion.runs[0]?.[0],motion.runs.at(-1)?.at(-1)]){if(!pt)continue;const [x,y]=pt,r=unit*p.radiusRatio,g=ctx.createRadialGradient(x,y,0,x,y,r);if(g?.addColorStop){g.addColorStop(0,'#000');g.addColorStop(p.opaqueEraseUntil,'#000');g.addColorStop(1,'rgba(0,0,0,0)');ctx.fillStyle=g;ctx.fillRect(x-r,y-r,2*r,2*r);}} + // Feather only outside the exact typography exclusion rectangle. + for(const rect of hint.keepouts||[]){const pad=softHintTokens.keepoutFeather;ctx.fillStyle='#000';ctx.fillRect(rect.x,rect.y,rect.w,rect.h);for(let n=1;n<=pad;n++){ctx.strokeStyle='rgba(0,0,0,'+(.32*(1-n/(pad+1)))+')';ctx.lineWidth=1;ctx.strokeRect(rect.x-n,rect.y-n,rect.w+2*n,rect.h+2*n);}} + ctx.fillStyle='#000';ctx.strokeStyle='#000'; + for(const shape of hint.visitedShapes||[]){for(const dy of [0,shape.depth||0]){trace(ctx,shape.rings,shape.radius,dy);ctx.fill();ctx.lineWidth=(shape.maskPad||2)*2;ctx.stroke();}} + for(const points of hint.visitedPolygons||[]){trace(ctx,[points],0);ctx.fill();} + ctx.restore(); +} +export class SoftHintPainter{ + constructor(createCanvas=()=>typeof wx!=='undefined'?wx.createCanvas?.():null){this.createCanvas=createCanvas;} + reset(){this.key=null;this.motion=null;this.base=null;this.frame=null;} + draw(ctx,hint,unit,elapsed,path=[]){ + const motion=prepareHintMotion(hint,unit,path),width=hint.boardWidth||Math.max(1,...motion.runs.flat().map(p=>p[0]))+unit,height=hint.boardHeight||Math.max(1,...motion.runs.flat().map(p=>p[1]))+unit,dpr=hint.dpr||1; + const key=JSON.stringify([hint.route,hint.guides,path,hint.keepouts,hint.visitedShapes,width,height,dpr,hint.reducedMotion]); + if(this.key!==key){ + this.key=key;this.motion=motion;try{this.base??=this.createCanvas();this.frame??=this.createCanvas();}catch{this.base=this.frame=null;}softHintDiagnostics.builds++; + if(this.base&&this.frame){for(const c of [this.base,this.frame]){c.width=Math.ceil(width*dpr);c.height=Math.ceil(height*dpr);}const p=this.base.getContext('2d');p.setTransform(dpr,0,0,dpr,0,0);p.clearRect(0,0,width,height);body(p,motion,height);} + } + softHintDiagnostics.frames++; + if(!this.base||!this.frame){softHintDiagnostics.staticFallbacks++;ctx.save();body(ctx,motion,height);mask(ctx,hint,motion,unit);ctx.restore();return;} + const p=this.frame.getContext('2d');p.setTransform(dpr,0,0,dpr,0,0);p.clearRect(0,0,width,height);p.drawImage(this.base,0,0,width,height); + if(!hint.reducedMotion)shine(p,prepareHintMotion(hint,unit,[]),elapsed); + mask(p,hint,motion,unit);ctx.drawImage(this.frame,0,0,width,height); + } +} +export function drawSoftHint(ctx,hint,unit,elapsed,path=[]){let painter=painters.get(ctx);if(!painter){painter=new SoftHintPainter();painters.set(ctx,painter);}painter.draw(ctx,hint,unit,elapsed,path);} +export function resetSoftHint(ctx){painters.get(ctx)?.reset();} + +export function targetBreath(elapsed,reduced=false){const p=softHintTokens.target;return reduced?1:p.breathMin+(p.breathMax-p.breathMin)*(.5-.5*Math.cos(elapsed/p.breathCycleMs*Math.PI*2));} +export function drawSoftTarget(ctx,scene,targetId,elapsed,reduced=false){ + const cell=scene.byId.get(targetId);if(!cell||scene.steps.has(targetId))return; + const p=softHintTokens.target,[x,y]=cell.center;ctx.save();ctx.globalAlpha=targetBreath(elapsed,reduced); + trace(ctx,cell.rings,cell.radius);ctx.shadowColor=p.shadowColor;ctx.shadowBlur=p.blur;ctx.fillStyle=p.faceColor;ctx.fill();ctx.shadowBlur=0; + trace(ctx,cell.rings,cell.radius);ctx.clip(); + const g=ctx.createRadialGradient(x-8,y-12,0,x,y,scene.pitch*p.tintRadiusRatio);if(g?.addColorStop){g.addColorStop(0,p.tintCenterColor);g.addColorStop(1,'rgba(255,235,175,0)');ctx.fillStyle=g;ctx.fillRect(x-scene.pitch,y-scene.pitch,scene.pitch*2,scene.pitch*2);}ctx.restore(); +}