[1,["42HDdwgRFB6Y2WUzfKwsUP","ecpdLyjvZBwrvm+cedCcQy","1e9911b2f","0cdpHAOcZCi7x1uEA89nJt","7a/QZLET9IDreTiBfRn2PD","c2Kb7Cdh1BSLs4kpBE8VKp","8f7lvcgIpAAqcWWxrlaj8m","82tkuLPCpKkJ3p5siUo9k3","3bZGcTby1PzLDPPSCQqAoU"],["_effectAsset","root","node","_spriteFrame","_textureSetter","spine_frame","head","frame","_parent","data","gray_mat","normal_mat"],[["cc.Node",["_name","_active","_parent","_components","_prefab","_contentSize","_trs"],1,1,2,4,5,7],"cc.SpriteFrame",["cc.Node",["_name","_prefab","_contentSize","_children","_components","_color","_parent"],2,4,5,12,9,5,1],["cc.PrefabInfo",["fileId","root","asset"],2,1,1],["cc.Sprite",["_sizeMode","_isTrimmedMode","node","_materials","_spriteFrame"],1,1,3,6],["cc.EffectAsset",["_name","shaders","techniques"],0],["cc.Material",["_name","_techniqueData"],2,11],["cc.Prefab",["_name"],2],["20ebezXc4ZLTKVcnnrE2neE",["node","frame","head","spine_frame","gray_mat","normal_mat"],3,1,1,1,1,6,6],["c5f5eI+iMdLg6M5gCbic4aE",["_sizeMode","node","_materials"],2,1,3],["sp.Skeleton",["premultipliedAlpha","node","_materials"],2,1,3]],[[3,0,1,2,2],[5,0,1,2,4],[6,0,1,2],[7,0,2],[2,0,3,4,1,5,2,2],[2,0,6,1,2,2],[0,0,2,3,4,5,6,2],[0,0,2,3,4,5,2],[0,0,1,2,3,4,3],[3,1,2,1],[8,0,1,2,3,4,5,1],[4,2,3,4,1],[4,0,1,2,3,3],[9,0,1,2,2],[10,0,1,2,2]],[[[[1,"roundHead",[{"hash":234547006,"record":null,"name":"roundHead|vs|fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n  mat4 cc_matView;\n  mat4 cc_matViewInv;\n  mat4 cc_matProj;\n  mat4 cc_matProjInv;\n  mat4 cc_matViewProj;\n  mat4 cc_matViewProjInv;\n  vec4 cc_cameraPos;\n  vec4 cc_time;\n  mediump vec4 cc_screenSize;\n  mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n  mat4 cc_matWorld;\n  mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n  vec4 pos = vec4(a_position, 1);\n  #if CC_USE_MODEL\n  pos = cc_matViewProj * cc_matWorld * pos;\n  #else\n  pos = cc_matViewProj * pos;\n  #endif\n  #if USE_TEXTURE\n  v_uv0 = a_uv0;\n  #endif\n  v_color = a_color;\n  gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n  uniform ALPHA_TEST {\n    float alphaThreshold;\n  };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n  #if USE_ALPHA_TEST\n      if (color.a < alphaThreshold) discard;\n  #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n  #if USE_ALPHA_TEST\n      if (alpha < alphaThreshold) discard;\n  #endif\n}\nin vec4 v_color;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nuniform Info{\n  vec4 u_edgeColor;\n  vec4 u_lrbt;\n  float u_softness;\n  float u_radius;\n};\nfloat Remap01(float a, float b, float t) {\n  return (t-a) / (b-a);\n}\nvoid main () {\n vec4 color = v_color;\n #if USE_TEXTURE\n      color *= texture(texture, v_uv0);\n  #endif\n      vec2 uv = vec2(\n        Remap01(u_lrbt[0],u_lrbt[1],v_uv0.x),\n        Remap01(u_lrbt[2],u_lrbt[3],v_uv0.y)\n      );\n      vec2 center = vec2(0.5);\n      float dist = distance(uv, center);\n      if(dist>u_radius)\n      {\n        discard;\n      }else if(dist>u_radius-u_softness)\n      {\n          float alpha = (dist - (u_radius - u_softness)) / u_softness;\n          alpha = clamp(alpha, 0.0, 1.0);\n          color = mix(color, u_edgeColor, alpha);\n      }\n      ALPHA_TEST(color);\n      gl_FragColor = color;\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n  vec4 pos = vec4(a_position, 1);\n  #if CC_USE_MODEL\n  pos = cc_matViewProj * cc_matWorld * pos;\n  #else\n  pos = cc_matViewProj * pos;\n  #endif\n  #if USE_TEXTURE\n  v_uv0 = a_uv0;\n  #endif\n  v_color = a_color;\n  gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n  uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n  #if USE_ALPHA_TEST\n      if (color.a < alphaThreshold) discard;\n  #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n  #if USE_ALPHA_TEST\n      if (alpha < alphaThreshold) discard;\n  #endif\n}\nvarying vec4 v_color;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nuniform vec4 u_edgeColor;\nuniform vec4 u_lrbt;\nuniform float u_softness;\nuniform float u_radius;\nfloat Remap01(float a, float b, float t) {\n  return (t-a) / (b-a);\n}\nvoid main () {\n vec4 color = v_color;\n #if USE_TEXTURE\n      color *= texture2D(texture, v_uv0);\n  #endif\n      vec2 uv = vec2(\n        Remap01(u_lrbt[0],u_lrbt[1],v_uv0.x),\n        Remap01(u_lrbt[2],u_lrbt[3],v_uv0.y)\n      );\n      vec2 center = vec2(0.5);\n      float dist = distance(uv, center);\n      if(dist>u_radius)\n      {\n        discard;\n      }else if(dist>u_radius-u_softness)\n      {\n          float alpha = (dist - (u_radius - u_softness)) / u_softness;\n          alpha = clamp(alpha, 0.0, 1.0);\n          color = mix(color, u_edgeColor, alpha);\n      }\n      ALPHA_TEST(color);\n      gl_FragColor = color;\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]}],"blocks":[{"name":"ALPHA_TEST","binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]},{"name":"Info","binding":1,"members":[{"name":"u_edgeColor","type":16,"count":1},{"name":"u_lrbt","type":16,"count":1},{"name":"u_softness","type":13,"count":1},{"name":"u_radius","type":13,"count":1}],"defines":[]}],"samplers":[{"name":"texture","type":29,"count":1,"binding":30,"defines":["USE_TEXTURE"]}]}],[{"passes":[{"program":"roundHead|vs|fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"alphaThreshold":{"type":13,"value":[0.5]},"u_radius":{"type":13,"value":[0.5]},"u_softness":{"type":13,"value":[0.1]},"u_edgeColor":{"type":16,"value":[0,0,0,0]},"u_lrbt":{"type":16,"value":[0,1,0,1]}}}]}]]],0,0,[],[],[]],[[[1,"roundHeadGray",[{"hash":2318208761,"record":null,"name":"roundHeadGray|vs|fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n  mat4 cc_matView;\n  mat4 cc_matViewInv;\n  mat4 cc_matProj;\n  mat4 cc_matProjInv;\n  mat4 cc_matViewProj;\n  mat4 cc_matViewProjInv;\n  vec4 cc_cameraPos;\n  vec4 cc_time;\n  mediump vec4 cc_screenSize;\n  mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n  mat4 cc_matWorld;\n  mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n  vec4 pos = vec4(a_position, 1);\n  #if CC_USE_MODEL\n  pos = cc_matViewProj * cc_matWorld * pos;\n  #else\n  pos = cc_matViewProj * pos;\n  #endif\n  #if USE_TEXTURE\n  v_uv0 = a_uv0;\n  #endif\n  v_color = a_color;\n  gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n  uniform ALPHA_TEST {\n    float alphaThreshold;\n  };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n  #if USE_ALPHA_TEST\n      if (color.a < alphaThreshold) discard;\n  #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n  #if USE_ALPHA_TEST\n      if (alpha < alphaThreshold) discard;\n  #endif\n}\nin vec4 v_color;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nuniform Info{\n  vec4 u_edgeColor;\n  vec4 u_lrbt;\n  float u_softness;\n  float u_radius;\n};\nfloat Remap01(float a, float b, float t) {\n  return (t-a) / (b-a);\n}\nvoid main () {\n vec4 color = v_color;\n #if USE_TEXTURE\n      color *= texture(texture, v_uv0);\n  #endif\n      vec2 uv = vec2(\n        Remap01(u_lrbt[0],u_lrbt[1],v_uv0.x),\n        Remap01(u_lrbt[2],u_lrbt[3],v_uv0.y)\n      );\n      vec2 center = vec2(0.5);\n      float dist = distance(uv, center);\n      if(dist>u_radius)\n      {\n        discard;\n      }else if(dist>u_radius-u_softness)\n      {\n          float alpha = (dist - (u_radius - u_softness)) / u_softness;\n          alpha = clamp(alpha, 0.0, 1.0);\n          color = mix(color, u_edgeColor, alpha);\n      }\n      ALPHA_TEST(color);\n      float gray = 0.2126*color.r + 0.7152*color.g + 0.0722*color.b;\n      gl_FragColor = vec4(gray,gray,gray,color.a);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n  vec4 pos = vec4(a_position, 1);\n  #if CC_USE_MODEL\n  pos = cc_matViewProj * cc_matWorld * pos;\n  #else\n  pos = cc_matViewProj * pos;\n  #endif\n  #if USE_TEXTURE\n  v_uv0 = a_uv0;\n  #endif\n  v_color = a_color;\n  gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n  uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n  #if USE_ALPHA_TEST\n      if (color.a < alphaThreshold) discard;\n  #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n  #if USE_ALPHA_TEST\n      if (alpha < alphaThreshold) discard;\n  #endif\n}\nvarying vec4 v_color;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nuniform vec4 u_edgeColor;\nuniform vec4 u_lrbt;\nuniform float u_softness;\nuniform float u_radius;\nfloat Remap01(float a, float b, float t) {\n  return (t-a) / (b-a);\n}\nvoid main () {\n vec4 color = v_color;\n #if USE_TEXTURE\n      color *= texture2D(texture, v_uv0);\n  #endif\n      vec2 uv = vec2(\n        Remap01(u_lrbt[0],u_lrbt[1],v_uv0.x),\n        Remap01(u_lrbt[2],u_lrbt[3],v_uv0.y)\n      );\n      vec2 center = vec2(0.5);\n      float dist = distance(uv, center);\n      if(dist>u_radius)\n      {\n        discard;\n      }else if(dist>u_radius-u_softness)\n      {\n          float alpha = (dist - (u_radius - u_softness)) / u_softness;\n          alpha = clamp(alpha, 0.0, 1.0);\n          color = mix(color, u_edgeColor, alpha);\n      }\n      ALPHA_TEST(color);\n      float gray = 0.2126*color.r + 0.7152*color.g + 0.0722*color.b;\n      gl_FragColor = vec4(gray,gray,gray,color.a);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]}],"blocks":[{"name":"ALPHA_TEST","binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]},{"name":"Info","binding":1,"members":[{"name":"u_edgeColor","type":16,"count":1},{"name":"u_lrbt","type":16,"count":1},{"name":"u_softness","type":13,"count":1},{"name":"u_radius","type":13,"count":1}],"defines":[]}],"samplers":[{"name":"texture","type":29,"count":1,"binding":30,"defines":["USE_TEXTURE"]}]}],[{"passes":[{"program":"roundHeadGray|vs|fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"alphaThreshold":{"type":13,"value":[0.5]},"u_radius":{"type":13,"value":[0.5]},"u_softness":{"type":13,"value":[0.1]},"u_edgeColor":{"type":16,"value":[0,0,0,0]},"u_lrbt":{"type":16,"value":[0,1,0,1]}}}]}]]],0,0,[],[],[]],[[[2,"roundHead",[{},"0",11,[{"defines":{"USE_TEXTURE":true,"USE_ALPHA_TEST":false}},"props",11,[{"u_softness":0.05},"u_edgeColor",8,[2,0,0,0,0],"u_lrbt",8,[2,0,0,0,0]]]]]],0,0,[0],[0],[3]],[[[3,"PlrHead"],[4,"PlrHead",[[-7,-8,-9,[5,"btn",-11,[0,"88hG9iQr1E6aksjp0PQVVG",-10,0],[5,94,94]]],1,1,1,4],[[10,-5,-4,-3,-2,3,4],[11,-6,[5],6]],[9,-1,0],[4,4293322470],[5,80,80]],[6,"head",1,[-12],[0,"348ncaErZNbYfIhiI+TFP9",1,0],[5,94,94],[0,0,0,0,0,0,1,0.9,0.9,1]],[13,0,2,[0]],[7,"frame",1,[-13],[0,"acF2XQnc1DabdRkG91d2Su",1,0],[5,94,94]],[12,2,false,4,[1]],[8,"spine_frame",false,1,[-14],[0,"09IJ/GZi9DYb6iXGV42iHB",1,0]],[14,false,6,[2]]],0,[0,1,1,0,5,7,0,6,3,0,7,5,0,2,1,0,2,1,0,-1,2,0,-2,4,0,-3,6,0,1,1,0,8,1,0,-1,3,0,-1,5,0,-1,7,0,9,1,14],[0,0,0,0,0,0,0,5],[-1,-1,-1,10,11,-1,3,3],[0,1,4,5,0,1,6,7]],[[{"name":"guaji-wanjiatouxiang-kuang-01","rect":[195,839,94,94],"offset":[0,0],"originalSize":[94,94],"capInsets":[0,0,0,0]}],[1],0,[0],[4],[2]],[[{"name":"guaji-wanjiatouxiang-di","rect":[293,851,80,80],"offset":[0,0],"originalSize":[80,80],"capInsets":[0,0,0,0]}],[1],0,[0],[4],[2]],[[[2,"roundHeadGray",[{},"0",11,[{"defines":{"USE_TEXTURE":true,"USE_ALPHA_TEST":false}},"props",11,[{"u_softness":0.05},"u_edgeColor",8,[2,0,0,0,0],"u_lrbt",8,[2,0,0,0,0]]]]]],0,0,[0],[0],[8]]]]